1
0
mirror of https://github.com/sehugg/8bitworkshop.git synced 2024-12-25 00:31:04 +00:00
8bitworkshop/lib/c2t.js
2018-09-25 19:46:24 -04:00

31 lines
330 KiB
JavaScript

var c2t = function(c2t) {
c2t = c2t || {};
var Module=typeof c2t!=="undefined"?c2t:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];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("Module['ENVIRONMENT'] value is not valid. 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){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=(function(title){document.title=title})}else{throw new Error("not compiled for this environment")}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(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 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);else if(returnType==="boolean")ret=Boolean(ret);if(stack!==0){stackRestore(stack)}return ret}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function getMemory(size){if(!staticSealed)return staticAlloc(size);if(!runtimeInitialized)return dynamicAlloc(size);return _malloc(size)}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 UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY<HEAP32[DYNAMICTOP_PTR>>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY<TOTAL_STACK)Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}Module["buffer"]=buffer}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;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)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+92976;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,AQAAAAIAAAABAAAAAgAAAAMAAAADAAAAAwAAAAMAAAABAAAABAAAAAUAAAAEAAAABgAAAAYAAAAGAAAABgAAAAcAAAAIAAAAAQAAAAgAAAAJAAAACQAAAAkAAAAJAAAAAQAAAAoAAAABAAAACgAAAAsAAAALAAAACwAAAAsAAAAGAAAAAgAAAAEAAAACAAAAAwAAAAMAAAADAAAAAwAAAAEAAAAEAAAABQAAAAQAAAAGAAAABgAAAAYAAAAGAAAABwAAAAgAAAABAAAACAAAAAkAAAAJAAAACQAAAAkAAAABAAAACgAAAAEAAAAKAAAACwAAAAsAAAALAAAACwAAAAEAAAACAAAAAQAAAAIAAAADAAAAAwAAAAMAAAADAAAAAQAAAAQAAAAFAAAABAAAAAYAAAAGAAAABgAAAAYAAAAHAAAACAAAAAEAAAAIAAAACQAAAAkAAAAJAAAACQAAAAEAAAAKAAAAAQAAAAoAAAALAAAACwAAAAsAAAALAAAAAQAAAAIAAAABAAAAAgAAAAMAAAADAAAAAwAAAAMAAAABAAAABAAAAAUAAAAEAAAADAAAAAYAAAAGAAAABgAAAAcAAAAIAAAAAQAAAAgAAAAJAAAACQAAAAkAAAAJAAAAAQAAAAoAAAABAAAACgAAAAsAAAALAAAACwAAAAsAAAAEAAAAAgAAAAQAAAACAAAAAwAAAAMAAAADAAAAAwAAAAEAAAAEAAAAAQAAAAQAAAAGAAAABgAAAAYAAAAGAAAABwAAAAgAAAABAAAACAAAAAkAAAAJAAAADQAAAA0AAAABAAAACgAAAAEAAAAKAAAACwAAAAsAAAAKAAAACgAAAAQAAAACAAAABAAAAAIAAAADAAAAAwAAAAMAAAADAAAAAQAAAAQAAAABAAAABAAAAAYAAAAGAAAABgAAAAYAAAAHAAAACAAAAAEAAAAIAAAACQAAAAkAAAANAAAADQAAAAEAAAAKAAAAAQAAAAoAAAALAAAACwAAAAoAAAAKAAAABAAAAAIAAAAEAAAAAgAAAAMAAAADAAAAAwAAAAMAAAABAAAABAAAAAEAAAAEAAAABgAAAAYAAAAGAAAABgAAAAcAAAAIAAAAAQAAAAgAAAAJAAAACQAAAAkAAAAJAAAAAQAAAAoAAAABAAAACgAAAAsAAAALAAAACwAAAAsAAAAEAAAAAgAAAAQAAAACAAAAAwAAAAMAAAADAAAAAwAAAAEAAAAEAAAAAQAAAAQAAAAGAAAABgAAAAYAAAAGAAAABwAAAAgAAAABAAAACAAAAAkAAAAJAAAACQAAAAkAAAABAAAACgAAAAEAAAAKAAAACwAAAAsAAAALAAAACwAAAA4AAAAPAAAAEAAAABAAAAAQAAAADwAAABEAAAAQAAAAEgAAAA8AAAARAAAAEAAAABAAAAAPAAAAEQAAABAAAAATAAAADwAAABAAAAAQAAAAEAAAAA8AAAARAAAAEAAAABQAAAAPAAAAEAAAABAAAAAQAAAADwAAABEAAAAQAAAAFQAAABYAAAAQAAAAEAAAABcAAAAWAAAAGAAAABAAAAAZAAAAFgAAABgAAAAQAAAAFwAAABYAAAAYAAAAEAAAABoAAAAWAAAAEAAAABAAAAAQAAAAFgAAABgAAAAQAAAAGwAAABYAAAAQAAAAEAAAABAAAAAWAAAAGAAAABAAAAAcAAAAHQAAABAAAAAQAAAAEAAAAB0AAAAeAAAAEAAAAB8AAAAdAAAAHgAAABAAAAAgAAAAHQAAAB4AAAAQAAAAIQAAAB0AAAAQAAAAEAAAABAAAAAdAAAAHgAAABAAAAAiAAAAHQAAABAAAAAQAAAAEAAAAB0AAAAeAAAAEAAAACMAAAAkAAAAEAAAABAAAAAQAAAAJAAAACUAAAAQAAAAJgAAACQAAAAlAAAAEAAAACAAAAAkAAAAJQAAABAAAAAnAAAAJAAAABAAAAAQAAAAEAAAACQAAAAlAAAAEAAAACgAAAAkAAAAEAAAABAAAAAQAAAAJAAAACUAAAAQAAAAEAAAACkAAAAQAAAAEAAAACoAAAApAAAAKwAAABAAAAAsAAAAEAAAAC0AAAAQAAAAKgAAACkAAAArAAAAEAAAAC4AAAApAAAAEAAAABAAAAAqAAAAKQAAACsAAAAQAAAALwAAACkAAAAwAAAAEAAAABAAAAApAAAAEAAAABAAAAAxAAAAMgAAADMAAAAQAAAAMQAAADIAAAAzAAAAEAAAADQAAAAyAAAANQAAABAAAAAxAAAAMgAAADMAAAAQAAAANgAAADIAAAAQAAAAEAAAADEAAAAyAAAAMwAAABAAAAA3AAAAMgAAADgAAAAQAAAAMQAAADIAAAAzAAAAEAAAADkAAAA6AAAAEAAAABAAAAA5AAAAOgAAADsAAAAQAAAAPAAAADoAAAA9AAAAEAAAADkAAAA6AAAAOwAAABAAAAA+AAAAOgAAABAAAAAQAAAAEAAAADoAAAA7AAAAEAAAAD8AAAA6AAAAEAAAABAAAAAQAAAAOgAAADsAAAAQAAAAQAAAAEEAAAAQAAAAEAAAAEAAAABBAAAAQgAAABAAAABDAAAAQQAAABAAAABBAAAAQAAAAEEAAABCAAAAEAAAAEQAAABBAAAAEAAAABAAAAAQAAAAQQAAAEIAAAAQAAAARQAAAEEAAAAQAAAAEAAAABAAAABBAAAAQgAAABAAAAAHAAAABgAAAAIAAAAIAAAAAwAAAAMAAAAFAAAABQAAAAMAAAACAAAAAgAAAAIAAAAEAAAABAAAAAYAAAAGAAAAAgAAAAUAAAACAAAACAAAAAQAAAAEAAAABgAAAAYAAAACAAAABAAAAAIAAAAHAAAABAAAAAQAAAAHAAAABwAAAAYAAAAGAAAAAgAAAAgAAAADAAAAAwAAAAUAAAAFAAAABAAAAAIAAAACAAAAAgAAAAQAAAAEAAAABgAAAAYAAAACAAAABQAAAAIAAAAIAAAABAAAAAQAAAAGAAAABgAAAAIAAAAEAAAAAgAAAAcAAAAEAAAABAAAAAcAAAAHAAAABgAAAAYAAAACAAAACAAAAAMAAAADAAAABQAAAAUAAAADAAAAAgAAAAIAAAACAAAAAwAAAAQAAAAGAAAABgAAAAIAAAAFAAAAAgAAAAgAAAAEAAAABAAAAAYAAAAGAAAAAgAAAAQAAAACAAAABwAAAAQAAAAEAAAABwAAAAcAAAAGAAAABgAAAAIAAAAIAAAAAwAAAAMAAAAFAAAABQAAAAQAAAACAAAAAgAAAAIAAAAFAAAABAAAAAYAAAAGAAAAAgAAAAUAAAACAAAACAAAAAQAAAAEAAAABgAAAAYAAAACAAAABAAAAAIAAAAHAAAABAAAAAQAAAAHAAAABwAAAAIAAAAGAAAAAgAAAAYAAAADAAAAAwAAAAMAAAADAAAAAgAAAAIAAAACAAAAAgAAAAQAAAAEAAAABAAAAAQAAAACAAAABgAAAAIAAAAGAAAABAAAAAQAAAAEAAAABAAAAAIAAAAFAAAAAgAAAAUAAAAFAAAABQAAAAUAAAAFAAAAAgAAAAYAAAACAAAA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JDAwIHRvIGVuZCBvbiBwYWdlIGJvdW5kYXJ5CiAgICAgICAgLWYgdXNlIGZhc3RlciA0OGsvOGJpdCAoOTYwMCBicHMpIHRyYW5zZmVyIChBcHBsZSBJSS9JSSsvSUllIDY0SyBvbmx5KQogICAgICAgICAgIEltcGxpZXMgLTJhLiAgTmVnYXRlcyAtOCBhbmQgLWQuICBVbnJlbGlhYmxlIG9uIHNvbWUgc3lzdGVtcy4KICAgICAgICAtaHw/IHRoaXMgaGVscAogICAgICAgIC1sIGxvbmcgbW9uaXRvciBmb3JtYXQgKDI0IGJ5dGVzL2xpbmUpCiAgICAgICAgLW0ganVtcCB0byBtb25pdG9yIGFmdGVyIGF1dG9sb2FkCiAgICAgICAgLW4gZG8gbm90IGZvcm1hdCBkaXNrcwogICAgICAgIC1wIHBpcGUgdG8gc3Rkb3V0CiAgICAgICAgLXEgcGFyYW1ldGVycyBhbmQgZGF0YSBvbmx5IChmb3IgdXNlIHdpdGggY3VzdG9tIGNsaWVudCkKICAgICAgICAtciAjLCB3aGVyZSAjIG92ZXJyaWRlcyB0aGUgc2FtcGxlIHJhdGUgKGUuZy4gLXIgNDgwMDApCiAgICAgICAgICAgTmVnYXRlcyAtYSwgLWIsIC04LCAtcSwgLWYsIGFuZCAtZAogICAgICAgIC10IDEwIHNlY29uZCBwcmVhbWJsZSAoZGVmYXVsdCA0KSBmb3IgcmVhbCB0YXBlIHVzZQogICAgICAgIC12IHByaW50IHZlcnNpb24gbnVtYmVyIGFuZCBleGl0CgppbnB1dChzKSB3aXRob3V0IGEgLm1vbiBvciAuZHNrIGV4dGVuc2lvbiBpcyBhc3N1bWVkIHRvIGJlIGEgYmluYXJ5IHdpdGggYSA0CmJ5dGUgaGVhZGVyLiAgSWYgdGhlIGhlYWRlciBpcyBtaXNzaW5nIHRoZW4geW91IG11c3QgYXBwZW5kICxsb2FkX2FkZHJlc3MgdG8KZWFjaCBiaW5hcnkgaW5wdXQgbWlzc2luZyBhIGhlYWRlciwgZS5nLiBmaWxlbmFtZSw4MDAuICBUaGUgbG9hZCBhZGRyZXNzCndpbGwgYmUgcmVhZCBhcyBoZXguCgppbnB1dChzKSB3aXRoIGEgLm1vbiBleHRl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AAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAwMTIzNDU2Nzg5QUJDREVGLgBUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAOiB1bnJlY29nbml6ZWQgb3B0aW9uOiAAOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQ6IAByd2EAaW5maW5pdHkAbmFu";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"])}function ___lock(){}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 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"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}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 isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}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.length: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)}if(!req){return callback("Unable to connect to IndexedDB")}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);try{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()})}catch(e){return callback(e)}}))}),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,{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/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={"1024":flags["O_APPEND"],"64":flags["O_CREAT"],"128":flags["O_EXCL"],"0":flags["O_RDONLY"],"2":flags["O_RDWR"],"4096":flags["O_SYNC"],"512":flags["O_TRUNC"],"1":flags["O_WRONLY"]}}),bufferFrom:(function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)}),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&292)>>2}}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)}),flagsForNode:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}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.flagsForNode(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;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),write:(function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),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,parts[i],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){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),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:{},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)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=ERRNO_CODES.EEXIST)throw e}}}),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){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(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}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)}stream.fd=null}),isClosed:(function(stream){return stream.fd===null}),llseek:(function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}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(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}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=typeof position!=="undefined";if(!seeking){position=stream.position}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(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}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=typeof position!=="undefined";if(!seeking){position=stream.position}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(FS.isClosed(stream)){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}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(stream.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";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}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];if(this.stack)Object.defineProperty(this,"stack",{value:(new Error).stack,writable:true})};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);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),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 ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___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}}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 ___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 ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{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)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21524:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}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 ___unlock(){}function ___wait(){}function _abort(){Module["abort"]()}var _llvm_ceil_f64=Math_ceil;var _llvm_floor_f64=Math_floor;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}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()}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output});function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_ii":invoke_ii,"invoke_iiii":invoke_iiii,"invoke_v":invoke_v,"___assert_fail":___assert_fail,"___lock":___lock,"___setErrNo":___setErrNo,"___syscall140":___syscall140,"___syscall145":___syscall145,"___syscall146":___syscall146,"___syscall221":___syscall221,"___syscall5":___syscall5,"___syscall54":___syscall54,"___syscall6":___syscall6,"___unlock":___unlock,"___wait":___wait,"_abort":_abort,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_llvm_ceil_f64":_llvm_ceil_f64,"_llvm_floor_f64":_llvm_floor_f64,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX};// EMSCRIPTEN_START_ASM
var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) {
"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=0;var x=0;var y=0;var z=0;var A=global.NaN,B=global.Infinity;var C=0,D=0,E=0,F=0,G=0.0;var H=0;var I=global.Math.floor;var J=global.Math.abs;var K=global.Math.sqrt;var L=global.Math.pow;var M=global.Math.cos;var N=global.Math.sin;var O=global.Math.tan;var P=global.Math.acos;var Q=global.Math.asin;var R=global.Math.atan;var S=global.Math.atan2;var T=global.Math.exp;var U=global.Math.log;var V=global.Math.ceil;var W=global.Math.imul;var X=global.Math.min;var Y=global.Math.max;var Z=global.Math.clz32;var _=env.abort;var $=env.assert;var aa=env.enlargeMemory;var ba=env.getTotalMemory;var ca=env.abortOnCannotGrowMemory;var da=env.invoke_ii;var ea=env.invoke_iiii;var fa=env.invoke_v;var ga=env.___assert_fail;var ha=env.___lock;var ia=env.___setErrNo;var ja=env.___syscall140;var ka=env.___syscall145;var la=env.___syscall146;var ma=env.___syscall221;var na=env.___syscall5;var oa=env.___syscall54;var pa=env.___syscall6;var qa=env.___unlock;var ra=env.___wait;var sa=env._abort;var ta=env._emscripten_memcpy_big;var ua=env._llvm_ceil_f64;var va=env._llvm_floor_f64;var wa=0.0;function xa(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true}
// EMSCRIPTEN_START_FUNCS
function Ba(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Ca(){return u|0}function Da(a){a=a|0;u=a}function Ea(a,b){a=a|0;b=b|0;u=a;v=b}function Fa(a,b){a=a|0;b=b|0;if(!w){w=a;x=b}}function Ga(a){a=a|0;H=a}function Ha(){return H|0}function Ia(a,c,e,g,i,j){a=a|0;c=c|0;e=e|0;g=g|0;i=i|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,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0;if(!a){if(e|0)f[e>>2]=0;if(!i){k=-2;return k|0}f[i>>2]=0;k=-2;return k|0}l=a+112|0;f[l>>2]=c;m=a+120|0;f[m>>2]=e;n=a+116|0;f[n>>2]=g;o=a+124|0;f[o>>2]=i;p=a+132|0;f[p>>2]=c;q=(e|0)!=0;r=c;if(q)s=f[e>>2]|0;else s=0;t=a+136|0;f[t>>2]=s;u=a+140|0;f[u>>2]=0;f[a+128>>2]=j;v=(g|0)!=0;w=(i|0)!=0;do if(((v|w)^(f[a>>2]|0)!=0?(x=a+108|0,(f[x>>2]|0)==0):0)?(y=a+104|0,z=f[y>>2]|0,!((j|0)!=4&(z|0)!=0)):0){if(q?!((c|0)!=0|(f[e>>2]|0)==0):0){A=16;break}if(w?!(v|(f[i>>2]|0)==0):0){A=15;break}B=(j|0)==4&1;f[y>>2]=z|B;z=a+92|0;if((f[z>>2]|0)==0?(y=a+96|0,(f[y>>2]|0)==0):0){C=(j|0)==0;D=a+32|0;E=a+36|0;F=a+28|0;G=a+80|0;H=a+8|0;I=a+60|0;J=a+40|0;K=a+44|0;L=a+56|0;M=a+20|0;N=a+103018|0;O=a+84|0;P=a+76|0;Q=a+37490|0;R=c;S=s;a:while(1){T=(S|0)==0;if(T){if(C){U=0;V=R;A=111;break}W=f[D>>2]|0;if(!W){U=0;V=R;A=111;break}else X=W}else X=f[D>>2]|0;W=f[E>>2]|0;b:do if((W+X|0)>>>0>1){Y=(f[F>>2]|0)+X|0;Z=Y+-2|0;_=b[(Z&32767)+(a+144)>>0]|0;$=b[(Y+32767&32767)+(a+144)>>0]|0;aa=258-X|0;ba=S>>>0<aa>>>0?S:aa;aa=R+ba|0;ca=S-ba|0;da=ba+X|0;f[D>>2]=da;if(!ba){ea=ca;fa=R;ha=da;A=49}else{ba=Y;Y=Z;Z=(_&255)<<5^$&255;$=R;while(1){_=ba&32767;ia=b[$>>0]|0;$=$+1|0;b[a+144+_>>0]=ia;if(_>>>0<257)b[(_|32768)+(a+144)>>0]=ia;Z=Z<<5&32736^ia&255;ia=a+168562+(Z<<1)|0;d[a+103026+((Y&32767)<<1)>>1]=d[ia>>1]|0;d[ia>>1]=Y;if(($|0)==(aa|0)){ea=ca;fa=aa;ha=da;A=49;break}else{ba=_+1|0;Y=Y+1|0}}}}else if(T){ea=0;fa=R;ha=X;A=49}else{Y=S;ba=R;da=X;while(1){if(da>>>0>=258)break;aa=ba+1|0;ca=b[ba>>0]|0;$=(f[F>>2]|0)+da|0;Z=$&32767;_=Y+-1|0;b[a+144+Z>>0]=ca;if(Z>>>0<257)b[(Z|32768)+(a+144)>>0]=ca;Z=da+1|0;f[D>>2]=Z;if((Z+W|0)>>>0>2){ia=$+-2|0;ja=ia&32767;ka=a+168562+((h[($+32767&32767)+(a+144)>>0]<<5^ca&255^h[a+144+ja>>0]<<10&31744)<<1)|0;d[a+103026+(ja<<1)>>1]=d[ka>>1]|0;d[ka>>1]=ia}if(!_){ea=0;fa=aa;ha=Z;A=49;break b}else{Y=_;ba=aa;da=Z}}Z=32768-da|0;aa=Z>>>0<W>>>0?Z:W;f[E>>2]=aa;la=Y;ma=aa;na=ba;oa=da}while(0);if((A|0)==49){A=0;T=32768-ha|0;aa=T>>>0<W>>>0?T:W;f[E>>2]=aa;if(C&ha>>>0<258){U=ea;V=fa;A=111;break}else{la=ea;ma=aa;na=fa;oa=ha}}aa=f[G>>2]|0;T=(aa|0)==0;Z=T?2:aa;_=f[F>>2]|0;ia=_&32767;ka=f[H>>2]|0;c:do if(!(ka&589824)){ja=a+144+ia|0;ca=Z+ia|0;$=b[a+144+ca>>0]|0;pa=b[ca+-1+(a+144)>>0]|0;if(oa>>>0>=259){A=58;break a}if(Z>>>0<oa>>>0?(ca=(f[a+12+((Z>>>0>31&1)<<2)>>2]|0)+-1|0,(ca|0)!=0):0){qa=$;$=ia;ra=Z;sa=pa;pa=Z;ta=0;ua=ca;while(1){ca=$;va=ua;while(1){wa=d[a+103026+(ca<<1)>>1]|0;xa=wa&65535;if(!(wa<<16>>16)){ya=pa;za=ta;break c}wa=_-xa&65535;if(wa>>>0>ma>>>0){ya=pa;za=ta;break c}Aa=xa&32767;xa=Aa+ra|0;if((b[a+144+xa>>0]|0)==qa<<24>>24?(b[xa+-1+(a+144)>>0]|0)==sa<<24>>24:0){Ba=wa;Ca=Aa;break}wa=d[a+103026+(Aa<<1)>>1]|0;Aa=wa&65535;if(!(wa<<16>>16)){ya=pa;za=ta;break c}wa=_-Aa&65535;if(wa>>>0>ma>>>0){ya=pa;za=ta;break c}xa=Aa&32767;Aa=xa+ra|0;if((b[a+144+Aa>>0]|0)==qa<<24>>24?(b[Aa+-1+(a+144)>>0]|0)==sa<<24>>24:0){Ba=wa;Ca=xa;break}wa=d[a+103026+(xa<<1)>>1]|0;xa=wa&65535;if(!(wa<<16>>16)){ya=pa;za=ta;break c}wa=_-xa&65535;if(wa>>>0>ma>>>0){ya=pa;za=ta;break c}ca=xa&32767;xa=ca+ra|0;if((b[a+144+xa>>0]|0)==qa<<24>>24?(b[xa+-1+(a+144)>>0]|0)==sa<<24>>24:0){Ba=wa;Ca=ca;break}wa=va+-1|0;if(!wa){ya=pa;za=ta;break c}else va=wa}if(!Ba){ya=pa;za=ta;break c}ca=a+144+Ca|0;wa=ja;xa=0;while(1){if((b[wa>>0]|0)!=(b[ca>>0]|0)){Da=xa;break}Aa=xa+1|0;if(Aa>>>0<oa>>>0){ca=ca+1|0;wa=wa+1|0;xa=Aa}else{Da=Aa;break}}if(Da>>>0>ra>>>0){if((Da|0)==(oa|0)){ya=oa;za=Ba;break c}xa=Da+ia|0;Ea=b[xa+-1+(a+144)>>0]|0;Fa=b[a+144+xa>>0]|0;Ga=Da;Ha=Da;Ia=Ba}else{Ea=sa;Fa=qa;Ga=ra;Ha=pa;Ia=ta}ua=va+-1|0;if(!ua){ya=Ha;za=Ia;break}else{qa=Fa;$=Ca;ra=Ga;sa=Ea;pa=Ha;ta=Ia}}}else{ya=Z;za=0}}else if((ma|0)!=0&(ka&524288|0)==0){ta=b[(_+32767&32767)+(a+144)>>0]|0;d:do if(!oa)Ka=0;else{pa=0;while(1){if((b[pa+ia+(a+144)>>0]|0)!=ta<<24>>24){Ka=pa;break d}sa=pa+1|0;if(sa>>>0<oa>>>0)pa=sa;else{Ka=sa;break}}}while(0);ta=Ka>>>0<3;ya=ta?0:Ka;za=(ta^1)&1}else{ya=Z;za=0}while(0);if(!((ia|0)==(za|0)|za>>>0>8191&(ya|0)==3)?!((ka&131072|0)!=0&ya>>>0<6):0){La=ya;Ma=za}else{La=0;Ma=0}e:do if(!T){if(La>>>0<=aa>>>0){Qa(a,aa,f[P>>2]|0);Z=(f[G>>2]|0)+-1|0;f[G>>2]=0;Na=Z;break}Z=f[O>>2]|0;f[I>>2]=(f[I>>2]|0)+1;_=f[J>>2]|0;f[J>>2]=_+1;b[_>>0]=Z;_=f[K>>2]|0;b[_>>0]=(h[_>>0]|0)>>>1;_=(f[L>>2]|0)+-1|0;f[L>>2]=_;if(!_){f[L>>2]=8;_=f[J>>2]|0;f[J>>2]=_+1;f[K>>2]=_}_=a+33170+((Z&255)<<1)|0;d[_>>1]=(d[_>>1]|0)+1<<16>>16;if(La>>>0>127){Qa(a,La,Ma);f[G>>2]=0;Na=La;break}else{f[O>>2]=h[a+144+ia>>0];f[P>>2]=Ma;f[G>>2]=La;Na=1;break}}else{if(!Ma){_=b[a+144+ia>>0]|0;f[I>>2]=(f[I>>2]|0)+1;Z=f[J>>2]|0;f[J>>2]=Z+1;b[Z>>0]=_;Z=f[K>>2]|0;b[Z>>0]=(h[Z>>0]|0)>>>1;Z=(f[L>>2]|0)+-1|0;f[L>>2]=Z;if(!Z){f[L>>2]=8;Z=f[J>>2]|0;f[J>>2]=Z+1;f[K>>2]=Z}Z=a+33170+((_&255)<<1)|0;d[Z>>1]=(d[Z>>1]|0)+1<<16>>16;Na=1;break}do if(!(f[M>>2]|0)){if((ka&65536|0)!=0|La>>>0>127)break;f[O>>2]=h[a+144+ia>>0];f[P>>2]=Ma;f[G>>2]=La;Na=1;break e}while(0);Qa(a,La,Ma);Na=La}while(0);f[F>>2]=(f[F>>2]|0)+Na;ia=f[D>>2]|0;if(ia>>>0<Na>>>0){A=104;break}f[D>>2]=ia-Na;ia=(f[E>>2]|0)+Na|0;f[E>>2]=ia>>>0<32768?ia:32768;ia=f[J>>2]|0;do if(ia>>>0<=N>>>0){ka=f[I>>2]|0;if(ka>>>0<=31744)break;if(((ia-Q|0)*115|0)>>>7>>>0>=ka>>>0){A=109;break}if(f[H>>2]&524288|0)A=109}else A=109;while(0);if((A|0)==109?(A=0,f[p>>2]=na,f[t>>2]=la,Oa=Ja(a,0)|0,Oa|0):0){A=112;break}R=na;S=la}if((A|0)==58)ga(20990,4572,2219,21027);else if((A|0)==104)ga(20933,4572,2511,20968);else if((A|0)==111){f[p>>2]=V;f[t>>2]=U}else if((A|0)==112?(Oa|0)<0:0){k=f[x>>2]|0;return k|0}if((c|0)!=0&(f[H>>2]&12288|0)!=0){S=a+24|0;R=f[S>>2]|0;Q=(f[p>>2]|0)-r|0;I=R>>>16;N=R&65535;if(!Q){Pa=I;Ra=N}else{R=I;I=N;N=Q;J=c;F=(Q>>>0)%5552|0;while(1){if(F>>>0>7){Q=F+-8&-8;G=0;P=I;O=J;M=R;while(1){K=P+(h[O>>0]|0)|0;L=K+(h[O+1>>0]|0)|0;ia=L+(h[O+2>>0]|0)|0;ka=ia+(h[O+3>>0]|0)|0;aa=ka+(h[O+4>>0]|0)|0;T=aa+(h[O+5>>0]|0)|0;Z=T+(h[O+6>>0]|0)|0;P=Z+(h[O+7>>0]|0)|0;M=K+M+L+ia+ka+aa+T+Z+P|0;G=G+8|0;if((G|7)>>>0>=F>>>0)break;else O=O+8|0}Sa=Q+8|0;Ta=M;Ua=P;Va=J+8+Q|0}else{Sa=0;Ta=R;Ua=I;Va=J}if(F>>>0>Sa>>>0){O=Sa;G=Ua;Z=Va;T=Ta;while(1){G=G+(h[Z>>0]|0)|0;T=G+T|0;O=O+1|0;if((O|0)==(F|0))break;else Z=Z+1|0}Wa=T;Xa=G;Ya=Va+(F-Sa)|0}else{Wa=Ta;Xa=Ua;Ya=Va}Z=(Xa>>>0)%65521|0;O=(Wa>>>0)%65521|0;N=N-F|0;if(!N){Pa=O;Ra=Z;break}else{R=O;I=Z;J=Ya;F=5552}}}f[S>>2]=Pa<<16|Ra}do if(((!C?(f[D>>2]|0)==0:0)?(f[t>>2]|0)==0:0)?(f[z>>2]|0)==0:0)if((Ja(a,j)|0)<0){k=f[x>>2]|0;return k|0}else{f[y>>2]=B;if((j|0)!=3)break;f[E>>2]=0;ve(a+103026|0,0,131072)|0;break}while(0);E=f[m>>2]|0;if(E|0)f[E>>2]=(f[p>>2]|0)-(f[l>>2]|0);E=f[o>>2]|0;if(E|0){B=f[u>>2]|0;D=(f[E>>2]|0)-B|0;E=f[z>>2]|0;C=D>>>0<E>>>0?D:E;E=a+88|0;ue((f[n>>2]|0)+B|0,(f[E>>2]|0)+(a+234098)|0,C|0)|0;f[E>>2]=(f[E>>2]|0)+C;f[z>>2]=(f[z>>2]|0)-C;E=(f[u>>2]|0)+C|0;f[u>>2]=E;f[f[o>>2]>>2]=E}if(!(f[y>>2]|0))Za=0;else Za=(f[z>>2]|0)==0&1;f[x>>2]=Za;k=Za;return k|0}if(e|0)f[e>>2]=0;if(i|0){E=f[u>>2]|0;C=(f[i>>2]|0)-E|0;B=f[z>>2]|0;D=C>>>0<B>>>0?C:B;B=a+88|0;ue(g+E|0,(f[B>>2]|0)+(a+234098)|0,D|0)|0;f[B>>2]=(f[B>>2]|0)+D;f[z>>2]=(f[z>>2]|0)-D;B=(f[u>>2]|0)+D|0;f[u>>2]=B;f[f[o>>2]>>2]=B}if(!(f[a+96>>2]|0))_a=0;else _a=(f[z>>2]|0)==0&1;f[x>>2]=_a;k=_a;return k|0}else A=15;while(0);if((A|0)==15?q:0)A=16;if((A|0)==16)f[e>>2]=0;if(w)f[i>>2]=0;f[a+108>>2]=-2;k=-2;return k|0}function Ja(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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,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,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;d=a+8|0;if(!(f[d>>2]&524288))e=0;else e=((f[a+28>>2]|0)-(f[a+64>>2]|0)|0)>>>0<=(f[a+36>>2]|0)>>>0;if((f[a>>2]|0)==0?(g=f[a+140>>2]|0,((f[f[a+124>>2]>>2]|0)-g|0)>>>0>85195):0)i=(f[a+116>>2]|0)+g|0;else i=a+234098|0;g=a+48|0;f[g>>2]=i;j=a+52|0;f[j>>2]=i+85180;k=a+92|0;if(f[k>>2]|0)ga(21797,4572,2086,21826);l=a+88|0;f[l>>2]=0;f[k>>2]=0;m=a+44|0;n=f[m>>2]|0;o=a+56|0;b[n>>0]=(h[n>>0]|0)>>>(f[o>>2]|0);n=a+40|0;f[n>>2]=(f[n>>2]|0)+(((f[o>>2]|0)==8)<<31>>31);do if(f[d>>2]&4096|0?(f[a+100>>2]|0)==0:0){p=a+68|0;q=f[p>>2]|0;r=a+72|0;s=f[r>>2]|120<<q;f[r>>2]=s;t=q+8|0;f[p>>2]=t;if(q>>>0>=4294967288){u=s|1<<t;f[r>>2]=u;v=q+16|0;f[p>>2]=v;if(t>>>0<4294967288){w=v;x=u}else break}else{u=t;t=s;do{s=f[g>>2]|0;if(s>>>0<(f[j>>2]|0)>>>0){f[g>>2]=s+1;b[s>>0]=t;y=f[r>>2]|0;z=f[p>>2]|0}else{y=t;z=u}t=y>>>8;f[r>>2]=t;u=z+-8|0;f[p>>2]=u}while(u>>>0>7);s=t|1<<u;f[r>>2]=s;f[p>>2]=z;w=z;x=s}s=w;v=x;do{q=f[g>>2]|0;if(q>>>0<(f[j>>2]|0)>>>0){f[g>>2]=q+1;b[q>>0]=v;A=f[r>>2]|0;B=f[p>>2]|0}else{A=v;B=s}v=A>>>8;f[r>>2]=v;s=B+-8|0;f[p>>2]=s}while(s>>>0>7)}while(0);B=(c|0)==4;A=a+68|0;x=f[A>>2]|0;w=a+72|0;z=f[w>>2]|(B&1)<<x;f[w>>2]=z;y=x+1|0;f[A>>2]=y;x=f[g>>2]|0;if(y>>>0>7){s=x;p=z;v=y;while(1){if(s>>>0<(f[j>>2]|0)>>>0){f[g>>2]=s+1;b[s>>0]=p;C=f[w>>2]|0;D=f[A>>2]|0;E=f[g>>2]|0}else{C=p;D=v;E=s}r=C>>>8;f[w>>2]=r;u=D+-8|0;f[A>>2]=u;if(u>>>0>7){s=E;p=r;v=u}else{F=E;G=r;H=u;break}}}else{F=x;G=z;H=y}if(!e){e=a+60|0;if(!(f[d>>2]&262144))I=(f[e>>2]|0)>>>0<48;else I=1;y=Ra(a,I&1)|0;I=f[e>>2]|0;if((I|0)!=0?(1-F+(f[g>>2]|0)|0)>>>0>=I>>>0:0){J=y;K=32}else{L=y;K=59}}else{J=0;K=32}if((K|0)==32){y=a+64|0;if(((f[a+28>>2]|0)-(f[y>>2]|0)|0)>>>0<=(f[a+36>>2]|0)>>>0){f[g>>2]=F;f[w>>2]=G;I=H+2|0;f[A>>2]=I;if(I>>>0>7){e=F;z=G;x=I;while(1){if(e>>>0<(f[j>>2]|0)>>>0){f[g>>2]=e+1;b[e>>0]=z;M=f[w>>2]|0;N=f[A>>2]|0}else{M=z;N=x}O=M>>>8;f[w>>2]=O;P=N+-8|0;f[A>>2]=P;if(P>>>0<=7)break;e=f[g>>2]|0;z=O;x=P}if(!P){Q=0;R=O}else{S=O;K=40}}else{S=G;K=40}if((K|0)==40){f[A>>2]=8;O=S;S=8;while(1){P=f[g>>2]|0;if(P>>>0<(f[j>>2]|0)>>>0){f[g>>2]=P+1;b[P>>0]=O;T=f[w>>2]|0;U=f[A>>2]|0}else{T=O;U=S}P=T>>>8;f[w>>2]=P;x=U+-8|0;f[A>>2]=x;if(x>>>0>7){O=P;S=x}else{Q=x;R=P;break}}}S=a+60|0;O=f[S>>2]|0;U=R|(O&65535)<<Q;f[w>>2]=U;R=Q+16|0;f[A>>2]=R;if(R>>>0>7){Q=U;T=R;do{P=f[g>>2]|0;if(P>>>0<(f[j>>2]|0)>>>0){f[g>>2]=P+1;b[P>>0]=Q;V=f[w>>2]|0;W=f[A>>2]|0}else{V=Q;W=T}Q=V>>>8;f[w>>2]=Q;T=W+-8|0;f[A>>2]=T}while(T>>>0>7);X=f[S>>2]|0;Y=T;Z=Q}else{X=O;Y=R;Z=U}U=X^65535;f[S>>2]=U;X=Z|(U&65535)<<Y;f[w>>2]=X;Z=Y+16|0;f[A>>2]=Z;if(Z>>>0>7){Y=X;R=Z;do{O=f[g>>2]|0;if(O>>>0<(f[j>>2]|0)>>>0){f[g>>2]=O+1;b[O>>0]=Y;_=f[w>>2]|0;$=f[A>>2]|0}else{_=Y;$=R}Y=_>>>8;f[w>>2]=Y;R=$+-8|0;f[A>>2]=R}while(R>>>0>7);aa=f[S>>2]|0;ba=Y;ca=R}else{aa=U;ba=X;ca=Z}Z=aa^65535;f[S>>2]=Z;if(Z|0){aa=0;X=ca;ca=ba;ba=Z;while(1){Z=ca|(h[((f[y>>2]|0)+aa&32767)+(a+144)>>0]|0)<<X;f[w>>2]=Z;U=X+8|0;f[A>>2]=U;if(X>>>0<4294967288){R=Z;Y=U;do{$=f[g>>2]|0;if($>>>0<(f[j>>2]|0)>>>0){f[g>>2]=$+1;b[$>>0]=R;da=f[w>>2]|0;ea=f[A>>2]|0}else{da=R;ea=Y}R=da>>>8;f[w>>2]=R;Y=ea+-8|0;f[A>>2]=Y}while(Y>>>0>7);fa=f[S>>2]|0;ha=R;ia=Y}else{fa=ba;ha=Z;ia=U}aa=aa+1|0;if(aa>>>0>=fa>>>0)break;else{X=ia;ca=ha;ba=fa}}}}else{L=J;K=59}}if((K|0)==59?(L|0)==0:0){f[g>>2]=F;f[w>>2]=G;f[A>>2]=H;Ra(a,1)|0}a:do if(c|0){H=f[A>>2]|0;if(!B){G=H+3|0;f[A>>2]=G;if(G>>>0>7){F=G;while(1){L=f[g>>2]|0;if(L>>>0<(f[j>>2]|0)>>>0){K=f[w>>2]&255;f[g>>2]=L+1;b[L>>0]=K;ja=f[A>>2]|0}else ja=F;f[w>>2]=(f[w>>2]|0)>>>8;K=ja+-8|0;f[A>>2]=K;if(K>>>0>7)F=K;else{ka=K;break}}}else ka=G;if(!ka){la=f[w>>2]|0;ma=16}else{f[A>>2]=8;F=8;do{U=f[g>>2]|0;if(U>>>0<(f[j>>2]|0)>>>0){Z=f[w>>2]&255;f[g>>2]=U+1;b[U>>0]=Z;na=f[A>>2]|0}else na=F;oa=(f[w>>2]|0)>>>8;f[w>>2]=oa;F=na+-8|0;f[A>>2]=F}while(F>>>0>7);la=oa;ma=na+8|0}f[w>>2]=la;f[A>>2]=ma;F=la;G=ma;do{Z=f[g>>2]|0;if(Z>>>0<(f[j>>2]|0)>>>0){f[g>>2]=Z+1;b[Z>>0]=F;pa=f[w>>2]|0;qa=f[A>>2]|0}else{pa=F;qa=G}F=pa>>>8;f[w>>2]=F;G=qa+-8|0;f[A>>2]=G}while(G>>>0>7);Z=F|65535<<G;f[w>>2]=Z;U=qa+8|0;f[A>>2]=U;if(qa>>>0>=4294967288)break;Y=Z;Z=U;while(1){U=f[g>>2]|0;if(U>>>0<(f[j>>2]|0)>>>0){f[g>>2]=U+1;b[U>>0]=Y;ra=f[w>>2]|0;sa=f[A>>2]|0}else{ra=Y;sa=Z}Y=ra>>>8;f[w>>2]=Y;Z=sa+-8|0;f[A>>2]=Z;if(Z>>>0<=7)break a}}if(!H)ta=0;else{f[A>>2]=8;Z=8;while(1){Y=f[g>>2]|0;if(Y>>>0<(f[j>>2]|0)>>>0){G=f[w>>2]&255;f[g>>2]=Y+1;b[Y>>0]=G;ua=f[A>>2]|0}else ua=Z;f[w>>2]=(f[w>>2]|0)>>>8;G=ua+-8|0;f[A>>2]=G;if(G>>>0>7)Z=G;else{ta=G;break}}}if(f[d>>2]&4096|0){Z=f[a+24>>2]|0;H=f[w>>2]|Z>>>24<<ta;f[w>>2]=H;G=ta+8|0;f[A>>2]=G;Y=H;H=G;do{G=f[g>>2]|0;if(G>>>0<(f[j>>2]|0)>>>0){f[g>>2]=G+1;b[G>>0]=Y;va=f[w>>2]|0;wa=f[A>>2]|0}else{va=Y;wa=H}Y=va>>>8;f[w>>2]=Y;H=wa+-8|0;f[A>>2]=H}while(H>>>0>7);G=Z&255;F=Y|(Z>>>16&255)<<H;f[w>>2]=F;f[A>>2]=wa;U=F;F=wa;do{R=f[g>>2]|0;if(R>>>0<(f[j>>2]|0)>>>0){f[g>>2]=R+1;b[R>>0]=U;xa=f[w>>2]|0;ya=f[A>>2]|0}else{xa=U;ya=F}U=xa>>>8;f[w>>2]=U;F=ya+-8|0;f[A>>2]=F}while(F>>>0>7);H=U|(Z>>>8&255)<<F;f[w>>2]=H;f[A>>2]=ya;Y=H;H=ya;do{R=f[g>>2]|0;if(R>>>0<(f[j>>2]|0)>>>0){f[g>>2]=R+1;b[R>>0]=Y;Aa=f[w>>2]|0;Ba=f[A>>2]|0}else{Aa=Y;Ba=H}Y=Aa>>>8;f[w>>2]=Y;H=Ba+-8|0;f[A>>2]=H}while(H>>>0>7);F=Y|G<<H;f[w>>2]=F;f[A>>2]=Ba;Z=F;F=Ba;do{U=f[g>>2]|0;if(U>>>0<(f[j>>2]|0)>>>0){f[g>>2]=U+1;b[U>>0]=Z;Ca=f[w>>2]|0;Da=f[A>>2]|0}else{Ca=Z;Da=F}Z=Ca>>>8;f[w>>2]=Z;F=Da+-8|0;f[A>>2]=F}while(F>>>0>7)}}while(0);A=f[g>>2]|0;if(A>>>0>=(f[j>>2]|0)>>>0)ga(21871,4572,2141,21826);ve(a+33170|0,0,640)|0;f[n>>2]=a+37491;f[m>>2]=a+37490;f[o>>2]=8;o=a+60|0;m=a+64|0;f[m>>2]=(f[m>>2]|0)+(f[o>>2]|0);f[o>>2]=0;o=a+100|0;f[o>>2]=(f[o>>2]|0)+1;o=A-i|0;do if(o|0){A=f[a>>2]|0;if(A|0){f[f[a+120>>2]>>2]=(f[a+132>>2]|0)-(f[a+112>>2]|0);if(za[A&7](a+234098|0,o,f[a+4>>2]|0)|0)break;f[a+108>>2]=-1;Ea=-1;return Ea|0}A=a+234098|0;if((i|0)!=(A|0)){m=a+140|0;f[m>>2]=(f[m>>2]|0)+o;break}m=a+140|0;n=f[m>>2]|0;j=(f[f[a+124>>2]>>2]|0)-n|0;g=o>>>0<j>>>0?o:j;ue((f[a+116>>2]|0)+n|0,A|0,g|0)|0;f[m>>2]=(f[m>>2]|0)+g;m=o-g|0;if(m|0){f[l>>2]=g;f[k>>2]=m}}while(0);Ea=f[k>>2]|0;return Ea|0}function Ka(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[c>>2]|0;e=d+b|0;g=c+4|0;h=f[g>>2]|0;do if(e>>>0>h>>>0){if(!(f[c+12>>2]|0)){i=0;return i|0}j=h;do{k=j<<1;j=k>>>0>128?k:128}while(e>>>0>j>>>0);k=c+8|0;l=ic(f[k>>2]|0,j)|0;if(!l){i=0;return i|0}else{f[k>>2]=l;f[g>>2]=j;m=l;n=f[c>>2]|0;break}}else{m=f[c+8>>2]|0;n=d}while(0);ue(m+n|0,a|0,b|0)|0;f[c>>2]=e;i=1;return i|0}function La(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=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.0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0.0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,uc=0,wc=0,xc=0,yc=0,zc=0,Ac=0.0,Bc=0.0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0.0,Lc=0,Mc=0,Nc=0,Oc=0.0,Pc=0.0,Qc=0.0,Rc=0.0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,md=0,nd=0,pd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0.0,Fd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Od=0,Pd=0,Rd=0,Sd=0,Td=0;e=u;u=u+832|0;g=e+496|0;i=e+456|0;j=e+448|0;k=e+440|0;l=e+432|0;m=e+424|0;n=e+416|0;o=e+408|0;q=e+400|0;r=e+392|0;s=e+384|0;t=e+376|0;v=e+368|0;w=e+360|0;x=e+328|0;y=e+320|0;z=e+312|0;A=e+304|0;B=e+296|0;C=e+288|0;D=e+280|0;E=e+272|0;F=e+264|0;G=e+256|0;H=e+240|0;I=e+224|0;J=e+216|0;K=e+208|0;L=e+200|0;M=e+192|0;O=e+184|0;P=e+176|0;Q=e+168|0;R=e+152|0;S=e+144|0;T=e+136|0;U=e+128|0;W=e+120|0;X=e+104|0;Y=e+96|0;Z=e+88|0;_=e+80|0;$=e+64|0;aa=e+56|0;ba=e+48|0;ca=e+40|0;da=e+552|0;ea=e+512|0;fa=e+508|0;ga=e+504|0;ha=e+500|0;ia=e;ja=e+812|0;ka=e+808|0;f[fa>>2]=0;f[ga>>2]=0;f[ha>>2]=0;la=.75;ma=0;na=1;oa=0;pa=0;qa=8;ra=11025;ta=0;ua=0;va=0;wa=0;xa=0;ya=0;za=0;Ba=0;Ca=0;Da=0;a:while(1){do switch(Gd(a,c,19572)|0){case -1:{Ea=22;break a;break}case 118:{Ea=6;break a;break}case 63:case 104:{Ea=18;break a;break}case 49:{Fa=la;Ga=1;Ha=na;Ja=oa;Ka=pa;La=qa;Pa=8e3;Qa=ta;Ra=ua;Sa=va;Ta=wa;Ua=xa;Va=ya;Wa=za;Xa=Ba;Ya=Ca;Za=Da;break}case 50:{Fa=la;Ga=2;Ha=na;Ja=oa;Ka=pa;La=qa;Pa=ra;Qa=ta;Ra=ua;Sa=va;Ta=wa;Ua=xa;Va=ya;Wa=za;Xa=Ba;Ya=Ca;Za=Da;break}case 97:{Fa=la;Ga=2;Ha=na;Ja=oa;Ka=pa;La=qa;Pa=ra;Qa=ta;Ra=ua;Sa=va;Ta=wa;Ua=xa;Va=ya;Wa=za;Xa=1;Ya=Ca;Za=Da;break}case 98:{Fa=la;Ga=2;Ha=na;Ja=oa;Ka=pa;La=qa;Pa=ra;Qa=ta;Ra=ua;Sa=va;Ta=wa;Ua=xa;Va=ya;Wa=1;Xa=1;Ya=Ca;Za=Da;break}case 99:{Fa=la;Ga=2;Ha=na;Ja=oa;Ka=pa;La=qa;Pa=ra;Qa=ta;Ra=ua;Sa=va;Ta=wa;Ua=xa;Va=1;Wa=za;Xa=1;Ya=Ca;Za=Da;break}case 102:{Fa=la;Ga=2;Ha=na;Ja=oa;Ka=pa;La=qa;Pa=48e3;Qa=ta;Ra=ua;Sa=va;Ta=0;Ua=1;Va=ya;Wa=za;Xa=1;Ya=Ca;Za=0;break}case 100:{Fa=1.0;Ga=2;Ha=na;Ja=oa;Ka=pa;La=16;Pa=44100;Qa=ta;Ra=ua;Sa=va;Ta=1;Ua=0;Va=ya;Wa=za;Xa=1;Ya=Ca;Za=0;break}case 116:{Fa=1.0;Ga=ma;Ha=na;Ja=oa;Ka=pa;La=qa;Pa=ra;Qa=ta;Ra=ua;Sa=6;Ta=wa;Ua=xa;Va=ya;Wa=za;Xa=Ba;Ya=Ca;Za=Da;break}case 109:{Fa=la;Ga=ma;Ha=na;Ja=1;Ka=pa;La=qa;Pa=ra;Qa=ta;Ra=ua;Sa=va;Ta=wa;Ua=xa;Va=ya;Wa=za;Xa=Ba;Ya=Ca;Za=Da;break}case 101:{Fa=la;Ga=ma;Ha=na;Ja=oa;Ka=pa;La=qa;Pa=ra;Qa=ta;Ra=1;Sa=va;Ta=wa;Ua=xa;Va=ya;Wa=za;Xa=Ba;Ya=Ca;Za=Da;break}case 112:{Fa=la;Ga=ma;Ha=0;Ja=oa;Ka=pa;La=qa;Pa=ra;Qa=ta;Ra=ua;Sa=va;Ta=wa;Ua=xa;Va=ya;Wa=za;Xa=Ba;Ya=Ca;Za=Da;break}case 110:{Fa=la;Ga=ma;Ha=na;Ja=oa;Ka=1;La=qa;Pa=ra;Qa=ta;Ra=ua;Sa=va;Ta=wa;Ua=xa;Va=ya;Wa=za;Xa=Ba;Ya=Ca;Za=Da;break}case 56:{Fa=la;Ga=2;Ha=na;Ja=oa;Ka=pa;La=qa;Pa=48e3;Qa=ta;Ra=ua;Sa=va;Ta=0;Ua=0;Va=ya;Wa=za;Xa=1;Ya=Ca;Za=1;break}case 113:{Fa=la;Ga=2;Ha=na;Ja=oa;Ka=pa;La=qa;Pa=48e3;Qa=ta;Ra=ua;Sa=va;Ta=0;Ua=0;Va=ya;Wa=za;Xa=1;Ya=1;Za=1;break}case 108:{Fa=la;Ga=ma;Ha=na;Ja=oa;Ka=pa;La=qa;Pa=ra;Qa=1;Ra=ua;Sa=va;Ta=wa;Ua=xa;Va=ya;Wa=za;Xa=Ba;Ya=Ca;Za=Da;break}case 114:{Fa=la;Ga=ma;Ha=na;Ja=oa;Ka=pa;La=qa;Pa=ie(f[6574]|0)|0;Qa=ta;Ra=ua;Sa=va;Ta=0;Ua=0;Va=ya;Wa=0;Xa=0;Ya=0;Za=0;break}default:{Fa=la;Ga=ma;Ha=na;Ja=oa;Ka=pa;La=qa;Pa=ra;Qa=ta;Ra=ua;Sa=va;Ta=wa;Ua=xa;Va=ya;Wa=za;Xa=Ba;Ya=Ca;Za=Da}}while(0);la=Fa;ma=Ga;na=Ha;oa=Ja;pa=Ka;qa=La;ra=Pa;ta=Qa;ua=Ra;va=Sa;wa=Ta;xa=Ua;ya=Va;za=Wa;Ba=Xa;Ca=Ya;Da=Za}if((Ea|0)==6){Za=f[847]|0;f[ca>>2]=19599;de(Za,19593,ca)|0;_a=1;u=e;return _a|0}else if((Ea|0)==18){xd(4585,f[847]|0)|0;_a=1;u=e;return _a|0}else if((Ea|0)==22){ca=f[847]|0;if((a-(f[846]|0)|0)<=(na|0)){xd(4585,ca)|0;_a=1;u=e;return _a|0}ge(10,ca)|0;Za=f[846]|0;Ya=a-na|0;b:do if((Za|0)<(Ya|0)){Xa=Za;Wa=0;Va=0;Ua=0;c:while(1){$a=Va+1|0;Ta=ic(Ua,$a*272|0)|0;if(!Ta){Ea=28;break}Sa=f[c+(Xa<<2)>>2]|0;Ra=b[Sa>>0]|0;d:do switch(Ra<<24>>24){case 44:case 0:{ab=0;break}default:{Qa=0;Pa=Ra;while(1){La=Qa+1|0;b[Ta+(Va*272|0)+16+Qa>>0]=Pa;if(La>>>0>=(ld(Sa)|0)>>>0){ab=La;break d}Pa=b[Sa+La>>0]|0;if(Pa<<24>>24==44){ab=La;break}else Qa=La}}}while(0);b[Ta+(Va*272|0)+16+ab>>0]=0;Ra=ab+1|0;if(Ra>>>0<(ld(Sa)|0)>>>0){Qa=ld(Sa)|0;Pa=0;La=Ra;do{Ra=Pa;Pa=Pa+1|0;b[ea+Ra>>0]=b[Sa+La>>0]|0;La=La+1|0}while(La>>>0<Qa>>>0);b[ea+Pa>>0]=0;bb=ee(ea,0,16)|0}else{b[ea>>0]=0;bb=-1}f[Ta+(Va*272|0)>>2]=bb;cb=Ta+(Va*272|0)+16|0;Qa=ld(cb)|0;La=Qa+-1|0;Sa=(La|0)>-1;do if(Sa){Ra=La;Ka=0;while(1){Ja=b[Ta+(Va*272|0)+16+Ra>>0]|0;if(Ja<<24>>24==46){db=Ka;break}Ha=Ka+1|0;b[da+Ka>>0]=Ja;Ra=Ra+-1|0;if((Ra|0)<=-1){db=Ha;break}else Ka=Ha}b[da+db>>0]=0;if((db|0)==(Qa|0)|(db|0)==0)Ea=48;else{Ka=gc(db)|0;b[Ka+db>>0]=0;if((db|0)<=0){if(!Ka){eb=0;break}}else{Ra=0;Ha=db;while(1){Ja=Ha;Ha=Ha+-1|0;b[Ka+Ra>>0]=b[da+Ha>>0]|0;if((Ja|0)<=1)break;else Ra=Ra+1|0}}eb=(tc(Ka,19644)|0)==0&1}}else{b[da>>0]=0;Ea=48}while(0);if((Ea|0)==48){Ea=0;eb=0}do if(Sa){Pa=La;Ra=0;while(1){Ha=b[Ta+(Va*272|0)+16+Pa>>0]|0;if(Ha<<24>>24==46){fb=Ra;break}Ja=Ra+1|0;b[da+Ra>>0]=Ha;Pa=Pa+-1|0;if((Pa|0)<=-1){fb=Ja;break}else Ra=Ja}b[da+fb>>0]=0;if((fb|0)==(Qa|0)|(fb|0)==0)Ea=61;else{Ra=gc(fb)|0;b[Ra+fb>>0]=0;if((fb|0)<=0){if(!Ra){gb=eb;break}}else{Pa=0;Ka=fb;while(1){Ja=Ka;Ka=Ka+-1|0;b[Ra+Pa>>0]=b[da+Ka>>0]|0;if((Ja|0)<=1)break;else Pa=Pa+1|0}}Pa=(tc(Ra,19648)|0)==0;gb=Pa?4:eb}}else{b[da>>0]=0;Ea=61}while(0);if((Ea|0)==61){Ea=0;gb=eb}Qa=Hd(cb,4582)|0;if(!Qa){Ea=65;break}La=f[3080+(gb<<2)>>2]|0;f[$>>2]=cb;f[$+4>>2]=La;f[$+8>>2]=$a;de(ca,19670,$)|0;Sa=gc(143360)|0;if(!Sa){Ea=67;break}e:do if((gb|0)==4){f[Ta+(Va*272|0)+4>>2]=0;Pa=Sa;Ka=0;hb=Ta;ib=Va;Ja=Ta;while(1){Ha=hb+(ib*272|0)|0;f[Ha>>2]=4096;Ga=hb+(ib*272|0)+4|0;f:do if((he(ia,1,1,Qa)|0)==1)do{jb=f[Ga>>2]|0;if((jb|0)>=28672)break f;kb=b[ia>>0]|0;f[Ga>>2]=jb+1;b[Pa+jb>>0]=kb}while((he(ia,1,1,Qa)|0)==1);while(0);f[hb+(ib*272|0)+12>>2]=Pa;kb=f[Ga>>2]|0;f[_>>2]=f[Ha>>2];f[_+4>>2]=kb;de(ca,19741,_)|0;if((f[Ga>>2]|0)!=28672){Ea=75;break c}if((Ka|0)==4){lb=1;mb=Pa;nb=4;ob=hb;pb=ib;qb=Ja;break e}rb=ib+1|0;sb=ib+2|0;tb=ic(Ja,sb*272|0)|0;if(!tb){Ea=78;break c}kb=tb+(rb*272|0)+16|0;qd(kb,tb+(ib*272|0)+16|0)|0;jb=tb+(rb*272|0)+4|0;f[jb>>2]=0;Pa=gc(49152)|0;if(!Pa){Ea=80;break c}ub=b[ia>>0]|0;f[jb>>2]=1;b[Pa>>0]=ub;f[X>>2]=kb;f[X+4>>2]=La;f[X+8>>2]=sb;de(ca,19670,X)|0;Ka=Ka+1|0;if(Ka>>>0>=5)break;else{hb=tb;ib=rb;Ja=tb}}lb=1;mb=Pa;nb=Ka;ob=tb;pb=rb;qb=tb}else{lb=Wa;mb=Sa;nb=Xa;ob=Ta;pb=Va;qb=Ta}while(0);switch(gb|0){case 0:{Ta=ob+(pb*272|0)|0;if((f[Ta>>2]|0)==-1){he(ia,1,1,Qa)|0;f[Ta>>2]=h[ia>>0];he(ia,1,1,Qa)|0;f[Ta>>2]=h[ia>>0]<<8|f[Ta>>2];he(ia,1,1,Qa)|0;Sa=ob+(pb*272|0)+4|0;f[Sa>>2]=h[ia>>0];he(ia,1,1,Qa)|0;f[Sa>>2]=h[ia>>0]<<8|f[Sa>>2];vb=Sa}else vb=ob+(pb*272|0)+4|0;f[vb>>2]=0;if((he(ia,1,1,Qa)|0)==1)do{Sa=b[ia>>0]|0;Ja=f[vb>>2]|0;f[vb>>2]=Ja+1;b[mb+Ja>>0]=Sa}while((he(ia,1,1,Qa)|0)==1);f[ob+(pb*272|0)+12>>2]=mb;Sa=f[vb>>2]|0;f[W>>2]=f[Ta>>2];f[W+4>>2]=Sa;de(ca,19741,W)|0;wb=ob;xb=pb;yb=qb;break}case 1:{Sa=ob+(pb*272|0)|0;Ja=ob+(pb*272|0)+4|0;f[Sa>>2]=-1;f[Ja>>2]=0;f[U>>2]=ja;if((Qd(Qa,19840,U)|0)==-1){zb=mb;Ab=ob;Bb=pb;Cb=qb;Db=Sa;Eb=Ja}else{Ja=mb;Sa=ob;Ra=pb;kb=qb;ub=qb;while(1){jb=ee(ja,0,16)|0;Fb=Sa+(Ra*272|0)|0;Gb=f[Fb>>2]|0;if((Gb|0)==-1){f[Fb>>2]=jb;Hb=jb}else Hb=Gb;Gb=f[Sa+(Ra*272|0)+4>>2]|0;if((jb|0)==(Gb+Hb|0)){Ib=Ja;Jb=Sa;Kb=Ra;Lb=ub;Mb=kb}else{f[Sa+(Ra*272|0)+12>>2]=Ja;f[T>>2]=Hb;f[T+4>>2]=Gb;de(ca,19741,T)|0;Gb=Ra+1|0;Nb=Ra+2|0;Fb=ic(kb,Nb*272|0)|0;if(!Fb){Ea=97;break c}Ob=gc(49152)|0;if(!Ob){Ea=99;break c}f[Fb+(Gb*272|0)>>2]=jb;f[Fb+(Gb*272|0)+4>>2]=0;jb=Fb+(Gb*272|0)+16|0;qd(jb,Fb+(Ra*272|0)+16|0)|0;f[R>>2]=jb;f[R+4>>2]=La;f[R+8>>2]=Nb;de(ca,19670,R)|0;Ib=Ob;Jb=Fb;Kb=Gb;Lb=Fb;Mb=Fb}f[Q>>2]=da;f[Q+4>>2]=ka;g:do if((Qd(Qa,19844,Q)|0)!=-1){Fb=Jb+(Kb*272|0)+4|0;while(1){Gb=f[da>>2]&255;Ob=f[Fb>>2]|0;f[Fb>>2]=Ob+1;b[Ib+Ob>>0]=Gb;switch(b[ka>>0]|0){case 13:case 10:{break g;break}default:{}}f[P>>2]=da;f[P+4>>2]=ka;if((Qd(Qa,19844,P)|0)==-1)break g}}while(0);f[O>>2]=ja;if((Qd(Qa,19840,O)|0)==-1)break;else{Ja=Ib;Sa=Jb;Ra=Kb;kb=Mb;ub=Lb}}zb=Ib;Ab=Jb;Bb=Kb;Cb=Lb;Db=Jb+(Kb*272|0)|0;Eb=Jb+(Kb*272|0)+4|0}f[Ab+(Bb*272|0)+12>>2]=zb;ub=f[Eb>>2]|0;f[M>>2]=f[Db>>2];f[M+4>>2]=ub;de(ca,19741,M)|0;wb=Ab;xb=Bb;yb=Cb;break}default:{wb=ob;xb=pb;yb=qb}}Nd(Qa)|0;Va=xb+1|0;Xa=nb+1|0;if((Xa|0)>=(Ya|0)){Ea=110;break}else{Wa=lb;Ua=yb}}if((Ea|0)==28){f[ba>>2]=$a;de(ca,19613,ba)|0;sa()}else if((Ea|0)==65){f[aa>>2]=cb;de(ca,19652,aa)|0}else if((Ea|0)==67){yd(19711,29,1,ca)|0;sa()}else if((Ea|0)==75){f[Z>>2]=hb+(ib*272|0)+16;f[Z+4>>2]=28672;de(ca,19761,Z)|0}else if((Ea|0)==78){f[Y>>2]=sb;de(ca,19613,Y)|0;sa()}else if((Ea|0)==80){yd(19811,28,1,ca)|0;sa()}else if((Ea|0)==97){f[S>>2]=Nb;de(ca,19613,S)|0;sa()}else if((Ea|0)==99){yd(19811,28,1,ca)|0;sa()}else if((Ea|0)==110){ge(10,ca)|0;do if(!lb){Pb=0;Qb=Va;Rb=ma;Sb=va;Tb=wa;Ub=xa;Vb=Ba;Wb=0}else{if((Va|0)!=5){f[L>>2]=28672;de(ca,19849,L)|0;_a=1;u=e;return _a|0}if(((((f[wb+4>>2]|0)==28672?(f[wb+276>>2]|0)==28672:0)?(f[wb+548>>2]|0)==28672:0)?(f[wb+820>>2]|0)==28672:0)?(f[wb+1092>>2]|0)==28672:0){Pb=lb;Qb=5;Rb=2;Sb=0;Tb=0;Ub=0;Vb=0;Wb=1;break}f[K>>2]=28672;de(ca,19849,K)|0;_a=1;u=e;return _a|0}while(0);if(!((ua|0)!=0&(Qb|0)!=0)){Xb=Pb;Yb=wb;Zb=Qb;_b=Rb;$b=Sb;ac=Tb;bc=Ub;cc=Vb;dc=Wb;break}Va=0;while(1){Ua=wb+(Va*272|0)+4|0;Wa=f[Ua>>2]|0;Xa=Wa+255+(f[wb+(Va*272|0)>>2]|0)&255^255;f[Ua>>2]=Xa+Wa;if(Xa|0?(ub=wb+(Va*272|0)+12|0,kb=Xa+-1|0,b[(f[ub>>2]|0)+Wa>>0]=0,kb|0):0){Wa=kb;do{b[(f[ub>>2]|0)+(1-Wa+-1+(f[Ua>>2]|0))>>0]=0;Wa=Wa+-1|0}while((Wa|0)!=0)}Va=Va+1|0;if((Va|0)==(Qb|0)){Xb=Pb;Yb=wb;Zb=Qb;_b=Rb;$b=Sb;ac=Tb;bc=Ub;cc=Vb;dc=Wb;break b}}}_a=1;u=e;return _a|0}else{ge(10,ca)|0;Xb=0;Yb=0;Zb=0;_b=ma;$b=va;ac=wa;bc=xa;cc=Ba;dc=0}while(0);Ba=(_b|0)==1;if(Zb>>>0>1|Ba)if(!cc){ec=0;fc=0}else{yd(19899,75,1,ca)|0;ec=0;fc=0}else{ec=bc;fc=cc}h:do if(!na){cc=f[879]|0;bc=f[3100+(_b<<2)>>2]|0;f[H>>2]=20113;f[H+4>>2]=bc;f[H+8>>2]=19542;de(ca,20074,H)|0;jc=cc}else{cc=c+(a+-1<<2)|0;bc=f[cc>>2]|0;xa=ld(bc)|0;wa=xa+-1|0;do if((wa|0)>-1){va=wa;ma=0;while(1){Wb=b[bc+va>>0]|0;if(Wb<<24>>24==46){kc=ma;break}Vb=ma+1|0;b[da+ma>>0]=Wb;va=va+-1|0;if((va|0)<=-1){kc=Vb;break}else ma=Vb}b[da+kc>>0]=0;if((kc|0)==(xa|0)|(kc|0)==0)Ea=137;else{ma=gc(kc)|0;b[ma+kc>>0]=0;if((kc|0)<=0){if(!ma)break}else{va=0;Vb=kc;while(1){Wb=Vb;Vb=Vb+-1|0;b[ma+va>>0]=b[da+Vb>>0]|0;if((Wb|0)<=1)break;else va=va+1|0}}if((tc(ma,19550)|0)!=0?(tc(ma,19975)|0)!=0:0)if((tc(ma,19555)|0)!=0?(tc(ma,19979)|0)!=0:0)if(!(tc(ma,19644)|0)){lc=1;mc=1}else{xd(4585,ca)|0;_a=1;u=e;return _a|0}else{nc=3;Ea=146}else{nc=2;Ea=146}if((Ea|0)==146)if(!_b){yd(19983,68,1,ca)|0;_a=1;u=e;return _a|0}else{lc=nc;mc=0}va=Hd(bc,20052)|0;Vb=f[cc>>2]|0;if(!va){f[J>>2]=Vb;de(ca,20054,J)|0;_a=1;u=e;return _a|0}Wb=f[3100+(_b<<2)>>2]|0;Ub=f[3080+(lc<<2)>>2]|0;f[I>>2]=Vb;f[I+4>>2]=Wb;f[I+8>>2]=Ub;de(ca,20074,I)|0;if(mc){jc=va;break h}Ub=(fc|0)==0;if(!(fc|Xb)){Vb=(Zb|0)==0;if(!Vb){Fa=+($b+4|0);Tb=(ya|0)==0;Sb=da+12|0;Rb=(_b|0)==2;Qb=da+8|0;wb=0;do{if(Ba){Ma(fa,ga,1e3,ra,Fa,0.0,ha);Ma(fa,ga,2e3,ra,0.0,1.0,ha)}else{Ma(fa,ga,770,ra,Fa,0.0,ha);Ma(fa,ga,2500,ra,0.0,.5,ha);Ma(fa,ga,2e3,ra,0.0,.5,ha)}if(Tb){Pb=Yb+(wb*272|0)+4|0;oc=Pb;pc=f[Pb>>2]|0}else{Pb=Yb+(wb*272|0)+12|0;ua=f[Pb>>2]|0;K=Yb+(wb*272|0)+4|0;lb=f[K>>2]|0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[Sb>>2]=1;do if((ua|0)!=0|(lb|0)==0){L=gc(319296)|0;if(!L){qc=0;rc=0;break}f[L>>2]=5;f[L+4>>2]=da;f[L+8>>2]=4095;f[L+12>>2]=1366;f[L+20>>2]=0;f[L+16>>2]=342;ve(L+168562|0,0,65536)|0;S=L+60|0;f[L+36>>2]=0;f[L+32>>2]=0;f[L+28>>2]=0;Nb=L+88|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;f[Nb>>2]=0;f[Nb+4>>2]=0;f[Nb+8>>2]=0;f[Nb+12>>2]=0;f[Nb+16>>2]=0;f[L+40>>2]=L+37491;f[L+44>>2]=L+37490;f[L+56>>2]=8;Nb=L+234098|0;f[L+48>>2]=Nb;f[L+52>>2]=Nb;f[L+108>>2]=0;f[L+84>>2]=0;f[L+80>>2]=0;f[L+76>>2]=0;f[L+24>>2]=1;Nb=L+112|0;f[Nb>>2]=0;f[Nb+4>>2]=0;f[Nb+8>>2]=0;f[Nb+12>>2]=0;f[Nb+16>>2]=0;f[Nb+20>>2]=0;f[Nb+24>>2]=0;f[Nb+28>>2]=0;ve(L+33170|0,0,640)|0;f[I>>2]=lb;Nb=(Ia(L,ua,I,0,0,4)|0)==1;hc(L);if(!Nb){qc=0;rc=0;break}qc=f[Qb>>2]|0;rc=f[da>>2]|0}else{qc=0;rc=0}while(0);hc(f[Pb>>2]|0);f[Pb>>2]=qc;f[K>>2]=rc;oc=K;pc=rc}if((pc|0)>0){ua=Yb+(wb*272|0)+12|0;lb=-1;Nb=0;L=f[ua>>2]|0;while(1){S=h[L+Nb>>0]|0;if(!(S&128))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(S&64))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(S&32))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(S&16))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(S&8))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(S&4))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(S&2))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(S&1))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);L=f[ua>>2]|0;S=b[L+Nb>>0]^lb;Nb=Nb+1|0;if((Nb|0)>=(f[oc>>2]|0)){sc=S;break}else lb=S}}else sc=-1;do if(Rb){lb=sc&255;if(!(lb&128))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(lb&64))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(lb&32))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(lb&16))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(lb&8))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(lb&4))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(lb&2))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(lb&1)){Ma(fa,ga,2e3,ra,0.0,1.0,ha);break}else{Ma(fa,ga,1e3,ra,0.0,1.0,ha);break}}while(0);Ma(fa,ga,1e3,ra,0.0,1.0,ha);wb=wb+1|0}while((wb|0)!=(Zb|0))}f[D>>2]=Wb;de(ca,20139,D)|0;if(Ba)yd(20184,8,1,ca)|0;else yd(20193,12,1,ca)|0;do if(!Vb){wb=0;do{Rb=f[Yb+(wb*272|0)>>2]|0;Qb=Rb+-1+(f[Yb+(wb*272|0)+4>>2]|0)|0;f[C>>2]=Rb;f[C+4>>2]=Qb;de(ca,20206,C)|0;wb=wb+1|0}while((wb|0)!=(Zb|0));ge(10,ca)|0;if((Zb|0)==1){wb=f[Yb>>2]|0;if(Ba){f[B>>2]=wb;de(ca,20214,B)|0;break}else{f[A>>2]=wb;de(ca,20220,A)|0;break}}}else ge(10,ca)|0;while(0);ge(10,ca)|0}if(!Ub){Vb=ia;wb=20226;Qb=Vb+10|0;do{b[Vb>>0]=b[wb>>0]|0;Vb=Vb+1|0;wb=wb+1|0}while((Vb|0)<(Qb|0));Ma(fa,ga,770,ra,+($b+4|0),0.0,ha);Ma(fa,ga,2500,ra,0.0,.5,ha);Ma(fa,ga,2e3,ra,0.0,.5,ha);wb=Yb+4|0;Vb=f[wb>>2]|0;if((Vb|0)>0){Qb=f[Yb+12>>2]|0;Ub=0;Rb=0;Sb=0;while(1){Tb=h[Qb+Ub>>0]|0;ma=Tb>>>7;lb=Tb>>>6&1;Nb=Tb>>>5&1;L=Tb>>>4&1;ua=Tb>>>3&1;K=Tb>>>2&1;Pb=Tb>>>1&1;S=Tb&1;Tb=S+(Pb+(K+(ua+(L+(Nb+(lb+(ma+Sb)))))))|0;Y=(S^1)+((Pb^1)+((K^1)+((ua^1)+((L^1)+((Nb^1)+((lb^1)+((ma^1)+Rb)))))))|0;Ub=Ub+1|0;if((Ub|0)>=(Vb|0)){uc=Y;wc=Tb;break}else{Rb=Y;Sb=Tb}}}else{uc=0;wc=0}Sb=(ec|0)!=0;Rb=Sb?12e3:2e3;Ub=Sb?8e3:1e3;Qb=(Da|0)!=0;Tb=(ac|0)!=0;Y=Tb?11025:Qb?12e3:Rb;ma=Tb?7350:Qb?6e3:Ub;lb=Tb?5512:Qb?2e3:Sb?6e3:770;Nb=Tb?2e3:Qb?770:Sb?2e3:770;if(!ya){xc=0;yc=uc;zc=wc;Ac=+(ma|0);Bc=+(Y|0)}else{L=Yb+12|0;ua=f[L>>2]|0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[da+12>>2]=1;do if((Vb|0)==0|(ua|0)!=0){K=gc(319296)|0;if(!K){Ea=215;break}f[K>>2]=5;f[K+4>>2]=da;f[K+8>>2]=4095;f[K+12>>2]=1366;f[K+20>>2]=0;f[K+16>>2]=342;ve(K+168562|0,0,65536)|0;Pb=K+60|0;f[K+36>>2]=0;f[K+32>>2]=0;f[K+28>>2]=0;S=K+88|0;f[Pb>>2]=0;f[Pb+4>>2]=0;f[Pb+8>>2]=0;f[Pb+12>>2]=0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;f[S+16>>2]=0;f[K+40>>2]=K+37491;f[K+44>>2]=K+37490;f[K+56>>2]=8;S=K+234098|0;f[K+48>>2]=S;f[K+52>>2]=S;f[K+108>>2]=0;f[K+84>>2]=0;f[K+80>>2]=0;f[K+76>>2]=0;f[K+24>>2]=1;S=K+112|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;f[S+16>>2]=0;f[S+20>>2]=0;f[S+24>>2]=0;f[S+28>>2]=0;ve(K+33170|0,0,640)|0;f[I>>2]=Vb;S=(Ia(K,ua,I,0,0,4)|0)==1;hc(K);if(!S){Ea=215;break}S=f[da>>2]|0;K=f[da+8>>2]|0;Pb=0-S|0;sb=(S|0)==0;if(sb){Cc=K;Dc=0;Ec=0;Fc=0;Gc=1;Hc=0;break}Z=0;ib=0;hb=0;while(1){aa=h[K+hb>>0]|0;cb=aa>>>7;ba=aa>>>6&1;$a=aa>>>5&1;yb=aa>>>4&1;Ya=aa>>>3&1;nb=aa>>>2&1;xb=aa>>>1&1;qb=aa&1;aa=ib+cb+ba+$a+yb+Ya+nb+xb+qb|0;pb=Z+(cb^1)+(ba^1)+($a^1)+(yb^1)+(Ya^1)+(nb^1)+(xb^1)+(qb^1)|0;hb=hb+1|0;if((hb|0)==(S|0)){Cc=K;Dc=pb;Ec=aa;Fc=S;Gc=sb;Hc=Pb;break}else{Z=pb;ib=aa}}}else Ea=215;while(0);if((Ea|0)==215){Cc=0;Dc=0;Ec=0;Fc=0;Gc=1;Hc=0}ua=0;Vb=Dc;ib=Ec;do{Z=h[7035+ua>>0]|0;Pb=Z>>>7;sb=Z>>>6&1;S=Z>>>5&1;K=Z>>>4&1;hb=Z>>>3&1;aa=Z>>>2&1;pb=Z>>>1&1;qb=Z&1;ib=ib+Pb+sb+S+K+hb+aa+pb+qb|0;Vb=Vb+(Pb^1)+(sb^1)+(S^1)+(K^1)+(hb^1)+(aa^1)+(pb^1)+(qb^1)|0;ua=ua+1|0}while((ua|0)!=509);if(Gc)Ic=-1;else{ua=47616-Fc|0;qb=-1;pb=0;while(1){aa=Cc+pb|0;b[26398+(ua+pb)>>0]=b[aa>>0]|0;hb=b[aa>>0]^qb;pb=pb+1|0;if((pb|0)==(Fc|0)){Ic=hb;break}else qb=hb}}ue(74014,7035,509)|0;qb=Ic;pb=0;do{qb=b[7035+pb>>0]^qb;pb=pb+1|0}while((pb|0)!=509);b[74523]=qb;if(Qb){ue(75166,7904,268)|0;pb=Hc&255;b[75434]=pb;ua=(47616-Fc|0)>>>8&255;b[75435]=ua;b[75436]=-2;b[75437]=-69;b[26398]=-1;b[75303]=0;b[26391]=0;b[26392]=0;b[26393]=0;b[26390]=-3;hb=b[26394]|32;b[26394]=hb;f[6446]=0;d[13192]=-16668;aa=b[75265]|0;b[26395]=aa;if(aa<<24>>24){K=hb;hb=aa;while(1){b[26394]=K|32;b[26396]=0;b[26397]=0;Aa[f[8+((hb&255)<<2)>>2]&127]();Aa[f[1032+((b[26395]&255)<<2)>>2]&127]();aa=(f[6446]|0)+(f[2056+(h[26395]<<2)>>2]|0)|0;f[6446]=aa;if(!((b[26396]|0)==0|(b[26397]|0)==0))f[6446]=aa+1;f[6445]=(f[6445]|0)+1;if(0)Aa[f[6447]&127]();aa=d[13192]|0;d[13192]=aa+1<<16>>16;S=b[26398+(aa&65535)>>0]|0;b[26395]=S;if(!(S<<24>>24))break;K=b[26394]|0;hb=S}hb=b[26398]|0;if(hb<<24>>24){Jc=hb;Ea=237}}else{Jc=-1;Ea=237}if((Ea|0)==237){f[z>>2]=Jc&255;de(ca,20236,z)|0}Kc=+((f[6446]|0)>>>0)/1023.0e3+0.0;Lc=pb;Mc=ua}else{Kc=0.0;Lc=Hc&255;Mc=(47616-Fc|0)>>>8&255}b[26398]=Lc;b[26399]=Mc;b[26400]=f[Yb>>2];b[26401]=(f[Yb>>2]|0)>>>8;b[75294]=32;b[75295]=0;b[75296]=-70;b[75297]=0;b[26391]=0;b[26392]=0;b[26393]=0;b[26390]=-3;hb=b[26394]|32;b[26394]=hb;f[6446]=0;d[13192]=-16639;b[26395]=32;K=hb;hb=32;while(1){b[26394]=K|32;b[26396]=0;b[26397]=0;Aa[f[8+((hb&255)<<2)>>2]&127]();Aa[f[1032+((b[26395]&255)<<2)>>2]&127]();qb=(f[6446]|0)+(f[2056+(h[26395]<<2)>>2]|0)|0;f[6446]=qb;if(!((b[26396]|0)==0|(b[26397]|0)==0))f[6446]=qb+1;f[6445]=(f[6445]|0)+1;if(0)Aa[f[6447]&127]();qb=d[13192]|0;d[13192]=qb+1<<16>>16;S=b[26398+(qb&65535)>>0]|0;b[26395]=S;if(!(S<<24>>24))break;K=b[26394]|0;hb=S}hb=f[wb>>2]|0;i:do if((hb|0)>0){K=f[Yb>>2]|0;ua=f[L>>2]|0;pb=0;while(1){if((b[26398+(K+pb)>>0]|0)!=(b[ua+pb>>0]|0))break;S=pb+1|0;if((S|0)<(hb|0))pb=S;else{Nc=hb;break i}}f[y>>2]=pb+4096;de(ca,20278,y)|0;Nc=f[wb>>2]|0}else Nc=hb;while(0);Fa=Kc+ +((f[6446]|0)>>>0)/1023.0e3;Oc=+(ma|0);Pc=+(Y|0);Qc=+(ib>>>0)/Oc+ +(Vb>>>0)/Pc;f[x>>2]=47615-Fc;f[x+4>>2]=Fc;p[x+8>>3]=(1.0-+(Fc>>>0)/+(Nc|0))*100.0;p[x+16>>3]=Qc;p[x+24>>3]=Fa;de(ca,20321,x)|0;Rc=+(wc>>>0)/Oc+ +(uc>>>0)/Pc;if(Fa+Qc>Rc){p[w>>3]=Rc;de(ca,20405,w)|0;Sc=0;Tc=uc;Uc=wc}else{hc(f[L>>2]|0);f[L>>2]=Cc;f[Yb+8>>2]=f[wb>>2];f[wb>>2]=Fc;Sc=ya;Tc=Vb;Uc=ib}ge(10,ca)|0;xc=Sc;yc=Tc;zc=Uc;Ac=Oc;Bc=Pc}hb=ac|Da|ec;ua=(hb|0)==0;f[v>>2]=~~(+(ua&1)*3.75+(+(zc>>>0)/Ac+ +(yc>>>0)/Bc+.5+.25));vc(ea,20465,v)|0;K=(ld(ia)|0)+23|0;S=Yb+16|0;qb=ld(S)|0;aa=K+qb+(ld(ea)|0)|0;K=ec|Da;sb=(K|ac|0)==0?14:23;Pb=aa+((K|0)==0?(Tb?343:172):Sb?338:292)|0;K=Pb+-11-sb|0;do if(ua){if(K>>>0<=256){Vc=Pb;break}b[qb+256-K+(Yb+16)>>0]=0;f[s>>2]=S;de(ca,20480,s)|0;Vc=sb+267|0}else{if(K>>>0<=384){Vc=Pb;break}b[qb+384-K+(Yb+16)>>0]=0;f[t>>2]=S;de(ca,20480,t)|0;Vc=sb+395|0}while(0);sb=(za|0)!=0;if(sb){K=Vc&255;b[6850]=K;b[6851]=Vc>>>8;qb=-1;Pb=0;ib=K;while(1){K=ib&255;if(!(K&128))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(K&64))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(K&32))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(K&16))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(K&8))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(K&4))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(K&2))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(K&1))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);Wc=b[6850+Pb>>0]^qb;K=Pb+1|0;if((K|0)==3)break;qb=Wc;Pb=K;ib=b[6850+K>>0]|0}ib=Wc&255;if(!(ib&128))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(ib&64))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(ib&32))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(ib&16))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(ib&8))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(ib&4))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(ib&2))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(ib&1))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);Ma(fa,ga,1e3,ra,0.0,1.0,ha);Ma(fa,ga,770,ra,4.0,0.0,ha);Ma(fa,ga,2500,ra,0.0,.5,ha);Ma(fa,ga,2e3,ra,0.0,.5,ha);ib=-1;Pb=0;while(1){qb=6853+Pb|0;K=h[qb>>0]|0;if(!(K&128))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(K&64))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(K&32))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(K&16))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(K&8))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(K&4))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(K&2))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(K&1))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);K=b[qb>>0]^ib;Pb=Pb+1|0;if((Pb|0)==11){Xc=K;break}else ib=K}}else{ib=0;do{Pb=h[20545+ib>>0]|0;if(!(Pb&128))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Pb&64))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Pb&32))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Pb&16))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Pb&8))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Pb&4))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Pb&2))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Pb&1))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);ib=ib+1|0}while((ib|0)!=12);Xc=93}ib=(xc|0)!=0;if(ib){Pb=47616-(f[wb>>2]|0)|0;K=Pb&255;b[ja>>0]=K;qb=Pb>>>8&255;b[ja+1>>0]=qb;b[ja+2>>0]=-2;b[ja+3>>0]=-69;b[ja+4>>0]=K;b[ja+5>>0]=qb;qb=Yb+8|0;b[ja+8>>0]=(f[qb>>2]|0)+(f[Yb>>2]|0);Yc=9;Zc=f[qb>>2]|0;_c=Yb;$c=K}else{K=f[Yb>>2]&255;b[ja>>0]=K;b[ja+1>>0]=(f[Yb>>2]|0)>>>8;qb=(f[wb>>2]|0)+1|0;b[ja+2>>0]=qb+(f[Yb>>2]|0);Yc=3;Zc=qb;_c=Yb;$c=K}b[ja+Yc>>0]=(Zc+(f[_c>>2]|0)|0)>>>8;b[ja+6>>0]=f[_c>>2];b[ja+7>>0]=(f[_c>>2]|0)>>>8;b[ja+10>>0]=xc;b[ja+11>>0]=oa;j:do if(!Sb){if(Qb){K=0;qb=Xc;while(1){Pb=7881+K|0;Vb=h[Pb>>0]|0;if(!(Vb&128))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&64))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&32))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&16))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&8))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&4))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&2))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&1))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);Vb=b[Pb>>0]^qb;K=K+1|0;if((K|0)==291){ad=Vb;break j}else qb=Vb}}if(Tb){qb=0;K=Xc;while(1){pb=8172+qb|0;Vb=h[pb>>0]|0;if(!(Vb&128))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&64))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&32))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&16))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&8))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&4))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&2))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&1))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);Vb=b[pb>>0]^K;qb=qb+1|0;if((qb|0)==342){ad=Vb;break}else K=Vb}}else{K=0;qb=Xc;while(1){Vb=6864+K|0;pb=h[Vb>>0]|0;if(!(pb&128))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(pb&64))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(pb&32))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(pb&16))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(pb&8))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(pb&4))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(pb&2))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(pb&1))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);pb=b[Vb>>0]^qb;K=K+1|0;if((K|0)==171){ad=pb;break}else qb=pb}}}else{qb=0;K=Xc;while(1){pb=7544+qb|0;Vb=h[pb>>0]|0;if(!(Vb&128))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&64))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&32))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&16))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&8))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&4))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&2))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&1))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);Vb=b[pb>>0]^K;qb=qb+1|0;if((qb|0)==337){ad=Vb;break}else K=Vb}}while(0);Sb=0;K=ad;qb=$c;while(1){Vb=qb&255;if(!(Vb&128))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&64))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&32))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&16))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&8))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&4))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&2))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&1))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);bd=qb^K;Vb=Sb+1|0;if((Vb|0)==12)break;Sb=Vb;K=bd;qb=b[ja+Vb>>0]|0}b[ia>>0]=13;k:do if(!(ld(ia)|0))cd=bd;else{qb=0;K=bd;Sb=13;while(1){Vb=od(Sb<<24>>24)|0;if(Sb<<24>>24==95)dd=od(32)|0;else dd=Vb;Vb=dd+128|0;if(!(Vb&128))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&64))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&32))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&16))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&8))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&4))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&2))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&1))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);pb=(Vb^K&255)&255;Vb=qb+1|0;if(Vb>>>0>=(ld(ia)|0)>>>0){cd=pb;break k}qb=Vb;K=pb;Sb=b[ia+Vb>>0]|0}}while(0);if(!(ld(S)|0))ed=cd;else{Sb=0;K=cd;while(1){qb=b[Yb+16+Sb>>0]|0;Vb=od(qb<<24>>24)|0;if(qb<<24>>24==95)fd=od(32)|0;else fd=Vb;Vb=fd+128|0;if(!(Vb&128))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&64))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&32))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&16))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&8))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&4))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&2))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(Vb&1))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);qb=(Vb^K&255)&255;Sb=Sb+1|0;if(Sb>>>0>=(ld(S)|0)>>>0){ed=qb;break}else K=qb}}if(!(ld(ea)|0)){gd=ed;hd=0}else{K=0;Sb=ed;while(1){qb=(od(b[ea+K>>0]|0)|0)+128|0;if(!(qb&128))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(qb&64))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(qb&32))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(qb&16))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(qb&8))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(qb&4))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(qb&2))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(qb&1))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);Vb=(qb^Sb&255)&255;K=K+1|0;qb=ld(ea)|0;if(K>>>0>=qb>>>0){gd=Vb;hd=qb;break}else Sb=Vb}}Ma(fa,ga,2e3,ra,0.0,1.0,ha);Ma(fa,ga,2e3,ra,0.0,1.0,ha);Ma(fa,ga,2e3,ra,0.0,1.0,ha);Ma(fa,ga,2e3,ra,0.0,1.0,ha);Ma(fa,ga,2e3,ra,0.0,1.0,ha);Ma(fa,ga,2e3,ra,0.0,1.0,ha);Ma(fa,ga,2e3,ra,0.0,1.0,ha);Ma(fa,ga,2e3,ra,0.0,1.0,ha);Ma(fa,ga,1e3,ra,0.0,1.0,ha);Ma(fa,ga,1e3,ra,0.0,1.0,ha);Ma(fa,ga,1e3,ra,0.0,1.0,ha);Ma(fa,ga,1e3,ra,0.0,1.0,ha);Ma(fa,ga,1e3,ra,0.0,1.0,ha);Ma(fa,ga,1e3,ra,0.0,1.0,ha);Ma(fa,ga,1e3,ra,0.0,1.0,ha);Ma(fa,ga,1e3,ra,0.0,1.0,ha);Sb=~gd;do if(sb)id=Vc;else{K=Vc&255^255;Vb=ua?K|256:K;K=Vb+Vc|0;if(!Vb){id=K;break}qb=Vb;do{Ma(fa,ga,2e3,ra,0.0,1.0,ha);Ma(fa,ga,2e3,ra,0.0,1.0,ha);Ma(fa,ga,2e3,ra,0.0,1.0,ha);Ma(fa,ga,2e3,ra,0.0,1.0,ha);Ma(fa,ga,2e3,ra,0.0,1.0,ha);Ma(fa,ga,2e3,ra,0.0,1.0,ha);Ma(fa,ga,2e3,ra,0.0,1.0,ha);Ma(fa,ga,2e3,ra,0.0,1.0,ha);qb=qb+-1|0}while((qb|0)!=0);id=K}while(0);ua=Sb&255;if(!(ua&128))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(ua&64))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(ua&32))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(ua&16))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(ua&8))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(ua&4))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(ua&2))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);if(!(ua&1))Ma(fa,ga,2e3,ra,0.0,1.0,ha);else Ma(fa,ga,1e3,ra,0.0,1.0,ha);Ma(fa,ga,1e3,ra,0.0,1.0,ha);ua=(hb|0)!=0;if(ua)Ma(fa,ga,lb,ra,.25,0.0,ha);else{Ma(fa,ga,770,ra,4.0,0.0,ha);Ma(fa,ga,2500,ra,0.0,.5,ha);Ma(fa,ga,2e3,ra,0.0,.5,ha)}K=Qb?12e3:Tb?11025:Rb;qb=Qb?6e3:Tb?7350:Ub;Vb=(Ca|0)!=0;if(Vb){f[ga>>2]=0;Ma(fa,ga,lb,ra,.25,0.0,ha);pb=0;Pb=-1;L=$c;while(1){Y=L&255;if(!(Y&128))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Y&64))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Y&32))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Y&16))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Y&8))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Y&4))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Y&2))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Y&1))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);jd=L^Pb;Y=pb+1|0;if((Y|0)==12)break;pb=Y;Pb=jd;L=b[ja+Y>>0]|0}L=0;Pb=jd;do{pb=b[20557+L>>0]|0;Ma(fa,ga,qb,ra,0.0,1.0,ha);Ub=((pb&255)<<1)+256|0;if(!(Ub&128))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Ub&64))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Ub&32))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Ub&16))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Ub&8))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Ub&4))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Ub&2))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);Pb=Pb^-128^pb;L=L+1|0}while((L|0)!=8);if(!(ld(S)|0))kd=Pb;else{L=0;pb=Pb;while(1){Ub=b[Yb+16+L>>0]|0;Tb=od(Ub<<24>>24)|0;if(Ub<<24>>24==95)md=od(32)|0;else md=Tb;Tb=md+128|0;if(!(Tb&128))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Tb&64))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Tb&32))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Tb&16))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Tb&8))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Tb&4))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Tb&2))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Tb&1))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);Ub=(Tb^pb&255)&255;L=L+1|0;if(L>>>0>=(ld(S)|0)>>>0){kd=Ub;break}else pb=Ub}}if(!hd)nd=kd;else{pb=0;L=kd;while(1){Pb=(od(b[ea+pb>>0]|0)|0)+128|0;if(!(Pb&128))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Pb&64))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Pb&32))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Pb&16))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Pb&8))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Pb&4))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Pb&2))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Pb&1))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);Ub=(Pb^L&255)&255;pb=pb+1|0;if((pb|0)==(hd|0)){nd=Ub;break}else L=Ub}}L=52-hd|0;if((L|0)!=(ld(S)|0)){pb=0;do{Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);pb=pb+1|0}while(pb>>>0<(L-(ld(S)|0)|0)>>>0)}S=nd&255;if(!(S&128))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(S&64))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(S&32))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(S&16))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(S&8))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(S&4))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(S&2))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(S&1))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);Ma(fa,ga,Nb,ra,0.0,2.0,ha);Ma(fa,ga,lb,ra,.25,0.0,ha)}if((f[wb>>2]|0)>0){S=Yb+12|0;L=-1;pb=0;Ub=f[S>>2]|0;while(1){Pb=h[Ub+pb>>0]|0;if(!(Pb&128))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Pb&64))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Pb&32))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Pb&16))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Pb&8))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Pb&4))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Pb&2))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Pb&1))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);Ub=f[S>>2]|0;Pb=b[Ub+pb>>0]^L;pb=pb+1|0;if((pb|0)>=(f[wb>>2]|0)){pd=Pb;break}else L=Pb}}else pd=-1;if(ib){L=pd;wb=0;while(1){pb=7035+wb|0;Ub=h[pb>>0]|0;if(!(Ub&128))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Ub&64))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Ub&32))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Ub&16))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Ub&8))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Ub&4))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Ub&2))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(Ub&1))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);Ub=b[pb>>0]^L;wb=wb+1|0;if((wb|0)==509){rd=Ub;break}else L=Ub}}else rd=pd;if((ec+ac|0)==(0-Da|0)){Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha);Ma(fa,ga,K,ra,0.0,1.0,ha)}L=rd&255;if(!(L&128))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(L&64))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(L&32))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(L&16))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(L&8))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(L&4))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(L&2))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(!(L&1))Ma(fa,ga,K,ra,0.0,1.0,ha);else Ma(fa,ga,qb,ra,0.0,1.0,ha);if(ua)Ma(fa,ga,Nb,ra,0.0,10.0,ha);else Ma(fa,ga,1e3,ra,0.0,10.0,ha);do if(Vb){f[n>>2]=Wb;de(ca,20676,n)|0}else{if(!sb){f[o>>2]=Wb;f[o+4>>2]=id+2049;de(ca,20617,o)|0;break}f[r>>2]=Wb;de(ca,20566,r)|0;if(!oa)break;f[q>>2]=f[_c>>2];de(ca,20220,q)|0}while(0);ge(10,ca)|0}if(dc){Wb=(Da|0)!=0;sb=Wb?8833:8514;Ma(fa,ga,770,48e3,+($b+4|0),0.0,ha);Ma(fa,ga,2500,48e3,0.0,.5,ha);Ma(fa,ga,2e3,48e3,0.0,.5,ha);Vb=0;Nb=0;ua=0;do{qb=h[9102+Vb>>0]|0;K=qb>>>7;L=qb>>>6&1;wb=qb>>>5&1;ib=qb>>>4&1;Ub=qb>>>3&1;pb=qb>>>2&1;S=qb>>>1&1;lb=qb&1;ua=lb+(S+(pb+(Ub+(ib+(wb+(L+(K+ua)))))))|0;Nb=(lb^1)+((S^1)+((pb^1)+((Ub^1)+((ib^1)+((wb^1)+((L^1)+((K^1)+Nb)))))))|0;Vb=Vb+1|0}while((Vb|0)!=914);Vb=Wb?269:319;K=0;L=Nb+880|0;wb=ua;do{ib=h[10016+K>>0]|0;Ub=ib>>>7;pb=ib>>>6&1;S=ib>>>5&1;lb=ib>>>4&1;qb=ib>>>3&1;Pb=ib>>>2&1;Tb=ib>>>1&1;Qb=ib&1;wb=Qb+(Tb+(Pb+(qb+(lb+(S+(pb+(Ub+wb)))))))|0;L=(Qb^1)+((Tb^1)+((Pb^1)+((qb^1)+((lb^1)+((S^1)+((pb^1)+((Ub^1)+L)))))))|0;K=K+1|0}while((K|0)!=512);K=0;ua=L;Nb=wb;do{Ub=h[10528+K>>0]|0;pb=Ub>>>7;S=Ub>>>6&1;lb=Ub>>>5&1;qb=Ub>>>4&1;Pb=Ub>>>3&1;Tb=Ub>>>2&1;Qb=Ub>>>1&1;ib=Ub&1;Nb=ib+(Qb+(Tb+(Pb+(qb+(lb+(S+(pb+Nb)))))))|0;ua=(ib^1)+((Qb^1)+((Tb^1)+((Pb^1)+((qb^1)+((lb^1)+((S^1)+((pb^1)+ua)))))))|0;K=K+1|0}while((K|0)!=48);K=0;wb=ua;L=Nb;do{pb=h[10576+K>>0]|0;S=pb>>>7;lb=pb>>>6&1;qb=pb>>>5&1;Pb=pb>>>4&1;Tb=pb>>>3&1;Qb=pb>>>2&1;ib=pb>>>1&1;Ub=pb&1;L=Ub+(ib+(Qb+(Tb+(Pb+(qb+(lb+(S+L)))))))|0;wb=(Ub^1)+((ib^1)+((Qb^1)+((Tb^1)+((Pb^1)+((qb^1)+((lb^1)+((S^1)+wb)))))))|0;K=K+1|0}while((K|0)!=8959);f[m>>2]=~~(+(L>>>0)/(Wb?6.0e3:8.0e3)+ +(wb>>>0)/12.0e3+.5+.25);vc(da,20735,m)|0;K=Vb+11&255;b[6850]=K;b[6851]=1;Nb=-1;ua=0;S=K;while(1){K=S&255;if(!(K&128))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(K&64))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(K&32))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(K&16))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(K&8))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(K&4))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(K&2))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(K&1))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);sd=b[6850+ua>>0]^Nb;K=ua+1|0;if((K|0)==3)break;Nb=sd;ua=K;S=b[6850+K>>0]|0}S=sd&255;if(!(S&128))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(S&64))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(S&32))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(S&16))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(S&8))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(S&4))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(S&2))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(S&1))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);Ma(fa,ga,1e3,48e3,0.0,1.0,ha);Ma(fa,ga,770,48e3,4.0,0.0,ha);Ma(fa,ga,2500,48e3,0.0,.5,ha);Ma(fa,ga,2e3,48e3,0.0,.5,ha);S=-1;ua=0;do{Nb=6853+ua|0;wb=h[Nb>>0]|0;if(!(wb&128))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(wb&64))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(wb&32))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(wb&16))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(wb&8))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(wb&4))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(wb&2))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(wb&1))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);S=b[Nb>>0]^S;ua=ua+1|0}while((ua|0)!=11);ua=ld(da)|0;if(ua|0){Nb=0;do{b[sb+(Nb+67)>>0]=(h[da+Nb>>0]|0)+128;Nb=Nb+1|0}while(Nb>>>0<ua>>>0)}ua=S;Nb=0;do{wb=sb+Nb|0;L=h[wb>>0]|0;if(!(L&128))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(L&64))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(L&32))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(L&16))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(L&8))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(L&4))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(L&2))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(L&1))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);ua=b[wb>>0]^ua;Nb=Nb+1|0}while((Nb|0)!=(Vb|0));Ma(fa,ga,1e3,48e3,0.0,1.0,ha);Ma(fa,ga,1e3,48e3,0.0,1.0,ha);Ma(fa,ga,1e3,48e3,0.0,1.0,ha);Ma(fa,ga,1e3,48e3,0.0,1.0,ha);Ma(fa,ga,1e3,48e3,0.0,1.0,ha);Ma(fa,ga,1e3,48e3,0.0,1.0,ha);Ma(fa,ga,1e3,48e3,0.0,1.0,ha);Ma(fa,ga,1e3,48e3,0.0,1.0,ha);Nb=~ua&255;if(!(Nb&128))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(Nb&64))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(Nb&32))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(Nb&16))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(Nb&8))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(Nb&4))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(Nb&2))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(!(Nb&1))Ma(fa,ga,2e3,48e3,0.0,1.0,ha);else Ma(fa,ga,1e3,48e3,0.0,1.0,ha);Ma(fa,ga,1e3,48e3,0.0,1.0,ha);if(Wb){Ma(fa,ga,2e3,48e3,.25,0.0,ha);td=6e3}else{Ma(fa,ga,6e3,48e3,.25,0.0,ha);td=8e3}Nb=-1;S=0;do{wb=10528+S|0;L=h[wb>>0]|0;if(!(L&128))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(L&64))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(L&32))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(L&16))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(L&8))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(L&4))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(L&2))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(L&1))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);Nb=b[wb>>0]^Nb;S=S+1|0}while((S|0)!=48);S=(Zb|0)==0;if(S)ud=0;else{ua=I+12|0;wb=I+8|0;Pc=+(td|0);L=da+1|0;K=sb+77|0;lb=Vb+-77|0;qb=0;Pb=0;while(1){Tb=ia+(Pb<<3)|0;p[Tb>>3]=0.0;Qb=Yb+(Pb*272|0)+12|0;ib=f[Qb>>2]|0;Ub=Yb+(Pb*272|0)+4|0;pb=f[Ub>>2]|0;f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[ua>>2]=1;do if((ib|0)!=0|(pb|0)==0){Rb=gc(319296)|0;if(!Rb){Ea=440;break}f[Rb>>2]=5;f[Rb+4>>2]=I;f[Rb+8>>2]=4095;f[Rb+12>>2]=1366;f[Rb+20>>2]=0;f[Rb+16>>2]=342;ve(Rb+168562|0,0,65536)|0;hb=Rb+60|0;f[Rb+36>>2]=0;f[Rb+32>>2]=0;f[Rb+28>>2]=0;Sb=Rb+88|0;f[hb>>2]=0;f[hb+4>>2]=0;f[hb+8>>2]=0;f[hb+12>>2]=0;f[Sb>>2]=0;f[Sb+4>>2]=0;f[Sb+8>>2]=0;f[Sb+12>>2]=0;f[Sb+16>>2]=0;f[Rb+40>>2]=Rb+37491;f[Rb+44>>2]=Rb+37490;f[Rb+56>>2]=8;Sb=Rb+234098|0;f[Rb+48>>2]=Sb;f[Rb+52>>2]=Sb;f[Rb+108>>2]=0;f[Rb+84>>2]=0;f[Rb+80>>2]=0;f[Rb+76>>2]=0;f[Rb+24>>2]=1;Sb=Rb+112|0;f[Sb>>2]=0;f[Sb+4>>2]=0;f[Sb+8>>2]=0;f[Sb+12>>2]=0;f[Sb+16>>2]=0;f[Sb+20>>2]=0;f[Sb+24>>2]=0;f[Sb+28>>2]=0;ve(Rb+33170|0,0,640)|0;f[m>>2]=pb;Sb=(Ia(Rb,ib,m,0,0,4)|0)==1;hc(Rb);if(!Sb){Ea=440;break}Sb=f[I>>2]|0;Rb=f[wb>>2]|0;ue(66078,10016,512)|0;if(!Sb){vd=Rb;wd=-1;zd=0;break}hb=36863-Sb|0;Y=-1;ma=0;while(1){aa=Rb+ma|0;b[26398+(hb+ma)>>0]=b[aa>>0]|0;Z=b[aa>>0]^Y;ma=ma+1|0;if((ma|0)==(Sb|0)){vd=Rb;wd=Z;zd=Sb;break}else Y=Z}}else Ea=440;while(0);if((Ea|0)==440){Ea=0;ue(66078,10016,512)|0;vd=0;wd=-1;zd=0}b[63261]=wd;if(Wb){ue(63262,K|0,lb|0)|0;ib=255-zd&255;b[26398]=ib;pb=36863-zd|0;Y=pb>>>8&255;b[26399]=Y;b[26400]=0;b[26401]=-112;b[26402]=-1;b[63399]=-123;b[63400]=4;b[63401]=0;b[26391]=0;b[26392]=0;b[26393]=0;b[26390]=-3;Sb=b[26394]|32;b[26394]=Sb;f[6446]=0;d[13192]=-28570;Rb=b[63363]|0;b[26395]=Rb;if(Rb<<24>>24){ma=Sb;Sb=Rb;while(1){b[26394]=ma|32;b[26396]=0;b[26397]=0;Aa[f[8+((Sb&255)<<2)>>2]&127]();Aa[f[1032+((b[26395]&255)<<2)>>2]&127]();Rb=(f[6446]|0)+(f[2056+(h[26395]<<2)>>2]|0)|0;f[6446]=Rb;if(!((b[26396]|0)==0|(b[26397]|0)==0))f[6446]=Rb+1;f[6445]=(f[6445]|0)+1;if(0)Aa[f[6447]&127]();Rb=d[13192]|0;d[13192]=Rb+1<<16>>16;hb=b[26398+(Rb&65535)>>0]|0;b[26395]=hb;if(!(hb<<24>>24))break;ma=b[26394]|0;Sb=hb}Sb=b[26402]|0;if(Sb<<24>>24){Ad=Sb;Ea=455}}else{Ad=-1;Ea=455}if((Ea|0)==455){Ea=0;f[l>>2]=Ad&255;de(ca,20236,l)|0}Oc=+((f[6446]|0)>>>0)/1023.0e3+0.0;p[Tb>>3]=Oc;Bd=ib;Cd=pb;Dd=Y;Ed=Oc}else{Sb=36863-zd|0;Bd=255-zd&255;Cd=Sb;Dd=Sb>>>8&255;Ed=0.0}b[26414]=Bd;b[26415]=Dd;b[26416]=0;b[26417]=16;b[63262]=32;b[63263]=0;b[63264]=-101;b[63265]=0;b[26391]=0;b[26392]=0;b[26393]=0;b[26390]=-3;Sb=b[26394]|32;b[26394]=Sb;f[6446]=0;d[13192]=-28671;b[26395]=32;ma=Sb;Sb=32;while(1){b[26394]=ma|32;b[26396]=0;b[26397]=0;Aa[f[8+((Sb&255)<<2)>>2]&127]();Aa[f[1032+((b[26395]&255)<<2)>>2]&127]();hb=(f[6446]|0)+(f[2056+(h[26395]<<2)>>2]|0)|0;f[6446]=hb;if(!((b[26396]|0)==0|(b[26397]|0)==0))f[6446]=hb+1;f[6445]=(f[6445]|0)+1;if(0)Aa[f[6447]&127]();hb=d[13192]|0;d[13192]=hb+1<<16>>16;Rb=b[26398+(hb&65535)>>0]|0;b[26395]=Rb;if(!(Rb<<24>>24))break;ma=b[26394]|0;Sb=Rb}Sb=f[Qb>>2]|0;ma=0;while(1){Fd=ma+4096|0;if((b[26398+Fd>>0]|0)!=(b[Sb+ma>>0]|0)){Ea=467;break}ma=ma+1|0;if(ma>>>0>=28672){Id=Sb;break}}if((Ea|0)==467){Ea=0;f[k>>2]=Fd;de(ca,20278,k)|0;Id=f[Qb>>2]|0}Oc=Ed+ +((f[6446]|0)>>>0)/1023.0e3;p[Tb>>3]=Oc;hc(Id);f[Qb>>2]=vd;Rc=+(f[Ub>>2]|0);f[Ub>>2]=zd;Sb=Yb+(Pb*272|0)|0;f[Sb>>2]=Cd;b[ea+qb>>0]=Cd;ma=qb|2;b[ea+(qb|1)>>0]=(f[Sb>>2]|0)>>>8;Y=f[Ub>>2]|0;if((Y|0)>0){pb=f[Qb>>2]|0;ib=0;Rb=0;hb=0;while(1){Z=h[pb+hb>>0]|0;aa=Z>>>7;xb=Z>>>6&1;nb=Z>>>5&1;Ya=Z>>>4&1;yb=Z>>>3&1;$a=Z>>>2&1;ba=Z>>>1&1;cb=Z&1;Z=cb+(ba+($a+(yb+(Ya+(nb+(xb+(aa+Rb)))))))|0;ob=(cb^1)+((ba^1)+(($a^1)+((yb^1)+((Ya^1)+((nb^1)+((xb^1)+((aa^1)+ib)))))))|0;hb=hb+1|0;if((hb|0)>=(Y|0)){Jd=ob;Kd=Z;break}else{ib=ob;Rb=Z}}}else{Jd=0;Kd=0}f[j>>2]=~~(+(Kd>>>0)/Pc+ +(Jd>>>0)/12.0e3+.5+.25);vc(da,20744,j)|0;b[ea+ma>>0]=(h[da>>0]|0)+128;Rb=b[L>>0]|0;if(!(Rb<<24>>24))Ld=0;else Ld=(Rb&255)+128&255;b[ea+(qb|3)>>0]=Ld;Rb=f[Sb>>2]|0;ib=f[Ub>>2]|0;f[i>>2]=Pb;f[i+4>>2]=Rb;f[i+8>>2]=ib;p[i+16>>3]=(1.0-+(ib|0)/Rc)*100.0;f[i+24>>2]=da;p[i+32>>3]=Oc;de(ca,20747,i)|0;Pb=Pb+1|0;if((Pb|0)==(Zb|0))break;else qb=qb+4|0}ud=Zb<<2}ge(10,ca)|0;qb=0;Pb=Nb;do{L=9102+qb|0;lb=h[L>>0]|0;if(!(lb&128))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&64))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&32))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&16))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&8))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&4))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&2))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&1))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);Pb=b[L>>0]^Pb;qb=qb+1|0}while((qb|0)!=914);qb=ud|1;b[ea+ud>>0]=pa;Nb=0;L=Pb;do{lb=b[ea+Nb>>0]|0;K=lb&255;if(!(K&128))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(K&64))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(K&32))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(K&16))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(K&8))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(K&4))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(K&2))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(K&1))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);L=lb^L;Nb=Nb+1|0}while((Nb|0)!=(qb|0));qb=109-ud|0;Nb=0;do{Ma(fa,ga,12e3,48e3,0.0,1.0,ha);Ma(fa,ga,12e3,48e3,0.0,1.0,ha);Ma(fa,ga,12e3,48e3,0.0,1.0,ha);Ma(fa,ga,12e3,48e3,0.0,1.0,ha);Ma(fa,ga,12e3,48e3,0.0,1.0,ha);Ma(fa,ga,12e3,48e3,0.0,1.0,ha);Ma(fa,ga,12e3,48e3,0.0,1.0,ha);Ma(fa,ga,12e3,48e3,0.0,1.0,ha);Nb=Nb+1|0}while(Nb>>>0<qb>>>0);qb=0;Nb=L;do{Pb=10016+qb|0;lb=h[Pb>>0]|0;if(!(lb&128))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&64))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&32))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&16))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&8))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&4))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&2))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&1))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);Nb=b[Pb>>0]^Nb;qb=qb+1|0}while((qb|0)!=512);qb=0;L=Nb;do{Pb=10576+qb|0;lb=h[Pb>>0]|0;if(!(lb&128))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&64))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&32))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&16))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&8))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&4))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&2))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(lb&1))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);L=b[Pb>>0]^L;qb=qb+1|0}while((qb|0)!=8959);qb=L&255;if(!(qb&128))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(qb&64))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(qb&32))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(qb&16))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(qb&8))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(qb&4))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(qb&2))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(qb&1))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(Wb){Ma(fa,ga,770,48e3,0.0,2.0,ha);Ma(fa,ga,2e3,48e3,.3,0.0,ha)}else{Ma(fa,ga,2e3,48e3,0.0,1.0,ha);Ma(fa,ga,6e3,48e3,.1,0.0,ha)}if(!S){qb=(pa|0)==0?28:0;Nb=0;do{if(!Nb)Md=qb;else Md=~~+V(+(+p[ia+(Nb+-1<<3)>>3]+6.5));Pc=+(((Nb|0)==1?Md+2|0:Md)|0);if(Wb)Ma(fa,ga,2e3,48e3,Pc,0.0,ha);else Ma(fa,ga,6e3,48e3,Pc,0.0,ha);Pb=Yb+(Nb*272|0)+4|0;if((f[Pb>>2]|0)>0){lb=Yb+(Nb*272|0)+12|0;K=0;wb=-1;ua=f[lb>>2]|0;while(1){Vb=h[ua+K>>0]|0;if(!(Vb&128))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(Vb&64))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(Vb&32))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(Vb&16))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(Vb&8))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(Vb&4))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(Vb&2))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(Vb&1))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);ua=f[lb>>2]|0;Vb=b[ua+K>>0]^wb;K=K+1|0;if((K|0)>=(f[Pb>>2]|0)){Od=Vb;break}else wb=Vb}}else Od=-1;wb=Od&255;if(!(wb&128))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(wb&64))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(wb&32))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(wb&16))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(wb&8))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(wb&4))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(wb&2))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(!(wb&1))Ma(fa,ga,12e3,48e3,0.0,1.0,ha);else Ma(fa,ga,td,48e3,0.0,1.0,ha);if(Wb)Ma(fa,ga,770,48e3,0.0,10.0,ha);else Ma(fa,ga,2e3,48e3,0.0,10.0,ha);Nb=Nb+1|0}while((Nb|0)!=(Zb|0))}f[g>>2]=f[3100+(_b<<2)>>2];de(ca,20841,g)|0;Pd=48e3}else Pd=ra;Oc=+(Pd|0);Nb=~~(Oc*0.0);Wb=(Nb|0)==0?1:Nb;Nb=Wb+(f[ga>>2]|0)|0;do if((Nb|0)>(f[6448]|0)){qb=Nb+1e7|0;f[6448]=qb;S=ic(f[fa>>2]|0,qb<<3)|0;if(!S)sa();else{f[fa>>2]=S;break}}while(0);Nb=(Wb|0)>0;if(!0){if(Nb){Rc=+(f[ha>>2]|0)*3.141592653589793;S=f[fa>>2]|0;qb=f[ga>>2]|0;L=0;do{Pc=+N(+(Rc+ +(L|0)*6.283185307179586*0.0/Oc));p[S+(L+qb<<3)>>3]=Pc;L=L+1|0}while((L|0)!=(Wb|0))}}else if(Nb)ve((f[fa>>2]|0)+(f[ga>>2]<<3)|0,0,Wb<<3|0)|0;L=(f[ga>>2]|0)+Wb|0;f[ga>>2]=L;qb=~~(Oc*.1);S=L+qb|0;do if((S|0)>(f[6448]|0)){L=S+1e7|0;f[6448]=L;wb=ic(f[fa>>2]|0,L<<3)|0;if(!wb)sa();else{f[fa>>2]=wb;break}}while(0);S=(qb|0)>0;do if(!0){if(!S)break;Rc=+(f[ha>>2]|0)*3.141592653589793;Wb=f[fa>>2]|0;Nb=f[ga>>2]|0;wb=0;do{Pc=+N(+(Rc+ +(wb|0)*6.283185307179586*0.0/Oc));p[Wb+(wb+Nb<<3)>>3]=Pc;wb=wb+1|0}while((wb|0)!=(qb|0))}else{if(!S)break;ve((f[fa>>2]|0)+(f[ga>>2]<<3)|0,0,qb<<3|0)|0}while(0);S=(f[ga>>2]|0)+qb|0;f[ga>>2]=S;switch(lc|0){case 2:{Na(va,f[fa>>2]|0,S,Pd,qa,la);break}case 3:{Oa(va,f[fa>>2]|0,S,Pd,qa,la);break}default:{}}Nd(va)|0;_a=0;u=e;return _a|0}}else{b[da>>0]=0;Ea=137}while(0);xd(4585,ca)|0;_a=1;u=e;return _a|0}while(0);if(Zb|0){ca=(ya|0)==0;ya=ea+12|0;Ea=(0-ta&24)+8|0;ta=ea+8|0;qa=0;do{if(ca)Rd=Yb+(qa*272|0)+4|0;else{Pd=Yb+(qa*272|0)+12|0;fa=f[Pd>>2]|0;lc=Yb+(qa*272|0)+4|0;ga=f[lc>>2]|0;f[ea>>2]=0;f[ea+4>>2]=0;f[ea+8>>2]=0;f[ya>>2]=1;if(((fa|0)!=0|(ga|0)==0?(ha=gc(319296)|0,(ha|0)!=0):0)?(f[ha>>2]=5,f[ha+4>>2]=ea,f[ha+8>>2]=4095,f[ha+12>>2]=1366,f[ha+20>>2]=0,f[ha+16>>2]=342,ve(ha+168562|0,0,65536)|0,ra=ha+60|0,f[ha+36>>2]=0,f[ha+32>>2]=0,f[ha+28>>2]=0,g=ha+88|0,f[ra>>2]=0,f[ra+4>>2]=0,f[ra+8>>2]=0,f[ra+12>>2]=0,f[g>>2]=0,f[g+4>>2]=0,f[g+8>>2]=0,f[g+12>>2]=0,f[g+16>>2]=0,f[ha+40>>2]=ha+37491,f[ha+44>>2]=ha+37490,f[ha+56>>2]=8,g=ha+234098|0,f[ha+48>>2]=g,f[ha+52>>2]=g,f[ha+108>>2]=0,f[ha+84>>2]=0,f[ha+80>>2]=0,f[ha+76>>2]=0,f[ha+24>>2]=1,g=ha+112|0,f[g>>2]=0,f[g+4>>2]=0,f[g+8>>2]=0,f[g+12>>2]=0,f[g+16>>2]=0,f[g+20>>2]=0,f[g+24>>2]=0,f[g+28>>2]=0,ve(ha+33170|0,0,640)|0,f[da>>2]=ga,ga=(Ia(ha,fa,da,0,0,4)|0)==1,hc(ha),ga):0){Sd=f[ta>>2]|0;Td=f[ea>>2]|0}else{Sd=0;Td=0}hc(f[Pd>>2]|0);f[Pd>>2]=Sd;f[lc>>2]=Td;Rd=lc}lc=f[Yb+(qa*272|0)>>2]|0;f[G>>2]=lc;de(jc,20120,G)|0;if((f[Rd>>2]|0)>0){Pd=Yb+(qa*272|0)+12|0;ga=lc;lc=0;do{f[F>>2]=h[(f[Pd>>2]|0)+lc>>0];de(jc,20126,F)|0;ga=ga+1|0;if(((ga|0)%(Ea|0)|0|0)==0?(lc|0)<((f[Rd>>2]|0)+-1|0):0){f[E>>2]=ga;de(jc,20132,E)|0}lc=lc+1|0}while((lc|0)<(f[Rd>>2]|0))}ge(10,jc)|0;qa=qa+1|0}while((qa|0)!=(Zb|0))}Nd(jc)|0;_a=0;u=e;return _a|0}return 0}function Ma(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;g=+g;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0;i=+(d|0);j=(c|0)!=0;k=+(c|0);l=~~(j&g!=0.0?i*g/k:i*e);m=~~g;n=(l|0)==0?m:l;l=(f[b>>2]|0)+n|0;do if((l|0)>(f[6448]|0)){o=l+1e7|0;f[6448]=o;q=ic(f[a>>2]|0,o<<3)|0;if(!q)sa();else{f[a>>2]=q;break}}while(0);l=(n|0)>0;do if(!0){if(l){e=+(f[h>>2]|0)*3.141592653589793;q=f[a>>2]|0;o=f[b>>2]|0;r=0;do{s=+N(+(+(r|0)*6.283185307179586*k/i+e));p[q+(o+r<<3)>>3]=s;r=r+1|0}while((r|0)!=(n|0))}}else{if(!j){if(!l)break;ve((f[a>>2]|0)+(f[b>>2]<<3)|0,0,n<<3|0)|0;break}if(l){r=(d|0)/(c|0)|0;o=(r|0)/2|0;if((r|0)<=1)while(1){}r=o<<1;q=f[a>>2]|0;t=f[b>>2]|0;u=0;do{v=0;w=u;while(1){p[q+(t+w<<3)>>3]=1.0;v=v+1|0;if((v|0)==(o|0))break;else w=w+1|0}w=0;v=o+u|0;while(1){p[q+(t+v<<3)>>3]=-1.0;w=w+1|0;if((w|0)==(o|0))break;else v=v+1|0}u=r+u|0}while((u|0)<(n|0))}}while(0);if(!(g-+(m|0)==.5)){x=f[b>>2]|0;y=x+n|0;f[b>>2]=y;return}f[h>>2]=(f[h>>2]|0)==0&1;x=f[b>>2]|0;y=x+n|0;f[b>>2]=y;return}function Na(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;var g=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0.0;g=u;u=u+16|0;i=g;yd(20893,4,1,a)|0;j=W((e|0)/8|0,c)|0;k=j+46|0;ge(k>>>24,a)|0;ge(k>>>16&255,a)|0;ge(k>>>8&255,a)|0;ge(k&255,a)|0;yd(20898,4,1,a)|0;yd(20903,4,1,a)|0;ge(0,a)|0;ge(0,a)|0;ge(0,a)|0;ge(18,a)|0;ge(0,a)|0;ge(1,a)|0;ge(c>>>24,a)|0;ge(c>>>16&255,a)|0;ge(c>>>8&255,a)|0;ge(c&255,a)|0;ge(0,a)|0;ge(e,a)|0;Pa(+(d|0),i);ge(h[i>>0]|0,a)|0;ge(h[i+1>>0]|0,a)|0;ge(h[i+2>>0]|0,a)|0;ge(h[i+3>>0]|0,a)|0;ge(h[i+4>>0]|0,a)|0;ge(h[i+5>>0]|0,a)|0;ge(h[i+6>>0]|0,a)|0;ge(h[i+7>>0]|0,a)|0;ge(h[i+8>>0]|0,a)|0;ge(h[i+9>>0]|0,a)|0;yd(20908,4,1,a)|0;i=j+8|0;ge(i>>>24,a)|0;ge(i>>>16&255,a)|0;ge(i>>>8&255,a)|0;ge(i&255,a)|0;ge(0,a)|0;ge(0,a)|0;ge(0,a)|0;ge(0,a)|0;ge(0,a)|0;ge(0,a)|0;ge(0,a)|0;ge(0,a)|0;l=+p[b>>3];if((c|0)>1){m=l;n=l;i=1;while(1){o=+p[b+(i<<3)>>3];q=o>m?o:m;r=o<n?o:n;i=i+1|0;if((i|0)==(c|0)){s=q;t=r;break}else{m=q;n=r}}}else{s=l;t=l}i=!(t>=s);n=i?t:t+-1.0;t=i?s:s+1.0;s=(n+t)*.5;m=n-s;n=t-s;t=m<0.0?-m:m;i=(e|0)==16;m=(i?32760.0:124.0)*f/(t>(n<0.0?-n:n)?t:n);if((c|0)<=0){u=g;return}n=m*(l-s);if(i){i=~~n&65535;ge(i>>>8,a)|0;ge(i&255,a)|0;if((c|0)==1){u=g;return}i=1;do{e=~~(m*(+p[b+(i<<3)>>3]-s))&65535;ge(e>>>8,a)|0;ge(e&255,a)|0;i=i+1|0}while((i|0)!=(c|0));u=g;return}else{ge(~~n&255,a)|0;if((c|0)==1){u=g;return}i=1;do{ge(~~(m*(+p[b+(i<<3)>>3]-s))&255,a)|0;i=i+1|0}while((i|0)!=(c|0));u=g;return}}function Oa(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;var g=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0;yd(20913,4,1,a)|0;g=(e|0)/8|0;h=W(g,c)|0;i=h+36|0;ge(i&255,a)|0;ge(i>>>8&255,a)|0;ge(i>>>16&255,a)|0;ge(i>>>24,a)|0;yd(20918,4,1,a)|0;yd(20923,4,1,a)|0;ge(16,a)|0;ge(0,a)|0;ge(0,a)|0;ge(0,a)|0;ge(1,a)|0;ge(0,a)|0;ge(1,a)|0;ge(0,a)|0;ge(d&255,a)|0;ge(d>>>8&255,a)|0;ge(d>>>16&255,a)|0;ge(d>>>24,a)|0;i=W(g,d)|0;ge(i&255,a)|0;ge(i>>>8&255,a)|0;ge(i>>>16&255,a)|0;ge(i>>>24,a)|0;ge(g,a)|0;ge(0,a)|0;ge(e,a)|0;ge(0,a)|0;yd(20928,4,1,a)|0;ge(h&255,a)|0;ge(h>>>8&255,a)|0;ge(h>>>16&255,a)|0;ge(h>>>24,a)|0;j=+p[b>>3];if((c|0)>1){k=j;l=j;h=1;while(1){m=+p[b+(h<<3)>>3];n=m>k?m:k;o=m<l?m:l;h=h+1|0;if((h|0)==(c|0)){q=n;r=o;break}else{k=n;l=o}}}else{q=j;r=j}h=!(r>=q);l=h?r:r+-1.0;r=h?q:q+1.0;q=(l+r)*.5;k=l-q;l=r-q;r=k<0.0?-k:k;h=(e|0)==16;k=(h?32760.0:124.0)*f/(r>(l<0.0?-l:l)?r:l);if((c|0)<=0)return;l=k*(j-q);if(h){h=~~l&65535;ge(h&255,a)|0;ge(h>>>8,a)|0;if((c|0)==1)return;h=1;do{e=~~(k*(+p[b+(h<<3)>>3]-q))&65535;ge(e&255,a)|0;ge(e>>>8,a)|0;h=h+1|0}while((h|0)!=(c|0));return}else{ge((~~l&255)+128|0,a)|0;if((c|0)==1)return;h=1;do{ge((~~(k*(+p[b+(h<<3)>>3]-q))&255)+128|0,a)|0;h=h+1|0}while((h|0)!=(c|0));return}}function Pa(a,c){a=+a;c=c|0;var d=0,e=0,g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0.0;d=u;u=u+16|0;e=d;g=a<0.0;h=g?32768:0;i=g?-a:a;do if(i==0.0){f[e>>2]=0;j=0;k=0;l=0}else{a=+Pc(i,e);g=f[e>>2]|0;if(!(a<1.0&(g|0)<16385)){m=h|32767;f[e>>2]=m;j=0;k=0;l=m;break}m=g+16382|0;if((g|0)<-16382){n=+fe(a,m);o=0}else{n=a;o=m}m=o|h;f[e>>2]=m;a=+fe(n,32);p=+I(+a);j=~~(+I(+(+fe(a-p,32)))+-2147483648.0)^-2147483648;k=~~(p+-2147483648.0)^-2147483648;l=m}while(0);b[c>>0]=l>>>8;b[c+1>>0]=l;b[c+2>>0]=k>>>24;b[c+3>>0]=k>>>16;b[c+4>>0]=k>>>8;b[c+5>>0]=k;b[c+6>>0]=j>>>24;b[c+7>>0]=j>>>16;b[c+8>>0]=j>>>8;b[c+9>>0]=j;u=d;return}function Qa(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,k=0,l=0,m=0;g=e+-1|0;if(!(c>>>0>2&g>>>0<32768))ga(21044,4572,2393,21138);e=a+60|0;f[e>>2]=(f[e>>2]|0)+c;e=c+-3|0;c=a+40|0;b[f[c>>2]>>0]=e;b[(f[c>>2]|0)+1>>0]=g;i=g>>>8;b[(f[c>>2]|0)+2>>0]=i;f[c>>2]=(f[c>>2]|0)+3;k=a+44|0;l=f[k>>2]|0;b[l>>0]=(h[l>>0]|0)>>>1|128;l=a+56|0;m=(f[l>>2]|0)+-1|0;f[l>>2]=m;if(!m){f[l>>2]=8;l=f[c>>2]|0;f[c>>2]=l+1;f[k>>2]=l}l=a+33746+(((g>>>0<512?b[21157+(g&511)>>0]|0:b[21669+i>>0]|0)&255)<<1)|0;d[l>>1]=(d[l>>1]|0)+1<<16>>16;l=a+33170+((j[4056+(e<<1)>>1]|0)<<1)|0;d[l>>1]=(d[l>>1]|0)+1<<16>>16;return}function Ra(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0;e=u;u=u+640|0;g=e+320|0;i=e;if(c){ve(a+36626|0,8,144)|0;k=a+36770|0;l=k+112|0;do{b[k>>0]=9;k=k+1|0}while((k|0)<(l|0));k=a+36882|0;l=k+24|0;do{b[k>>0]=7;k=k+1|0}while((k|0)<(l|0));c=a+36906|0;m=c;b[m>>0]=8;b[m+1>>0]=8;b[m+2>>0]=8;b[m+3>>0]=8;m=c+4|0;b[m>>0]=8;b[m+1>>0]=8;b[m+2>>0]=8;b[m+3>>0]=8;m=a+36914|0;k=m;l=k+32|0;do{d[k>>1]=1285;k=k+2|0}while((k|0)<(l|0));ve(g|0,0,132)|0;f[g+32>>2]=1;c=1;do{n=b[a+36626+c>>0]|0;f[g+((n&255)<<2)>>2]=(f[g+((n&255)<<2)>>2]|0)+1;c=c+1|0}while((c|0)!=288);c=i+4|0;f[c>>2]=0;n=g+4|0;o=f[n>>2]<<1;p=i+8|0;f[p>>2]=o;q=g+8|0;r=(f[q>>2]|0)+o<<1;o=i+12|0;f[o>>2]=r;s=g+12|0;t=(f[s>>2]|0)+r<<1;r=i+16|0;f[r>>2]=t;v=g+16|0;w=(f[v>>2]|0)+t<<1;t=i+20|0;f[t>>2]=w;x=g+20|0;y=(f[x>>2]|0)+w<<1;w=i+24|0;f[w>>2]=y;z=g+24|0;A=(f[z>>2]|0)+y<<1;y=i+28|0;f[y>>2]=A;B=g+28|0;C=(f[B>>2]|0)+A<<1;A=i+32|0;f[A>>2]=C;D=g+32|0;E=(f[D>>2]|0)+C<<1;C=i+36|0;f[C>>2]=E;F=g+36|0;G=(f[F>>2]|0)+E<<1;E=i+40|0;f[E>>2]=G;H=g+40|0;I=(f[H>>2]|0)+G<<1;G=i+44|0;f[G>>2]=I;J=g+44|0;K=(f[J>>2]|0)+I<<1;I=i+48|0;f[I>>2]=K;L=g+48|0;M=(f[L>>2]|0)+K<<1;K=i+52|0;f[K>>2]=M;N=g+52|0;O=(f[N>>2]|0)+M<<1;M=i+56|0;f[M>>2]=O;P=g+56|0;Q=i+60|0;f[Q>>2]=(f[P>>2]|0)+O<<1;O=0;R=8;while(1){S=R&255;if(R<<24>>24){T=i+(S<<2)|0;U=f[T>>2]|0;f[T>>2]=U+1;T=U;U=0;V=S;while(1){U=U<<1|T&1;if((V|0)<=1)break;else{T=T>>>1;V=V+-1|0}}d[a+34898+(O<<1)>>1]=U}V=O+1|0;if((V|0)==288)break;O=V;R=b[a+36626+V>>0]|0}ve(g|0,0,132)|0;R=g+(h[m>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36915>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36916>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36917>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36918>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36919>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36920>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36921>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36922>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36923>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36924>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36925>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36926>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36927>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36928>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36929>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36930>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36931>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36932>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36933>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36934>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36935>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36936>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36937>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36938>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36939>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36940>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36941>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36942>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36943>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36944>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;R=g+(h[a+36945>>0]<<2)|0;f[R>>2]=(f[R>>2]|0)+1;f[c>>2]=0;c=f[n>>2]<<1;f[p>>2]=c;p=(f[q>>2]|0)+c<<1;f[o>>2]=p;o=(f[s>>2]|0)+p<<1;f[r>>2]=o;r=(f[v>>2]|0)+o<<1;f[t>>2]=r;t=(f[x>>2]|0)+r<<1;f[w>>2]=t;w=(f[z>>2]|0)+t<<1;f[y>>2]=w;y=(f[B>>2]|0)+w<<1;f[A>>2]=y;A=(f[D>>2]|0)+y<<1;f[C>>2]=A;C=(f[F>>2]|0)+A<<1;f[E>>2]=C;E=(f[H>>2]|0)+C<<1;f[G>>2]=E;G=(f[J>>2]|0)+E<<1;f[I>>2]=G;I=(f[L>>2]|0)+G<<1;f[K>>2]=I;K=(f[N>>2]|0)+I<<1;f[M>>2]=K;f[Q>>2]=(f[P>>2]|0)+K<<1;K=0;do{P=b[a+36914+K>>0]|0;Q=P&255;if(P<<24>>24){P=i+(Q<<2)|0;M=f[P>>2]|0;f[P>>2]=M+1;P=M;M=0;I=Q;while(1){M=M<<1|P&1;if((I|0)<=1)break;else{P=P>>>1;I=I+-1|0}}d[a+35474+(K<<1)>>1]=M}K=K+1|0}while((K|0)!=32);K=a+68|0;I=f[K>>2]|0;P=a+72|0;U=f[P>>2]|1<<I;f[P>>2]=U;Q=I+2|0;f[K>>2]=Q;if(Q>>>0>7){I=a+48|0;N=a+52|0;G=Q;L=U;while(1){E=f[I>>2]|0;if(E>>>0<(f[N>>2]|0)>>>0){f[I>>2]=E+1;b[E>>0]=L;W=f[P>>2]|0;X=f[K>>2]|0}else{W=L;X=G}E=W>>>8;f[P>>2]=E;J=X+-8|0;f[K>>2]=J;if(J>>>0>7){G=J;L=E}else{Y=E;Z=J;break}}}else{Y=U;Z=Q}}else{d[a+33682>>1]=1;Sa(a,0,288,15,0);Sa(a,1,32,15,0);do if(!(b[a+36911>>0]|0))if(!(b[a+36910>>0]|0))if(!(b[a+36909>>0]|0))if(!(b[a+36908>>0]|0))if(!(b[a+36907>>0]|0))if(!(b[a+36906>>0]|0))if(!(b[a+36905>>0]|0))if(!(b[a+36904>>0]|0))if(!(b[a+36903>>0]|0))if(!(b[a+36902>>0]|0))if(!(b[a+36901>>0]|0))if(!(b[a+36900>>0]|0))if(!(b[a+36899>>0]|0))if(!(b[a+36898>>0]|0))if(!(b[a+36897>>0]|0))if(!(b[a+36896>>0]|0))if(!(b[a+36895>>0]|0)){if(b[a+36894>>0]|0){_=269;break}if(b[a+36893>>0]|0){_=268;break}if(b[a+36892>>0]|0){_=267;break}if(b[a+36891>>0]|0){_=266;break}if(b[a+36890>>0]|0){_=265;break}if(b[a+36889>>0]|0){_=264;break}if(b[a+36888>>0]|0){_=263;break}if(b[a+36887>>0]|0){_=262;break}if(b[a+36886>>0]|0){_=261;break}if(b[a+36885>>0]|0){_=260;break}if(b[a+36884>>0]|0){_=259;break}_=(b[a+36883>>0]|0)==0?257:258}else _=270;else _=271;else _=272;else _=273;else _=274;else _=275;else _=276;else _=277;else _=278;else _=279;else _=280;else _=281;else _=282;else _=283;else _=284;else _=285;else _=286;while(0);do if(!(b[a+36943>>0]|0))if(!(b[a+36942>>0]|0))if(!(b[a+36941>>0]|0))if(!(b[a+36940>>0]|0))if(!(b[a+36939>>0]|0))if(!(b[a+36938>>0]|0))if(!(b[a+36937>>0]|0))if(!(b[a+36936>>0]|0))if(!(b[a+36935>>0]|0))if(!(b[a+36934>>0]|0))if(!(b[a+36933>>0]|0))if(!(b[a+36932>>0]|0))if(!(b[a+36931>>0]|0))if(!(b[a+36930>>0]|0))if(!(b[a+36929>>0]|0))if(!(b[a+36928>>0]|0)){if(b[a+36927>>0]|0){$=14;break}if(b[a+36926>>0]|0){$=13;break}if(b[a+36925>>0]|0){$=12;break}if(b[a+36924>>0]|0){$=11;break}if(b[a+36923>>0]|0){$=10;break}if(b[a+36922>>0]|0){$=9;break}if(b[a+36921>>0]|0){$=8;break}if(b[a+36920>>0]|0){$=7;break}if(b[a+36919>>0]|0){$=6;break}if(b[a+36918>>0]|0){$=5;break}if(b[a+36917>>0]|0){$=4;break}if(b[a+36916>>0]|0){$=3;break}$=(b[a+36915>>0]|0)==0?1:2}else $=15;else $=16;else $=17;else $=18;else $=19;else $=20;else $=21;else $=22;else $=23;else $=24;else $=25;else $=26;else $=27;else $=28;else $=29;else $=30;while(0);ue(g|0,a+36626|0,_|0)|0;ue(g+_|0,a+36914|0,$|0)|0;Q=$+_|0;U=a+34322|0;k=U;l=k+38|0;do{d[k>>1]=0;k=k+2|0}while((k|0)<(l|0));k=a+34358|0;l=a+34354|0;L=a+34356|0;G=0;K=0;X=0;P=0;W=-1;while(1){I=W;W=b[g+G>>0]|0;do if(!(W<<24>>24)){do if(P)if(P>>>0<3){N=a+34322+((I&255)<<1)|0;d[N>>1]=P+(j[N>>1]|0);ve(i+K|0,I|0,P|0)|0;aa=P+K|0;break}else{d[l>>1]=(j[l>>1]|0)+1;b[i+K>>0]=16;b[i+(K+1)>>0]=P+253;aa=K+2|0;break}else aa=K;while(0);N=X+1|0;if((N|0)==138){d[k>>1]=(j[k>>1]|0)+1;b[i+aa>>0]=18;b[i+(aa+1)>>0]=X+246;ba=aa+2|0;ca=0;da=0}else{ba=aa;ca=N;da=0}}else{do if(X){if(X>>>0<3){d[U>>1]=X+(j[U>>1]|0);ve(i+K|0,0,X|0)|0;ea=X+K|0;break}if(X>>>0<11){d[L>>1]=(j[L>>1]|0)+1;b[i+K>>0]=17;b[i+(K+1)>>0]=X+253;ea=K+2|0;break}else{d[k>>1]=(j[k>>1]|0)+1;b[i+K>>0]=18;b[i+(K+1)>>0]=X+245;ea=K+2|0;break}}else ea=K;while(0);N=W&255;J=I&255;if(W<<24>>24==I<<24>>24){E=P+1|0;if((E|0)!=6){ba=ea;ca=0;da=E;break}d[l>>1]=(j[l>>1]|0)+1;b[i+ea>>0]=16;b[i+(ea+1)>>0]=P+254;ba=ea+2|0;ca=0;da=0;break}do if(P)if(P>>>0<3){E=a+34322+(J<<1)|0;d[E>>1]=P+(j[E>>1]|0);ve(i+ea|0,I|0,P|0)|0;fa=ea+P|0;break}else{d[l>>1]=(j[l>>1]|0)+1;b[i+ea>>0]=16;b[i+(ea+1)>>0]=P+253;fa=ea+2|0;break}else fa=ea;while(0);J=a+34322+(N<<1)|0;d[J>>1]=(j[J>>1]|0)+1;b[i+fa>>0]=W;ba=fa+1|0;ca=0;da=0}while(0);G=G+1|0;if((G|0)==(Q|0))break;else{K=ba;X=ca;P=da}}do if(!da)if(ca){if(ca>>>0<3){d[U>>1]=ca+(j[U>>1]|0);ve(i+ba|0,0,ca|0)|0;ha=ba+ca|0;break}if(ca>>>0<11){d[L>>1]=(j[L>>1]|0)+1;b[i+ba>>0]=17;b[i+(ba+1)>>0]=ca+253;ha=ba+2|0;break}else{d[k>>1]=(j[k>>1]|0)+1;b[i+ba>>0]=18;b[i+(ba+1)>>0]=ca+245;ha=ba+2|0;break}}else ha=ba;else if(da>>>0<3){P=a+34322+((W&255)<<1)|0;d[P>>1]=da+(j[P>>1]|0);ve(i+ba|0,W|0,da|0)|0;ha=ba+da|0;break}else{d[l>>1]=(j[l>>1]|0)+1;b[i+ba>>0]=16;b[i+(ba+1)>>0]=da+253;ha=ba+2|0;break}while(0);Sa(a,2,19,7,0);ba=a+68|0;da=f[ba>>2]|0;l=a+72|0;W=f[l>>2]|2<<da;f[l>>2]=W;ca=da+2|0;f[ba>>2]=ca;if(ca>>>0>7){da=a+48|0;k=a+52|0;L=ca;U=W;while(1){P=f[da>>2]|0;if(P>>>0<(f[k>>2]|0)>>>0){f[da>>2]=P+1;b[P>>0]=U;ia=f[l>>2]|0;ja=f[ba>>2]|0}else{ia=U;ja=L}P=ia>>>8;f[l>>2]=P;X=ja+-8|0;f[ba>>2]=X;if(X>>>0>7){L=X;U=P}else{ka=P;la=X;break}}}else{ka=W;la=ca}ca=_+-257|0;if(ca>>>0>=32)ga(21844,4572,1896,21911);_=ca<<la|ka;f[l>>2]=_;ka=la+5|0;f[ba>>2]=ka;if(ka>>>0>7){la=a+48|0;ca=a+52|0;W=ka;U=_;while(1){L=f[la>>2]|0;if(L>>>0<(f[ca>>2]|0)>>>0){f[la>>2]=L+1;b[L>>0]=U;ma=f[l>>2]|0;na=f[ba>>2]|0}else{ma=U;na=W}L=ma>>>8;f[l>>2]=L;ja=na+-8|0;f[ba>>2]=ja;if(ja>>>0>7){W=ja;U=L}else{oa=L;pa=ja;break}}}else{oa=_;pa=ka}ka=$+-1|0;if(ka>>>0>=32)ga(21844,4572,1897,21911);$=ka<<pa|oa;f[l>>2]=$;oa=pa+5|0;f[ba>>2]=oa;if(oa>>>0>7){pa=a+48|0;ka=a+52|0;_=oa;U=$;while(1){W=f[pa>>2]|0;if(W>>>0<(f[ka>>2]|0)>>>0){f[pa>>2]=W+1;b[W>>0]=U;qa=f[l>>2]|0;ra=f[ba>>2]|0}else{qa=U;ra=_}W=qa>>>8;f[l>>2]=W;na=ra+-8|0;f[ba>>2]=na;if(na>>>0>7){_=na;U=W}else{sa=W;ta=na;break}}}else{sa=$;ta=oa}do if(!(b[a+37217>>0]|0))if(!(b[a+37203>>0]|0))if(!(b[a+37216>>0]|0))if(!(b[a+37204>>0]|0))if(!(b[a+37215>>0]|0))if(!(b[a+37205>>0]|0))if(!(b[a+37214>>0]|0))if(!(b[a+37206>>0]|0))if(!(b[a+37213>>0]|0)){if(b[a+37207>>0]|0){ua=10;va=80;break}if(b[a+37212>>0]|0){ua=9;va=80;break}if(b[a+37208>>0]|0){ua=8;va=80;break}if(b[a+37211>>0]|0){ua=7;va=80;break}if(b[a+37209>>0]|0){ua=6;va=80;break}if(b[a+37210>>0]|0){ua=5;va=80;break}if(b[a+37202>>0]|0){ua=4;va=80;break}if(b[a+37220>>0]|0){ua=4;va=80;break}if(b[a+37219>>0]|0){ua=4;va=80;break}if(!(b[a+37218>>0]|0)){wa=0;xa=4}else{ua=4;va=80}}else{ua=11;va=80}else{ua=12;va=80}else{ua=13;va=80}else{ua=14;va=80}else{ua=15;va=80}else{ua=16;va=80}else{ua=17;va=80}else{ua=18;va=80}else{ua=19;va=80}while(0);if((va|0)==80){wa=ua+-4|0;xa=ua}ua=wa<<ta|sa;f[l>>2]=ua;sa=ta+4|0;f[ba>>2]=sa;ta=a+48|0;wa=a+52|0;if(sa>>>0>7){oa=sa;$=ua;while(1){U=f[ta>>2]|0;if(U>>>0<(f[wa>>2]|0)>>>0){f[ta>>2]=U+1;b[U>>0]=$;ya=f[l>>2]|0;za=f[ba>>2]|0}else{ya=$;za=oa}U=ya>>>8;f[l>>2]=U;_=za+-8|0;f[ba>>2]=_;if(_>>>0>7){oa=_;$=U}else{Aa=U;Ba=_;break}}}else{Aa=ua;Ba=sa}sa=0;ua=Ba;Ba=Aa;while(1){Aa=b[(h[21937+sa>>0]|0)+(a+37202)>>0]|0;if((Aa&255)>=8){va=88;break}$=(Aa&255)<<ua|Ba;f[l>>2]=$;Aa=ua+3|0;f[ba>>2]=Aa;if(Aa>>>0>7){oa=Aa;za=$;while(1){ya=f[ta>>2]|0;if(ya>>>0<(f[wa>>2]|0)>>>0){f[ta>>2]=ya+1;b[ya>>0]=za;Ca=f[l>>2]|0;Da=f[ba>>2]|0}else{Ca=za;Da=oa}ya=Ca>>>8;f[l>>2]=ya;_=Da+-8|0;f[ba>>2]=_;if(_>>>0>7){oa=_;za=ya}else{Ea=ya;Fa=_;break}}}else{Ea=$;Fa=Aa}sa=sa+1|0;if((sa|0)>=(xa|0))break;else{ua=Fa;Ba=Ea}}if((va|0)==88)ga(21844,4572,1901,21911);a:do if(ha){Ba=0;ua=Fa;xa=Ea;b:while(1){sa=Ba+1|0;Da=b[i+Ba>>0]|0;Ca=Da&255;if((Da&255)>=19){va=98;break}za=j[a+36050+(Ca<<1)>>1]|0;oa=h[a+37202+Ca>>0]|0;if(((1<<oa)+-1|0)>>>0<za>>>0){va=100;break}_=za<<ua|xa;f[l>>2]=_;za=ua+oa|0;f[ba>>2]=za;if(za>>>0>7){oa=za;ya=_;while(1){U=f[ta>>2]|0;if(U>>>0<(f[wa>>2]|0)>>>0){f[ta>>2]=U+1;b[U>>0]=ya;Ga=f[l>>2]|0;Ha=f[ba>>2]|0}else{Ga=ya;Ha=oa}U=Ga>>>8;f[l>>2]=U;ra=Ha+-8|0;f[ba>>2]=ra;if(ra>>>0>7){oa=ra;ya=U}else{Ia=ra;Ja=U;break}}}else{Ia=za;Ja=_}do if((Da&255)>15){ya=Ba+2|0;oa=h[i+sa>>0]|0;N=b[4568+(Ca+-16)>>0]|0;if(((1<<N)+-1|0)>>>0<oa>>>0){va=108;break b}U=oa<<Ia|Ja;f[l>>2]=U;oa=Ia+N|0;f[ba>>2]=oa;if(oa>>>0<=7){Ka=ya;La=U;Ma=oa;break}N=oa;oa=U;while(1){U=f[ta>>2]|0;if(U>>>0<(f[wa>>2]|0)>>>0){f[ta>>2]=U+1;b[U>>0]=oa;Na=f[l>>2]|0;Oa=f[ba>>2]|0}else{Na=oa;Oa=N}U=Na>>>8;f[l>>2]=U;ra=Oa+-8|0;f[ba>>2]=ra;if(ra>>>0>7){N=ra;oa=U}else{Ka=ya;La=U;Ma=ra;break}}}else{Ka=sa;La=Ja;Ma=Ia}while(0);if(Ka>>>0<ha>>>0){Ba=Ka;ua=Ma;xa=La}else{Pa=La;Qa=Ma;break a}}if((va|0)==98)ga(21956,4572,1905,21911);else if((va|0)==100)ga(21844,4572,1906,21911);else if((va|0)==108)ga(21844,4572,1907,21911)}else{Pa=Ea;Qa=Fa}while(0);Y=Pa;Z=Qa}Qa=a+37490|0;Pa=a+40|0;c:do if(Qa>>>0<(f[Pa>>2]|0)>>>0){Fa=a+68|0;Ea=a+72|0;Ma=a+48|0;La=a+52|0;Ka=Qa;ha=1;Ia=Z;Ja=Y;while(1){if((ha|0)==1){Ra=h[Ka>>0]|256;Ta=Ka+1|0}else{Ra=ha;Ta=Ka}if(!(Ra&1)){ba=Ta+1|0;Oa=h[Ta>>0]|0;l=b[a+36626+Oa>>0]|0;Na=l&255;if(!(l<<24>>24)){va=228;break}l=j[a+34898+(Oa<<1)>>1]|0;if(((1<<Na)+-1|0)>>>0<l>>>0){va=230;break}Oa=Ja|l<<Ia;f[Ea>>2]=Oa;l=Ia+Na|0;f[Fa>>2]=l;if(l>>>0>7){Na=Oa;ta=l;while(1){wa=f[Ma>>2]|0;if(wa>>>0<(f[La>>2]|0)>>>0){f[Ma>>2]=wa+1;b[wa>>0]=Na;Ua=f[Ea>>2]|0;Va=f[Fa>>2]|0}else{Ua=Na;Va=ta}wa=Ua>>>8;f[Ea>>2]=wa;i=Va+-8|0;f[Fa>>2]=i;if(i>>>0>7){Na=wa;ta=i}else{Wa=ba;Xa=wa;Ya=i;break}}}else{Wa=ba;Xa=Oa;Ya=l}}else{ta=h[Ta>>0]|0;Na=h[Ta+2>>0]|0;i=Na<<8|h[Ta+1>>0];wa=Ta+3|0;Ha=j[4056+(ta<<1)>>1]|0;Ga=b[a+36626+Ha>>0]|0;xa=Ga&255;if(!(Ga<<24>>24)){va=193;break}Ga=j[a+34898+(Ha<<1)>>1]|0;if(((1<<xa)+-1|0)>>>0<Ga>>>0){va=195;break}Ha=Ja|Ga<<Ia;f[Ea>>2]=Ha;Ga=Ia+xa|0;f[Fa>>2]=Ga;if(Ga>>>0>7){xa=Ga;ua=Ha;while(1){Ba=f[Ma>>2]|0;if(Ba>>>0<(f[La>>2]|0)>>>0){f[Ma>>2]=Ba+1;b[Ba>>0]=ua;Za=f[Ea>>2]|0;_a=f[Fa>>2]|0}else{Za=ua;_a=xa}Ba=Za>>>8;f[Ea>>2]=Ba;Aa=_a+-8|0;f[Fa>>2]=Aa;if(Aa>>>0>7){xa=Aa;ua=Ba}else{$a=Ba;ab=Aa;break}}}else{$a=Ha;ab=Ga}ua=h[22064+ta>>0]|0;xa=f[3112+(ua<<2)>>2]&ta;if(xa>>>0>((1<<ua)+-1|0)>>>0){va=202;break}l=xa<<ab|$a;f[Ea>>2]=l;xa=ab+ua|0;f[Fa>>2]=xa;if(xa>>>0>7){ua=l;Oa=xa;while(1){ba=f[Ma>>2]|0;if(ba>>>0<(f[La>>2]|0)>>>0){f[Ma>>2]=ba+1;b[ba>>0]=ua;bb=f[Ea>>2]|0;cb=f[Fa>>2]|0}else{bb=ua;cb=Oa}ba=bb>>>8;f[Ea>>2]=ba;Aa=cb+-8|0;f[Fa>>2]=Aa;if(Aa>>>0>7){ua=ba;Oa=Aa}else{db=ba;eb=Aa;break}}}else{db=l;eb=xa}if(i>>>0<512){fb=h[21157+i>>0]|0;gb=22320+i|0}else{fb=h[21669+Na>>0]|0;gb=22832+Na|0}Oa=h[gb>>0]|0;ua=b[a+36914+fb>>0]|0;ta=ua&255;if(!(ua<<24>>24)){va=212;break}ua=j[a+35474+(fb<<1)>>1]|0;if(((1<<ta)+-1|0)>>>0<ua>>>0){va=214;break}Ga=ua<<eb|db;f[Ea>>2]=Ga;ua=eb+ta|0;f[Fa>>2]=ua;if(ua>>>0>7){ta=Ga;Ha=ua;while(1){Aa=f[Ma>>2]|0;if(Aa>>>0<(f[La>>2]|0)>>>0){f[Ma>>2]=Aa+1;b[Aa>>0]=ta;hb=f[Ea>>2]|0;ib=f[Fa>>2]|0}else{hb=ta;ib=Ha}Aa=hb>>>8;f[Ea>>2]=Aa;ba=ib+-8|0;f[Fa>>2]=ba;if(ba>>>0>7){ta=Aa;Ha=ba}else{jb=Aa;kb=ba;break}}}else{jb=Ga;kb=ua}Ha=f[3112+(Oa<<2)>>2]&i;if(Ha>>>0>((1<<Oa)+-1|0)>>>0){va=221;break}ta=Ha<<kb|jb;f[Ea>>2]=ta;Ha=kb+Oa|0;f[Fa>>2]=Ha;if(Ha>>>0>7){Na=ta;xa=Ha;while(1){l=f[Ma>>2]|0;if(l>>>0<(f[La>>2]|0)>>>0){f[Ma>>2]=l+1;b[l>>0]=Na;lb=f[Ea>>2]|0;mb=f[Fa>>2]|0}else{lb=Na;mb=xa}l=lb>>>8;f[Ea>>2]=l;ba=mb+-8|0;f[Fa>>2]=ba;if(ba>>>0>7){Na=l;xa=ba}else{Wa=wa;Xa=l;Ya=ba;break}}}else{Wa=wa;Xa=ta;Ya=Ha}}if(Wa>>>0<(f[Pa>>2]|0)>>>0){Ka=Wa;ha=Ra>>>1;Ia=Ya;Ja=Xa}else{nb=Ya;ob=Xa;break c}}if((va|0)==193)ga(21988,4572,2036,22040);else if((va|0)==195)ga(21844,4572,2037,22040);else if((va|0)==202)ga(21844,4572,2038,22040);else if((va|0)==212)ga(22960,4572,2048,22040);else if((va|0)==214)ga(21844,4572,2049,22040);else if((va|0)==221)ga(21844,4572,2050,22040);else if((va|0)==228)ga(22989,4572,2055,22040);else if((va|0)==230)ga(21844,4572,2056,22040)}else{nb=Z;ob=Y}while(0);Y=j[a+35410>>1]|0;Z=h[a+36882>>0]|0;if(((1<<Z)+-1|0)>>>0<Y>>>0)ga(21844,4572,2060,22040);va=a+68|0;Xa=a+72|0;Ya=ob|Y<<nb;f[Xa>>2]=Ya;Y=nb+Z|0;f[va>>2]=Y;Z=a+48|0;nb=f[Z>>2]|0;ob=a+52|0;a=f[ob>>2]|0;Ra=nb>>>0<a>>>0;if(Y>>>0<=7){pb=Ra;qb=pb&1;u=e;return qb|0}Wa=Ya;Ya=nb;nb=a;a=Y;Y=Ra;while(1){if(Y){f[Z>>2]=Ya+1;b[Ya>>0]=Wa;rb=f[Xa>>2]|0;sb=f[va>>2]|0;tb=f[Z>>2]|0;ub=f[ob>>2]|0}else{rb=Wa;sb=a;tb=Ya;ub=nb}Wa=rb>>>8;f[Xa>>2]=Wa;a=sb+-8|0;f[va>>2]=a;Ra=tb>>>0<ub>>>0;if(a>>>0<=7){pb=Ra;break}else{Ya=tb;nb=ub;Y=Ra}}qb=pb&1;u=e;return qb|0}function Sa(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;k=u;u=u+5648|0;l=k+1288|0;m=k+264|0;n=k+132|0;o=k;p=k+4488|0;q=k+3336|0;ve(n|0,0,132)|0;if(!i){if((e|0)>0){i=0;r=0;while(1){s=d[a+33170+(c*576|0)+(r<<1)>>1]|0;if(!(s<<16>>16))t=i;else{d[p+(i<<2)>>1]=s;d[p+(i<<2)+2>>1]=r;t=i+1|0}r=r+1|0;if((r|0)==(e|0)){v=t;break}else i=t}}else v=0;ve(l|0,0,2048)|0;if(!v){t=0;i=0;while(1){f[m+(i<<2)>>2]=t;r=i+1|0;if((r|0)==256)break;else{t=(f[l+(i<<2)>>2]|0)+t|0;i=r}}w=q}else{i=0;do{t=j[p+(i<<2)>>1]|0;r=l+((t&255)<<2)|0;f[r>>2]=(f[r>>2]|0)+1;r=l+((t>>>8|256)<<2)|0;f[r>>2]=(f[r>>2]|0)+1;i=i+1|0}while((i|0)!=(v|0));i=(f[l+1024>>2]|0)==(v|0)?1:2;r=0;t=0;s=q;q=p;while(1){p=l+(t<<8<<2)|0;x=0;y=0;while(1){f[m+(y<<2)>>2]=x;z=y+1|0;if((z|0)==256)break;else{x=(f[p+(y<<2)>>2]|0)+x|0;y=z}}y=0;do{x=q+(y<<2)|0;p=m+(((j[x>>1]|0)>>>r&255)<<2)|0;z=f[p>>2]|0;f[p>>2]=z+1;p=s+(z<<2)|0;z=j[x>>1]|j[x+2>>1]<<16;d[p>>1]=z;d[p+2>>1]=z>>>16;y=y+1|0}while((y|0)!=(v|0));t=t+1|0;if((t|0)==(i|0)){w=s;break}else{y=q;r=r+8|0;q=s;s=y}}}switch(v|0){case 0:break;case 1:{d[w>>1]=1;A=53;break}default:{s=(j[w>>1]|0)+(j[w+4>>1]|0)&65535;d[w>>1]=s;q=v+-1|0;if((v|0)>2){r=1;i=2;t=0;m=s;while(1){s=w+(t<<2)|0;if((i|0)<(v|0)?(l=d[w+(i<<2)>>1]|0,(m&65535)>=(l&65535)):0){d[w+(r<<2)>>1]=l;B=i+1|0;C=t}else{d[w+(r<<2)>>1]=m;d[s>>1]=r;B=i;C=t+1|0}do if((B|0)<(v|0)){if((C|0)<(r|0)){s=w+(C<<2)|0;l=d[s>>1]|0;y=d[w+(B<<2)>>1]|0;if((l&65535)<(y&65535)){D=s;E=l;A=36;break}else F=y}else F=d[w+(B<<2)>>1]|0;y=w+(r<<2)|0;d[y>>1]=(j[y>>1]|0)+(F&65535);G=B+1|0;H=C}else{y=w+(C<<2)|0;D=y;E=d[y>>1]|0;A=36}while(0);if((A|0)==36){A=0;y=w+(r<<2)|0;d[y>>1]=(j[y>>1]|0)+(E&65535);d[D>>1]=r;G=B;H=C+1|0}y=r+1|0;if((y|0)==(q|0))break;r=y;i=G;t=H;m=d[w+(H<<2)>>1]|0}H=v+-2|0;d[w+(H<<2)>>1]=0;m=v+-3|0;while(1){t=w+(m<<2)|0;d[t>>1]=(j[w+((j[t>>1]|0)<<2)>>1]|0)+1;if((m|0)>0)m=m+-1|0;else{I=H;break}}}else{H=v+-2|0;d[w+(H<<2)>>1]=0;I=H}H=0;m=1;t=q;q=I;while(1){a:do if((q|0)>-1){I=0;G=q;while(1){if((H|0)!=(j[w+(G<<2)>>1]|0|0)){J=I;K=G;break a}i=I+1|0;r=G+-1|0;if((G|0)>0){I=i;G=r}else{J=i;K=r;break}}}else{J=0;K=q}while(0);if((m|0)>(J|0)){G=H&65535;I=m;r=t;while(1){d[w+(r<<2)>>1]=G;I=I+-1|0;if((I|0)<=(J|0))break;else r=r+-1|0}L=t-m+J|0}else L=t;if((J|0)>0){H=H+1|0;m=J<<1;t=L;q=K}else break}if((v|0)>0)A=53}}b:do if((A|0)==53){K=0;do{q=n+((j[w+(K<<2)>>1]|0)<<2)|0;f[q>>2]=(f[q>>2]|0)+1;K=K+1|0}while((K|0)!=(v|0));if((v|0)>=2){if((g|0)<32){K=n+(g<<2)|0;q=g;L=f[K>>2]|0;do{t=q;q=q+1|0;L=(f[n+(q<<2)>>2]|0)+L|0;f[K>>2]=L}while((t|0)<31);if((g|0)<=0){M=0;N=K;O=1<<g}else A=57}else A=57;if((A|0)==57){L=0;q=g;while(1){L=(f[n+(q<<2)>>2]<<g-q)+L|0;if((q|0)<=1)break;else q=q+-1|0}q=1<<g;if((L|0)==(q|0))break;K=n+(g<<2)|0;if((g|0)>1){t=L;while(1){f[K>>2]=(f[K>>2]|0)+-1;J=g;while(1){m=J+-1|0;P=n+(m<<2)|0;Q=f[P>>2]|0;if(Q|0){A=69;break}if((J|0)>2)J=m;else break}if((A|0)==69){A=0;f[P>>2]=Q+-1;m=n+(J<<2)|0;f[m>>2]=(f[m>>2]|0)+2}t=t+-1|0;if((t|0)==(q|0))break b}}else{M=L;N=K;O=q}}f[N>>2]=O+(f[N>>2]|0)-M}}while(0);ve(a+36626+(c*288|0)|0,0,288)|0;ve(a+34898+(c*576|0)|0,0,576)|0;if((g|0)>=1){M=v;v=1;while(1){N=f[n+(v<<2)>>2]|0;if((N|0)>0){O=v&255;Q=N;N=M;while(1){P=N+-1|0;b[(j[w+(P<<2)+2>>1]|0)+(a+36626+(c*288|0))>>0]=O;if((Q|0)>1){Q=Q+-1|0;N=P}else{R=P;break}}}else R=M;if((v|0)==(g|0))break;else{M=R;v=v+1|0}}}}else if((e|0)>0){v=0;do{R=n+((h[a+36626+(c*288|0)+v>>0]|0)<<2)|0;f[R>>2]=(f[R>>2]|0)+1;v=v+1|0}while((v|0)!=(e|0))}f[o+4>>2]=0;if((g|0)>=2){v=0;R=2;while(1){v=(f[n+(R+-1<<2)>>2]|0)+v<<1;f[o+(R<<2)>>2]=v;if((R|0)==(g|0))break;else R=R+1|0}}if((e|0)<=0){u=k;return}R=0;do{g=b[a+36626+(c*288|0)+R>>0]|0;v=g&255;if(g<<24>>24){g=o+(v<<2)|0;n=f[g>>2]|0;f[g>>2]=n+1;g=n;n=0;M=v;while(1){n=g&1|n<<1;if((M|0)<=1)break;else{g=g>>>1;M=M+-1|0}}d[a+34898+(c*576|0)+(R<<1)>>1]=n}R=R+1|0}while((R|0)!=(e|0));u=k;return}function Ta(){return}function Ua(){var a=0,b=0;a=d[13192]|0;d[13192]=a+1<<16>>16;b=(h[26392]|0)+(h[26398+(a&65535)>>0]|0)|0;d[13193]=(h[26398+(b+1&255)>>0]|0)<<8|(h[26398+(b&255)>>0]|0);return}function Va(){var a=0;a=d[13192]|0;d[13192]=a+1<<16>>16;d[13193]=h[26398+(a&65535)>>0]|0;return}function Wa(){var a=0;a=d[13192]|0;d[13192]=a+1<<16>>16;d[13193]=a;return}function Xa(){return}function Ya(){var a=0,b=0;a=d[13192]|0;b=a&65535;d[13193]=(h[26398+(a+1&65535)>>0]|0)<<8|(h[26398+b>>0]|0);d[13192]=b+2;return}function Za(){var a=0,c=0;a=d[13192]|0;d[13192]=a+1<<16>>16;c=b[26398+(a&65535)>>0]|0;a=c&255;d[13194]=(a&128|0)==0?c&255:(a|65280)&65535;return}function _a(){var a=0,c=0,e=0;a=d[13192]|0;d[13192]=a+1<<16>>16;c=b[26398+(a&65535)>>0]|0;a=(h[26398+(c+1&255)>>0]|0)<<8;e=(a|(h[26398+(c&255)>>0]|0))+(h[26393]|0)|0;d[13193]=e;if((a|0)==(e&65280|0))return;b[26397]=1;return}function $a(){var a=0;a=d[13192]|0;d[13192]=a+1<<16>>16;d[13193]=(h[26392]|0)+(h[26398+(a&65535)>>0]|0)&255;return}function ab(){var a=0,c=0,e=0,f=0,g=0;a=d[13192]|0;c=a&65535;e=(h[26398+(a+1&65535)>>0]|0)<<8;a=(e|(h[26398+c>>0]|0))+(h[26393]|0)|0;d[13193]=a;if((e|0)==(a&65280|0)){f=c+2|0;g=f&65535;d[13192]=g;return}b[26397]=1;f=c+2|0;g=f&65535;d[13192]=g;return}function bb(){var a=0,c=0,e=0,f=0,g=0;a=d[13192]|0;c=a&65535;e=(h[26398+(a+1&65535)>>0]|0)<<8;a=(e|(h[26398+c>>0]|0))+(h[26392]|0)|0;d[13193]=a;if((e|0)==(a&65280|0)){f=c+2|0;g=f&65535;d[13192]=g;return}b[26397]=1;f=c+2|0;g=f&65535;d[13192]=g;return}function cb(){var a=0,c=0,e=0,f=0;a=d[13192]|0;c=a&65535;e=b[26398+c>>0]|0;f=(h[26398+(a+1&65535)>>0]|0)<<8;d[13193]=(h[26398+(f|e+1&255)>>0]|0)<<8|(h[26398+(f|e&255)>>0]|0);d[13192]=c+2;return}function db(){var a=0;a=d[13192]|0;d[13192]=a+1<<16>>16;d[13193]=(h[26393]|0)+(h[26398+(a&65535)>>0]|0)&255;return}function eb(){var a=0,c=0,e=0;a=(d[13192]|0)+1<<16>>16;c=b[26390]|0;e=c&255;b[26398+(e|256)>>0]=(a&65535)>>>8;b[26398+(c+-1&255|256)>>0]=a;a=b[26394]|0;b[26390]=(e+254&255)+-1<<24>>24;b[26398+(c+-2&255|256)>>0]=a|16;b[26394]=a|4;d[13192]=(h[91933]|0)<<8|(h[91932]|0);return}function fb(){var a=0,c=0,d=0;b[26396]=1;a=b[26391]|b[((f[8+((h[26395]|0)<<2)>>2]|0)==5?26391:26398+(j[13193]|0)|0)>>0];c=h[26394]|0;d=a<<24>>24==0?c|2:c&125;b[26394]=(a&128)==0?d&127:d|128;b[26391]=a;return}function gb(){var a=0;a=(h[26395]|0)+-28|0;switch(a>>>5|a<<27|0){case 7:case 6:case 3:case 2:case 1:case 0:break;default:return}b[26396]=1;return}function hb(){var a=0,c=0,d=0,e=0,g=0,i=0;a=(f[8+((h[26395]|0)<<2)>>2]|0)==5;c=26398+(j[13193]|0)|0;d=h[(a?26391:c)>>0]|0;e=d<<1;g=h[26394]|0;i=(d&128|0)==0?g&254:g|1;b[26394]=((e&254)==0?i|2:i&125)&127|e&128;b[(a?26391:c)>>0]=e;return}function ib(){var a=0,c=0;a=b[26394]|16;c=b[26390]|0;b[26390]=c+-1<<24>>24;b[26398+(c&255|256)>>0]=a;return}function jb(){var a=0,c=0;if((b[26394]|0)<=-1)return;a=d[13192]|0;c=(j[13194]|0)+(a&65535)|0;d[13192]=c;f[6446]=(f[6446]|0)+((c&65280|0)==(a&-256&65535|0)?1:2);return}function kb(){b[26394]=b[26394]&-2;return}function lb(){var a=0,c=0,e=0;a=(j[13192]|0)+65535|0;c=b[26390]|0;e=c&255;b[26398+(e|256)>>0]=(a&65535)>>>8;b[26398+(c+-1&255|256)>>0]=a;b[26390]=e+254;d[13192]=d[13193]|0;return}function mb(){var a=0,c=0,d=0;b[26396]=1;a=b[26391]&b[((f[8+((h[26395]|0)<<2)>>2]|0)==5?26391:26398+(j[13193]|0)|0)>>0];c=h[26394]|0;d=a<<24>>24==0?c|2:c&125;b[26394]=(a&128)==0?d&127:d|128;b[26391]=a;return}function nb(){var a=0,c=0;a=b[((f[8+((h[26395]|0)<<2)>>2]|0)==5?26391:26398+(j[13193]|0)|0)>>0]|0;c=h[26394]|0;b[26394]=((b[26391]&a)<<24>>24==0?c|2:c&61)&63|a&192;return}function ob(){var a=0,c=0,d=0,e=0,g=0,i=0,k=0;a=(f[8+((h[26395]|0)<<2)>>2]|0)==5;c=26398+(j[13193]|0)|0;d=h[(a?26391:c)>>0]|0;e=d<<1;g=b[26394]|0;i=e|g&1;k=g&255;g=(d&128|0)==0?k&254:k|1;b[26394]=((i&255)==0?g|2:g&125)&127|e&128;b[(a?26391:c)>>0]=i;return}function pb(){var a=0;a=(b[26390]|0)+1<<24>>24;b[26390]=a;b[26394]=b[26398+(a&255|256)>>0]|32;return}function qb(){var a=0,c=0;if((b[26394]|0)>=0)return;a=d[13192]|0;c=(j[13194]|0)+(a&65535)|0;d[13192]=c;f[6446]=(f[6446]|0)+((c&65280|0)==(a&-256&65535|0)?1:2);return}function rb(){b[26394]=b[26394]|1;return}function sb(){var a=0,c=0,e=0;a=b[26390]|0;c=a+1&255;b[26394]=b[26398+(c|256)>>0]|0;e=((h[26398+(a+3&255|256)>>0]|0)<<8|(h[26398+(a+2&255|256)>>0]|0))&65535;b[26390]=c+2;d[13192]=e;return}function tb(){var a=0,c=0,d=0;b[26396]=1;a=b[26391]^b[((f[8+((h[26395]|0)<<2)>>2]|0)==5?26391:26398+(j[13193]|0)|0)>>0];c=h[26394]|0;d=a<<24>>24==0?c|2:c&125;b[26394]=(a&128)==0?d&127:d|128;b[26391]=a;return}function ub(){var a=0,c=0,d=0,e=0,g=0,i=0;a=(f[8+((h[26395]|0)<<2)>>2]|0)==5;c=26398+(j[13193]|0)|0;d=h[(a?26391:c)>>0]|0;e=(d&65535)>>>1;g=h[26394]|0;i=(d&1)==0?g&254:g|1;b[26394]=(e<<16>>16==0?i|2:i&125)&127;b[(a?26391:c)>>0]=e;return}function vb(){var a=0,c=0;a=b[26391]|0;c=b[26390]|0;b[26390]=c+-1<<24>>24;b[26398+(c&255|256)>>0]=a;return}function wb(){d[13192]=d[13193]|0;return}function xb(){var a=0,c=0;if(b[26394]&64)return;a=d[13192]|0;c=(j[13194]|0)+(a&65535)|0;d[13192]=c;f[6446]=(f[6446]|0)+((c&65280|0)==(a&-256&65535|0)?1:2);return}function yb(){b[26394]=b[26394]&-5;return}function zb(){var a=0,c=0;a=b[26390]|0;c=(h[26398+(a+2&255|256)>>0]|0)<<8|(h[26398+(a+1&255|256)>>0]|0);b[26390]=(a&255)+2;d[13192]=c+1;return}function Ab(){var a=0,c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0;b[26396]=1;a=b[((f[8+((h[26395]|0)<<2)>>2]|0)==5?26391:26398+(j[13193]|0)|0)>>0]|0;c=b[26391]|0;d=c&255;e=b[26394]|0;g=d+(a&255)+(e&1)|0;i=g&65535;k=e&255;e=(g&768|0)==0?k&254:k|1;k=(i&255)==0?e|2:e&253;e=((g^d)&128&((i^a&255)&65535)|0)==0?k&63:k|64;k=e&127|g&128;b[26394]=k;if(!(e&8)){l=g&255;b[26391]=l;return}e=k&254;b[26394]=e;if((d&14)>>>0>9){b[26391]=d+6;m=c+6&255}else m=d;if((m&240)>>>0>144){b[26391]=m+96;b[26394]=e|1}f[6446]=(f[6446]|0)+1;l=g&255;b[26391]=l;return}function Bb(){var a=0,c=0,d=0,e=0,g=0,i=0,k=0;a=(f[8+((h[26395]|0)<<2)>>2]|0)==5;c=26398+(j[13193]|0)|0;d=b[(a?26391:c)>>0]|0;e=b[26394]|0;g=e<<7&255;i=(d&255)>>>1|g;k=e&255;e=(d&1)==0?k&254:k|1;b[26394]=((i&65535)<<16>>16==0?e|2:e&125)&127|g;b[(a?26391:c)>>0]=i;return}function Cb(){var a=0,c=0,d=0;a=(b[26390]|0)+1<<24>>24;b[26390]=a;c=b[26398+(a&255|256)>>0]|0;b[26391]=c;a=h[26394]|0;d=c<<24>>24==0?a|2:a&125;b[26394]=c<<24>>24<0?d|128:d&127;return}function Db(){var a=0,c=0;if(!(b[26394]&64))return;a=d[13192]|0;c=(j[13194]|0)+(a&65535)|0;d[13192]=c;f[6446]=(f[6446]|0)+((c&65280|0)==(a&-256&65535|0)?1:2);return}function Eb(){b[26394]=b[26394]|4;return}function Fb(){if((f[8+((h[26395]|0)<<2)>>2]|0)==5)return;b[26398+(j[13193]|0)>>0]=b[26391]|0;return}function Gb(){b[((f[8+((h[26395]|0)<<2)>>2]|0)==5?26391:26398+(j[13193]|0)|0)>>0]=b[26393]|0;return}function Hb(){b[((f[8+((h[26395]|0)<<2)>>2]|0)==5?26391:26398+(j[13193]|0)|0)>>0]=b[26392]|0;return}function Ib(){var a=0,c=0,d=0;a=(b[26393]|0)+-1<<24>>24;b[26393]=a;c=h[26394]|0;d=a<<24>>24==0?c|2:c&125;b[26394]=a<<24>>24<0?d|128:d&127;return}function Jb(){var a=0,c=0,d=0;a=b[26392]|0;b[26391]=a;c=h[26394]|0;d=a<<24>>24==0?c|2:c&125;b[26394]=a<<24>>24<0?d|128:d&127;return}function Kb(){var a=0,c=0;if(b[26394]&1)return;a=d[13192]|0;c=(j[13194]|0)+(a&65535)|0;d[13192]=c;f[6446]=(f[6446]|0)+((c&65280|0)==(a&-256&65535|0)?1:2);return}function Lb(){var a=0,c=0,d=0;a=b[26393]|0;b[26391]=a;c=h[26394]|0;d=a<<24>>24==0?c|2:c&125;b[26394]=a<<24>>24<0?d|128:d&127;return}function Mb(){b[26390]=b[26392]|0;return}function Nb(){var a=0,c=0,d=0;b[26396]=1;a=b[((f[8+((h[26395]|0)<<2)>>2]|0)==5?26391:26398+(j[13193]|0)|0)>>0]|0;b[26393]=a;c=h[26394]|0;d=a<<24>>24==0?c|2:c&125;b[26394]=a<<24>>24<0?d|128:d&127;return}function Ob(){var a=0,c=0,d=0;b[26396]=1;a=b[((f[8+((h[26395]|0)<<2)>>2]|0)==5?26391:26398+(j[13193]|0)|0)>>0]|0;b[26391]=a;c=h[26394]|0;d=a<<24>>24==0?c|2:c&125;b[26394]=a<<24>>24<0?d|128:d&127;return}function Pb(){var a=0,c=0,d=0;b[26396]=1;a=b[((f[8+((h[26395]|0)<<2)>>2]|0)==5?26391:26398+(j[13193]|0)|0)>>0]|0;b[26392]=a;c=h[26394]|0;d=a<<24>>24==0?c|2:c&125;b[26394]=a<<24>>24<0?d|128:d&127;return}function Qb(){var a=0,c=0,d=0;a=b[26391]|0;b[26393]=a;c=h[26394]|0;d=a<<24>>24==0?c|2:c&125;b[26394]=a<<24>>24<0?d|128:d&127;return}function Rb(){var a=0,c=0,d=0;a=b[26391]|0;b[26392]=a;c=h[26394]|0;d=a<<24>>24==0?c|2:c&125;b[26394]=a<<24>>24<0?d|128:d&127;return}function Sb(){var a=0,c=0;if(!(b[26394]&1))return;a=d[13192]|0;c=(j[13194]|0)+(a&65535)|0;d[13192]=c;f[6446]=(f[6446]|0)+((c&65280|0)==(a&-256&65535|0)?1:2);return}function Tb(){b[26394]=b[26394]&-65;return}function Ub(){var a=0,c=0,d=0;a=b[26390]|0;b[26392]=a;c=h[26394]|0;d=a<<24>>24==0?c|2:c&125;b[26394]=a<<24>>24<0?d|128:d&127;return}function Vb(){var a=0,c=0,d=0,e=0;a=b[((f[8+((h[26395]|0)<<2)>>2]|0)==5?26391:26398+(j[13193]|0)|0)>>0]|0;c=b[26393]|0;d=h[26394]|0;e=(c&255)<(a&255)?d&254:d|1;b[26394]=(c<<24>>24==a<<24>>24?e|2:e&125)&127|(c&255)-(a&255)&128;return}function Wb(){var a=0,c=0,d=0,e=0;b[26396]=1;a=b[((f[8+((h[26395]|0)<<2)>>2]|0)==5?26391:26398+(j[13193]|0)|0)>>0]|0;c=b[26391]|0;d=h[26394]|0;e=(c&255)<(a&255)?d&254:d|1;b[26394]=(c<<24>>24==a<<24>>24?e|2:e&125)&127|(c&255)-(a&255)&128;return}function Xb(){var a=0,c=0,d=0,e=0,g=0,i=0;a=(f[8+((h[26395]|0)<<2)>>2]|0)==5;c=26398+(j[13193]|0)|0;d=b[(a?26391:c)>>0]|0;e=(d&255)+65535|0;g=h[26394]|0;i=d<<24>>24==1?g|2:g&125;b[26394]=(e&128)==0?i&127:i|128;b[(a?26391:c)>>0]=e;return}function Yb(){var a=0,c=0,d=0;a=(b[26393]|0)+1<<24>>24;b[26393]=a;c=h[26394]|0;d=a<<24>>24==0?c|2:c&125;b[26394]=a<<24>>24<0?d|128:d&127;return}function Zb(){var a=0,c=0,d=0;a=(b[26392]|0)+-1<<24>>24;b[26392]=a;c=h[26394]|0;d=a<<24>>24==0?c|2:c&125;b[26394]=a<<24>>24<0?d|128:d&127;return}function _b(){var a=0,c=0;if(b[26394]&2)return;a=d[13192]|0;c=(j[13194]|0)+(a&65535)|0;d[13192]=c;f[6446]=(f[6446]|0)+((c&65280|0)==(a&-256&65535|0)?1:2);return}function $b(){b[26394]=b[26394]&-9;return}function ac(){var a=0,c=0,d=0,e=0;a=b[((f[8+((h[26395]|0)<<2)>>2]|0)==5?26391:26398+(j[13193]|0)|0)>>0]|0;c=b[26392]|0;d=h[26394]|0;e=(c&255)<(a&255)?d&254:d|1;b[26394]=(c<<24>>24==a<<24>>24?e|2:e&125)&127|(c&255)-(a&255)&128;return}function bc(){var a=0,c=0,d=0,e=0,g=0,i=0,k=0,l=0;b[26396]=1;a=~b[((f[8+((h[26395]|0)<<2)>>2]|0)==5?26391:26398+(j[13193]|0)|0)>>0];c=b[26391]|0;d=c&255;e=b[26394]|0;g=d+(a&255)+(e&1)|0;i=g&65535;k=e&255;e=(g&768|0)==0?k&254:k|1;k=(i&255)==0?e|2:e&253;e=((g^d)&128&((i^a&255)&65535)|0)==0?k&63:k|64;k=e&127|g&128;b[26394]=k;if(!(e&8)){l=g&255;b[26391]=l;return}e=k&254;b[26394]=e;k=c+-102&255;c=(k&14)>>>0>9?k+6|0:d+154|0;b[26391]=c;if((c&240)>>>0>144){b[26391]=c+96;b[26394]=e|1}f[6446]=(f[6446]|0)+1;l=g&255;b[26391]=l;return}function cc(){var a=0,c=0,d=0,e=0,g=0,i=0;a=(f[8+((h[26395]|0)<<2)>>2]|0)==5;c=26398+(j[13193]|0)|0;d=b[(a?26391:c)>>0]|0;e=(d&255)+1|0;g=h[26394]|0;i=d<<24>>24==-1?g|2:g&125;b[26394]=(e&128)==0?i&127:i|128;b[(a?26391:c)>>0]=e;return}function dc(){var a=0,c=0,d=0;a=(b[26392]|0)+1<<24>>24;b[26392]=a;c=h[26394]|0;d=a<<24>>24==0?c|2:c&125;b[26394]=a<<24>>24<0?d|128:d&127;return}function ec(){var a=0,c=0;if(!(b[26394]&2))return;a=d[13192]|0;c=(j[13194]|0)+(a&65535)|0;d[13192]=c;f[6446]=(f[6446]|0)+((c&65280|0)==(a&-256&65535|0)?1:2);return}function fc(){b[26394]=b[26394]|8;return}function gc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[6449]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=25836+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((n|0)==(j|0))f[6449]=g&~(1<<i);else{f[n+12>>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[6451]|0;if(d>>>0>m>>>0){if(h|0){i=2<<e;n=h<<e&(i|0-i);i=(n&0-n)+-1|0;n=i>>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=25836+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((n|0)==(l|0)){i=g&~(1<<j);f[6449]=i;p=i}else{f[n+12>>2]=l;f[k>>2]=n;p=g}n=j<<3;j=n-d|0;f[h+4>>2]=d|3;k=h+d|0;f[k+4>>2]=j|1;f[h+n>>2]=j;if(m|0){n=f[6454]|0;h=m>>>3;l=25836+(h<<1<<2)|0;i=1<<h;if(!(p&i)){f[6449]=p|i;q=l;r=l+8|0}else{i=l+8|0;q=f[i>>2]|0;r=i}f[r>>2]=n;f[q+12>>2]=n;f[n+8>>2]=q;f[n+12>>2]=l}f[6451]=j;f[6454]=k;o=e;u=b;return o|0}e=f[6450]|0;if(e){k=(e&0-e)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=f[26100+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=s;h=s;n=(f[s+4>>2]&-8)-d|0;while(1){s=f[i+16>>2]|0;if(!s){l=f[i+20>>2]|0;if(!l)break;else t=l}else t=s;s=(f[t+4>>2]&-8)-d|0;l=s>>>0<n>>>0;i=t;h=l?t:h;n=l?s:n}i=h+d|0;if(i>>>0>h>>>0){s=f[h+24>>2]|0;l=f[h+12>>2]|0;do if((l|0)==(h|0)){j=h+20|0;k=f[j>>2]|0;if(!k){v=h+16|0;w=f[v>>2]|0;if(!w){x=0;break}else{y=w;z=v}}else{y=k;z=j}j=y;k=z;while(1){v=j+20|0;w=f[v>>2]|0;if(!w){A=j+16|0;B=f[A>>2]|0;if(!B)break;else{C=B;D=A}}else{C=w;D=v}j=C;k=D}f[k>>2]=0;x=j}else{v=f[h+8>>2]|0;f[v+12>>2]=l;f[l+8>>2]=v;x=l}while(0);do if(s|0){l=f[h+28>>2]|0;v=26100+(l<<2)|0;if((h|0)==(f[v>>2]|0)){f[v>>2]=x;if(!x){f[6450]=e&~(1<<l);break}}else{l=s+16|0;f[((f[l>>2]|0)==(h|0)?l:s+20|0)>>2]=x;if(!x)break}f[x+24>>2]=s;l=f[h+16>>2]|0;if(l|0){f[x+16>>2]=l;f[l+24>>2]=x}l=f[h+20>>2]|0;if(l|0){f[x+20>>2]=l;f[l+24>>2]=x}}while(0);if(n>>>0<16){s=n+d|0;f[h+4>>2]=s|3;e=h+s+4|0;f[e>>2]=f[e>>2]|1}else{f[h+4>>2]=d|3;f[i+4>>2]=n|1;f[i+n>>2]=n;if(m|0){e=f[6454]|0;s=m>>>3;l=25836+(s<<1<<2)|0;v=1<<s;if(!(v&g)){f[6449]=v|g;E=l;F=l+8|0}else{v=l+8|0;E=f[v>>2]|0;F=v}f[F>>2]=e;f[E+12>>2]=e;f[e+8>>2]=E;f[e+12>>2]=l}f[6451]=n;f[6454]=i}o=h+8|0;u=b;return o|0}else G=d}else G=d}else G=d}else if(a>>>0<=4294967231){l=a+11|0;e=l&-8;v=f[6450]|0;if(v){s=0-e|0;w=l>>>8;if(w)if(e>>>0>16777215)H=31;else{l=(w+1048320|0)>>>16&8;A=w<<l;w=(A+520192|0)>>>16&4;B=A<<w;A=(B+245760|0)>>>16&2;I=14-(w|l|A)+(B<<A>>>15)|0;H=e>>>(I+7|0)&1|I<<1}else H=0;I=f[26100+(H<<2)>>2]|0;a:do if(!I){J=0;K=0;L=s;M=61}else{A=0;B=s;l=I;w=e<<((H|0)==31?0:25-(H>>>1)|0);N=0;while(1){O=(f[l+4>>2]&-8)-e|0;if(O>>>0<B>>>0)if(!O){P=l;Q=0;R=l;M=65;break a}else{S=l;T=O}else{S=A;T=B}O=f[l+20>>2]|0;l=f[l+16+(w>>>31<<2)>>2]|0;U=(O|0)==0|(O|0)==(l|0)?N:O;if(!l){J=U;K=S;L=T;M=61;break}else{A=S;B=T;w=w<<1;N=U}}}while(0);if((M|0)==61){if((J|0)==0&(K|0)==0){I=2<<H;s=(I|0-I)&v;if(!s){G=e;break}I=(s&0-s)+-1|0;s=I>>>12&16;d=I>>>s;I=d>>>5&8;h=d>>>I;d=h>>>2&4;i=h>>>d;h=i>>>1&2;n=i>>>h;i=n>>>1&1;V=0;W=f[26100+((I|s|d|h|i)+(n>>>i)<<2)>>2]|0}else{V=K;W=J}if(!W){X=V;Y=L}else{P=V;Q=L;R=W;M=65}}if((M|0)==65){i=P;n=Q;h=R;while(1){d=(f[h+4>>2]&-8)-e|0;s=d>>>0<n>>>0;I=s?d:n;d=s?h:i;s=f[h+16>>2]|0;if(!s)Z=f[h+20>>2]|0;else Z=s;if(!Z){X=d;Y=I;break}else{i=d;n=I;h=Z}}}if(((X|0)!=0?Y>>>0<((f[6451]|0)-e|0)>>>0:0)?(h=X+e|0,h>>>0>X>>>0):0){n=f[X+24>>2]|0;i=f[X+12>>2]|0;do if((i|0)==(X|0)){I=X+20|0;d=f[I>>2]|0;if(!d){s=X+16|0;g=f[s>>2]|0;if(!g){_=0;break}else{$=g;aa=s}}else{$=d;aa=I}I=$;d=aa;while(1){s=I+20|0;g=f[s>>2]|0;if(!g){m=I+16|0;N=f[m>>2]|0;if(!N)break;else{ba=N;ca=m}}else{ba=g;ca=s}I=ba;d=ca}f[d>>2]=0;_=I}else{s=f[X+8>>2]|0;f[s+12>>2]=i;f[i+8>>2]=s;_=i}while(0);do if(n){i=f[X+28>>2]|0;s=26100+(i<<2)|0;if((X|0)==(f[s>>2]|0)){f[s>>2]=_;if(!_){s=v&~(1<<i);f[6450]=s;da=s;break}}else{s=n+16|0;f[((f[s>>2]|0)==(X|0)?s:n+20|0)>>2]=_;if(!_){da=v;break}}f[_+24>>2]=n;s=f[X+16>>2]|0;if(s|0){f[_+16>>2]=s;f[s+24>>2]=_}s=f[X+20>>2]|0;if(s){f[_+20>>2]=s;f[s+24>>2]=_;da=v}else da=v}else da=v;while(0);b:do if(Y>>>0<16){v=Y+e|0;f[X+4>>2]=v|3;n=X+v+4|0;f[n>>2]=f[n>>2]|1}else{f[X+4>>2]=e|3;f[h+4>>2]=Y|1;f[h+Y>>2]=Y;n=Y>>>3;if(Y>>>0<256){v=25836+(n<<1<<2)|0;s=f[6449]|0;i=1<<n;if(!(s&i)){f[6449]=s|i;ea=v;fa=v+8|0}else{i=v+8|0;ea=f[i>>2]|0;fa=i}f[fa>>2]=h;f[ea+12>>2]=h;f[h+8>>2]=ea;f[h+12>>2]=v;break}v=Y>>>8;if(v)if(Y>>>0>16777215)ga=31;else{i=(v+1048320|0)>>>16&8;s=v<<i;v=(s+520192|0)>>>16&4;n=s<<v;s=(n+245760|0)>>>16&2;g=14-(v|i|s)+(n<<s>>>15)|0;ga=Y>>>(g+7|0)&1|g<<1}else ga=0;g=26100+(ga<<2)|0;f[h+28>>2]=ga;s=h+16|0;f[s+4>>2]=0;f[s>>2]=0;s=1<<ga;if(!(da&s)){f[6450]=da|s;f[g>>2]=h;f[h+24>>2]=g;f[h+12>>2]=h;f[h+8>>2]=h;break}s=f[g>>2]|0;c:do if((f[s+4>>2]&-8|0)==(Y|0))ha=s;else{g=Y<<((ga|0)==31?0:25-(ga>>>1)|0);n=s;while(1){ia=n+16+(g>>>31<<2)|0;i=f[ia>>2]|0;if(!i)break;if((f[i+4>>2]&-8|0)==(Y|0)){ha=i;break c}else{g=g<<1;n=i}}f[ia>>2]=h;f[h+24>>2]=n;f[h+12>>2]=h;f[h+8>>2]=h;break b}while(0);s=ha+8|0;I=f[s>>2]|0;f[I+12>>2]=h;f[s>>2]=h;f[h+8>>2]=I;f[h+12>>2]=ha;f[h+24>>2]=0}while(0);o=X+8|0;u=b;return o|0}else G=e}else G=e}else G=-1;while(0);X=f[6451]|0;if(X>>>0>=G>>>0){ha=X-G|0;ia=f[6454]|0;if(ha>>>0>15){Y=ia+G|0;f[6454]=Y;f[6451]=ha;f[Y+4>>2]=ha|1;f[ia+X>>2]=ha;f[ia+4>>2]=G|3}else{f[6451]=0;f[6454]=0;f[ia+4>>2]=X|3;ha=ia+X+4|0;f[ha>>2]=f[ha>>2]|1}o=ia+8|0;u=b;return o|0}ia=f[6452]|0;if(ia>>>0>G>>>0){ha=ia-G|0;f[6452]=ha;X=f[6455]|0;Y=X+G|0;f[6455]=Y;f[Y+4>>2]=ha|1;f[X+4>>2]=G|3;o=X+8|0;u=b;return o|0}if(!(f[6567]|0)){f[6569]=4096;f[6568]=4096;f[6570]=-1;f[6571]=-1;f[6572]=0;f[6560]=0;f[6567]=c&-16^1431655768;ja=4096}else ja=f[6569]|0;c=G+48|0;X=G+47|0;ha=ja+X|0;Y=0-ja|0;ja=ha&Y;if(ja>>>0<=G>>>0){o=0;u=b;return o|0}ga=f[6559]|0;if(ga|0?(da=f[6557]|0,ea=da+ja|0,ea>>>0<=da>>>0|ea>>>0>ga>>>0):0){o=0;u=b;return o|0}d:do if(!(f[6560]&4)){ga=f[6455]|0;e:do if(ga){ea=26244;while(1){da=f[ea>>2]|0;if(da>>>0<=ga>>>0?(da+(f[ea+4>>2]|0)|0)>>>0>ga>>>0:0)break;da=f[ea+8>>2]|0;if(!da){M=128;break e}else ea=da}da=ha-ia&Y;if(da>>>0<2147483647){fa=we(da|0)|0;if((fa|0)==((f[ea>>2]|0)+(f[ea+4>>2]|0)|0))if((fa|0)==(-1|0))ka=da;else{la=da;ma=fa;M=145;break d}else{na=fa;oa=da;M=136}}else ka=0}else M=128;while(0);do if((M|0)==128){ga=we(0)|0;if((ga|0)!=(-1|0)?(e=ga,da=f[6568]|0,fa=da+-1|0,_=((fa&e|0)==0?0:(fa+e&0-da)-e|0)+ja|0,e=f[6557]|0,da=_+e|0,_>>>0>G>>>0&_>>>0<2147483647):0){fa=f[6559]|0;if(fa|0?da>>>0<=e>>>0|da>>>0>fa>>>0:0){ka=0;break}fa=we(_|0)|0;if((fa|0)==(ga|0)){la=_;ma=ga;M=145;break d}else{na=fa;oa=_;M=136}}else ka=0}while(0);do if((M|0)==136){_=0-oa|0;if(!(c>>>0>oa>>>0&(oa>>>0<2147483647&(na|0)!=(-1|0))))if((na|0)==(-1|0)){ka=0;break}else{la=oa;ma=na;M=145;break d}fa=f[6569]|0;ga=X-oa+fa&0-fa;if(ga>>>0>=2147483647){la=oa;ma=na;M=145;break d}if((we(ga|0)|0)==(-1|0)){we(_|0)|0;ka=0;break}else{la=ga+oa|0;ma=na;M=145;break d}}while(0);f[6560]=f[6560]|4;pa=ka;M=143}else{pa=0;M=143}while(0);if(((M|0)==143?ja>>>0<2147483647:0)?(ka=we(ja|0)|0,ja=we(0)|0,na=ja-ka|0,oa=na>>>0>(G+40|0)>>>0,!((ka|0)==(-1|0)|oa^1|ka>>>0<ja>>>0&((ka|0)!=(-1|0)&(ja|0)!=(-1|0))^1)):0){la=oa?na:pa;ma=ka;M=145}if((M|0)==145){ka=(f[6557]|0)+la|0;f[6557]=ka;if(ka>>>0>(f[6558]|0)>>>0)f[6558]=ka;ka=f[6455]|0;f:do if(ka){pa=26244;while(1){qa=f[pa>>2]|0;ra=f[pa+4>>2]|0;if((ma|0)==(qa+ra|0)){M=154;break}na=f[pa+8>>2]|0;if(!na)break;else pa=na}if(((M|0)==154?(na=pa+4|0,(f[pa+12>>2]&8|0)==0):0)?ma>>>0>ka>>>0&qa>>>0<=ka>>>0:0){f[na>>2]=ra+la;na=(f[6452]|0)+la|0;oa=ka+8|0;ja=(oa&7|0)==0?0:0-oa&7;oa=ka+ja|0;X=na-ja|0;f[6455]=oa;f[6452]=X;f[oa+4>>2]=X|1;f[ka+na+4>>2]=40;f[6456]=f[6571];break}if(ma>>>0<(f[6453]|0)>>>0)f[6453]=ma;na=ma+la|0;X=26244;while(1){if((f[X>>2]|0)==(na|0)){M=162;break}oa=f[X+8>>2]|0;if(!oa)break;else X=oa}if((M|0)==162?(f[X+12>>2]&8|0)==0:0){f[X>>2]=ma;pa=X+4|0;f[pa>>2]=(f[pa>>2]|0)+la;pa=ma+8|0;oa=ma+((pa&7|0)==0?0:0-pa&7)|0;pa=na+8|0;ja=na+((pa&7|0)==0?0:0-pa&7)|0;pa=oa+G|0;c=ja-oa-G|0;f[oa+4>>2]=G|3;g:do if((ka|0)==(ja|0)){Y=(f[6452]|0)+c|0;f[6452]=Y;f[6455]=pa;f[pa+4>>2]=Y|1}else{if((f[6454]|0)==(ja|0)){Y=(f[6451]|0)+c|0;f[6451]=Y;f[6454]=pa;f[pa+4>>2]=Y|1;f[pa+Y>>2]=Y;break}Y=f[ja+4>>2]|0;if((Y&3|0)==1){ia=Y&-8;ha=Y>>>3;h:do if(Y>>>0<256){ga=f[ja+8>>2]|0;_=f[ja+12>>2]|0;if((_|0)==(ga|0)){f[6449]=f[6449]&~(1<<ha);break}else{f[ga+12>>2]=_;f[_+8>>2]=ga;break}}else{ga=f[ja+24>>2]|0;_=f[ja+12>>2]|0;do if((_|0)==(ja|0)){fa=ja+16|0;da=fa+4|0;e=f[da>>2]|0;if(!e){ca=f[fa>>2]|0;if(!ca){sa=0;break}else{ta=ca;ua=fa}}else{ta=e;ua=da}da=ta;e=ua;while(1){fa=da+20|0;ca=f[fa>>2]|0;if(!ca){ba=da+16|0;aa=f[ba>>2]|0;if(!aa)break;else{va=aa;wa=ba}}else{va=ca;wa=fa}da=va;e=wa}f[e>>2]=0;sa=da}else{fa=f[ja+8>>2]|0;f[fa+12>>2]=_;f[_+8>>2]=fa;sa=_}while(0);if(!ga)break;_=f[ja+28>>2]|0;n=26100+(_<<2)|0;do if((f[n>>2]|0)!=(ja|0)){fa=ga+16|0;f[((f[fa>>2]|0)==(ja|0)?fa:ga+20|0)>>2]=sa;if(!sa)break h}else{f[n>>2]=sa;if(sa|0)break;f[6450]=f[6450]&~(1<<_);break h}while(0);f[sa+24>>2]=ga;_=ja+16|0;n=f[_>>2]|0;if(n|0){f[sa+16>>2]=n;f[n+24>>2]=sa}n=f[_+4>>2]|0;if(!n)break;f[sa+20>>2]=n;f[n+24>>2]=sa}while(0);xa=ja+ia|0;ya=ia+c|0}else{xa=ja;ya=c}ha=xa+4|0;f[ha>>2]=f[ha>>2]&-2;f[pa+4>>2]=ya|1;f[pa+ya>>2]=ya;ha=ya>>>3;if(ya>>>0<256){Y=25836+(ha<<1<<2)|0;ea=f[6449]|0;n=1<<ha;if(!(ea&n)){f[6449]=ea|n;za=Y;Aa=Y+8|0}else{n=Y+8|0;za=f[n>>2]|0;Aa=n}f[Aa>>2]=pa;f[za+12>>2]=pa;f[pa+8>>2]=za;f[pa+12>>2]=Y;break}Y=ya>>>8;do if(!Y)Ba=0;else{if(ya>>>0>16777215){Ba=31;break}n=(Y+1048320|0)>>>16&8;ea=Y<<n;ha=(ea+520192|0)>>>16&4;_=ea<<ha;ea=(_+245760|0)>>>16&2;fa=14-(ha|n|ea)+(_<<ea>>>15)|0;Ba=ya>>>(fa+7|0)&1|fa<<1}while(0);Y=26100+(Ba<<2)|0;f[pa+28>>2]=Ba;ia=pa+16|0;f[ia+4>>2]=0;f[ia>>2]=0;ia=f[6450]|0;fa=1<<Ba;if(!(ia&fa)){f[6450]=ia|fa;f[Y>>2]=pa;f[pa+24>>2]=Y;f[pa+12>>2]=pa;f[pa+8>>2]=pa;break}fa=f[Y>>2]|0;i:do if((f[fa+4>>2]&-8|0)==(ya|0))Ca=fa;else{Y=ya<<((Ba|0)==31?0:25-(Ba>>>1)|0);ia=fa;while(1){Da=ia+16+(Y>>>31<<2)|0;ea=f[Da>>2]|0;if(!ea)break;if((f[ea+4>>2]&-8|0)==(ya|0)){Ca=ea;break i}else{Y=Y<<1;ia=ea}}f[Da>>2]=pa;f[pa+24>>2]=ia;f[pa+12>>2]=pa;f[pa+8>>2]=pa;break g}while(0);fa=Ca+8|0;Y=f[fa>>2]|0;f[Y+12>>2]=pa;f[fa>>2]=pa;f[pa+8>>2]=Y;f[pa+12>>2]=Ca;f[pa+24>>2]=0}while(0);o=oa+8|0;u=b;return o|0}pa=26244;while(1){c=f[pa>>2]|0;if(c>>>0<=ka>>>0?(Ea=c+(f[pa+4>>2]|0)|0,Ea>>>0>ka>>>0):0)break;pa=f[pa+8>>2]|0}pa=Ea+-47|0;oa=pa+8|0;c=pa+((oa&7|0)==0?0:0-oa&7)|0;oa=ka+16|0;pa=c>>>0<oa>>>0?ka:c;c=pa+8|0;ja=la+-40|0;na=ma+8|0;X=(na&7|0)==0?0:0-na&7;na=ma+X|0;Y=ja-X|0;f[6455]=na;f[6452]=Y;f[na+4>>2]=Y|1;f[ma+ja+4>>2]=40;f[6456]=f[6571];ja=pa+4|0;f[ja>>2]=27;f[c>>2]=f[6561];f[c+4>>2]=f[6562];f[c+8>>2]=f[6563];f[c+12>>2]=f[6564];f[6561]=ma;f[6562]=la;f[6564]=0;f[6563]=c;c=pa+24|0;do{Y=c;c=c+4|0;f[c>>2]=7}while((Y+8|0)>>>0<Ea>>>0);if((pa|0)!=(ka|0)){c=pa-ka|0;f[ja>>2]=f[ja>>2]&-2;f[ka+4>>2]=c|1;f[pa>>2]=c;Y=c>>>3;if(c>>>0<256){na=25836+(Y<<1<<2)|0;X=f[6449]|0;fa=1<<Y;if(!(X&fa)){f[6449]=X|fa;Fa=na;Ga=na+8|0}else{fa=na+8|0;Fa=f[fa>>2]|0;Ga=fa}f[Ga>>2]=ka;f[Fa+12>>2]=ka;f[ka+8>>2]=Fa;f[ka+12>>2]=na;break}na=c>>>8;if(na)if(c>>>0>16777215)Ha=31;else{fa=(na+1048320|0)>>>16&8;X=na<<fa;na=(X+520192|0)>>>16&4;Y=X<<na;X=(Y+245760|0)>>>16&2;ga=14-(na|fa|X)+(Y<<X>>>15)|0;Ha=c>>>(ga+7|0)&1|ga<<1}else Ha=0;ga=26100+(Ha<<2)|0;f[ka+28>>2]=Ha;f[ka+20>>2]=0;f[oa>>2]=0;X=f[6450]|0;Y=1<<Ha;if(!(X&Y)){f[6450]=X|Y;f[ga>>2]=ka;f[ka+24>>2]=ga;f[ka+12>>2]=ka;f[ka+8>>2]=ka;break}Y=f[ga>>2]|0;j:do if((f[Y+4>>2]&-8|0)==(c|0))Ia=Y;else{ga=c<<((Ha|0)==31?0:25-(Ha>>>1)|0);X=Y;while(1){Ja=X+16+(ga>>>31<<2)|0;fa=f[Ja>>2]|0;if(!fa)break;if((f[fa+4>>2]&-8|0)==(c|0)){Ia=fa;break j}else{ga=ga<<1;X=fa}}f[Ja>>2]=ka;f[ka+24>>2]=X;f[ka+12>>2]=ka;f[ka+8>>2]=ka;break f}while(0);c=Ia+8|0;Y=f[c>>2]|0;f[Y+12>>2]=ka;f[c>>2]=ka;f[ka+8>>2]=Y;f[ka+12>>2]=Ia;f[ka+24>>2]=0}}else{Y=f[6453]|0;if((Y|0)==0|ma>>>0<Y>>>0)f[6453]=ma;f[6561]=ma;f[6562]=la;f[6564]=0;f[6458]=f[6567];f[6457]=-1;f[6462]=25836;f[6461]=25836;f[6464]=25844;f[6463]=25844;f[6466]=25852;f[6465]=25852;f[6468]=25860;f[6467]=25860;f[6470]=25868;f[6469]=25868;f[6472]=25876;f[6471]=25876;f[6474]=25884;f[6473]=25884;f[6476]=25892;f[6475]=25892;f[6478]=25900;f[6477]=25900;f[6480]=25908;f[6479]=25908;f[6482]=25916;f[6481]=25916;f[6484]=25924;f[6483]=25924;f[6486]=25932;f[6485]=25932;f[6488]=25940;f[6487]=25940;f[6490]=25948;f[6489]=25948;f[6492]=25956;f[6491]=25956;f[6494]=25964;f[6493]=25964;f[6496]=25972;f[6495]=25972;f[6498]=25980;f[6497]=25980;f[6500]=25988;f[6499]=25988;f[6502]=25996;f[6501]=25996;f[6504]=26004;f[6503]=26004;f[6506]=26012;f[6505]=26012;f[6508]=26020;f[6507]=26020;f[6510]=26028;f[6509]=26028;f[6512]=26036;f[6511]=26036;f[6514]=26044;f[6513]=26044;f[6516]=26052;f[6515]=26052;f[6518]=26060;f[6517]=26060;f[6520]=26068;f[6519]=26068;f[6522]=26076;f[6521]=26076;f[6524]=26084;f[6523]=26084;Y=la+-40|0;c=ma+8|0;oa=(c&7|0)==0?0:0-c&7;c=ma+oa|0;pa=Y-oa|0;f[6455]=c;f[6452]=pa;f[c+4>>2]=pa|1;f[ma+Y+4>>2]=40;f[6456]=f[6571]}while(0);ma=f[6452]|0;if(ma>>>0>G>>>0){la=ma-G|0;f[6452]=la;ma=f[6455]|0;ka=ma+G|0;f[6455]=ka;f[ka+4>>2]=la|1;f[ma+4>>2]=G|3;o=ma+8|0;u=b;return o|0}}ma=pc()|0;f[ma>>2]=12;o=0;u=b;return o|0}
function hc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;if(!a)return;b=a+-8|0;c=f[6453]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0<c>>>0)return;if((f[6454]|0)==(h|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}f[6451]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[6449]=f[6449]&~(1<<k);l=h;m=i;n=h;break}else{f[g+12>>2]=j;f[j+8>>2]=g;l=h;m=i;n=h;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}o=s;p=t;while(1){k=o+20|0;q=f[k>>2]|0;if(!q){u=o+16|0;v=f[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=k}o=w;p=x}f[p>>2]=0;r=o}else{k=f[h+8>>2]|0;f[k+12>>2]=j;f[j+8>>2]=k;r=j}while(0);if(g){j=f[h+28>>2]|0;k=26100+(j<<2)|0;if((f[k>>2]|0)==(h|0)){f[k>>2]=r;if(!r){f[6450]=f[6450]&~(1<<j);l=h;m=i;n=h;break}}else{j=g+16|0;f[((f[j>>2]|0)==(h|0)?j:g+20|0)>>2]=r;if(!r){l=h;m=i;n=h;break}}f[r+24>>2]=g;j=h+16|0;k=f[j>>2]|0;if(k|0){f[r+16>>2]=k;f[k+24>>2]=r}k=f[j+4>>2]|0;if(k){f[r+20>>2]=k;f[k+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=e>>>0)return;b=e+4|0;a=f[b>>2]|0;if(!(a&1))return;if(!(a&2)){if((f[6455]|0)==(e|0)){r=(f[6452]|0)+m|0;f[6452]=r;f[6455]=l;f[l+4>>2]=r|1;if((l|0)!=(f[6454]|0))return;f[6454]=0;f[6451]=0;return}if((f[6454]|0)==(e|0)){r=(f[6451]|0)+m|0;f[6451]=r;f[6454]=n;f[l+4>>2]=r|1;f[n+r>>2]=r;return}r=(a&-8)+m|0;x=a>>>3;do if(a>>>0<256){w=f[e+8>>2]|0;t=f[e+12>>2]|0;if((t|0)==(w|0)){f[6449]=f[6449]&~(1<<x);break}else{f[w+12>>2]=t;f[t+8>>2]=w;break}}else{w=f[e+24>>2]|0;t=f[e+12>>2]|0;do if((t|0)==(e|0)){s=e+16|0;c=s+4|0;d=f[c>>2]|0;if(!d){k=f[s>>2]|0;if(!k){y=0;break}else{z=k;A=s}}else{z=d;A=c}c=z;d=A;while(1){s=c+20|0;k=f[s>>2]|0;if(!k){j=c+16|0;q=f[j>>2]|0;if(!q)break;else{B=q;C=j}}else{B=k;C=s}c=B;d=C}f[d>>2]=0;y=c}else{o=f[e+8>>2]|0;f[o+12>>2]=t;f[t+8>>2]=o;y=t}while(0);if(w|0){t=f[e+28>>2]|0;h=26100+(t<<2)|0;if((f[h>>2]|0)==(e|0)){f[h>>2]=y;if(!y){f[6450]=f[6450]&~(1<<t);break}}else{t=w+16|0;f[((f[t>>2]|0)==(e|0)?t:w+20|0)>>2]=y;if(!y)break}f[y+24>>2]=w;t=e+16|0;h=f[t>>2]|0;if(h|0){f[y+16>>2]=h;f[h+24>>2]=y}h=f[t+4>>2]|0;if(h|0){f[y+20>>2]=h;f[h+24>>2]=y}}}while(0);f[l+4>>2]=r|1;f[n+r>>2]=r;if((l|0)==(f[6454]|0)){f[6451]=r;return}else D=r}else{f[b>>2]=a&-2;f[l+4>>2]=m|1;f[n+m>>2]=m;D=m}m=D>>>3;if(D>>>0<256){n=25836+(m<<1<<2)|0;a=f[6449]|0;b=1<<m;if(!(a&b)){f[6449]=a|b;E=n;F=n+8|0}else{b=n+8|0;E=f[b>>2]|0;F=b}f[F>>2]=l;f[E+12>>2]=l;f[l+8>>2]=E;f[l+12>>2]=n;return}n=D>>>8;if(n)if(D>>>0>16777215)G=31;else{E=(n+1048320|0)>>>16&8;F=n<<E;n=(F+520192|0)>>>16&4;b=F<<n;F=(b+245760|0)>>>16&2;a=14-(n|E|F)+(b<<F>>>15)|0;G=D>>>(a+7|0)&1|a<<1}else G=0;a=26100+(G<<2)|0;f[l+28>>2]=G;f[l+20>>2]=0;f[l+16>>2]=0;F=f[6450]|0;b=1<<G;a:do if(!(F&b)){f[6450]=F|b;f[a>>2]=l;f[l+24>>2]=a;f[l+12>>2]=l;f[l+8>>2]=l}else{E=f[a>>2]|0;b:do if((f[E+4>>2]&-8|0)==(D|0))H=E;else{n=D<<((G|0)==31?0:25-(G>>>1)|0);m=E;while(1){I=m+16+(n>>>31<<2)|0;r=f[I>>2]|0;if(!r)break;if((f[r+4>>2]&-8|0)==(D|0)){H=r;break b}else{n=n<<1;m=r}}f[I>>2]=l;f[l+24>>2]=m;f[l+12>>2]=l;f[l+8>>2]=l;break a}while(0);E=H+8|0;w=f[E>>2]|0;f[w+12>>2]=l;f[E>>2]=l;f[l+8>>2]=w;f[l+12>>2]=H;f[l+24>>2]=0}while(0);l=(f[6457]|0)+-1|0;f[6457]=l;if(l|0)return;l=26252;while(1){H=f[l>>2]|0;if(!H)break;else l=H+8|0}f[6457]=-1;return}function ic(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if(!a){c=gc(b)|0;return c|0}if(b>>>0>4294967231){d=pc()|0;f[d>>2]=12;c=0;return c|0}d=jc(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){c=d+8|0;return c|0}d=gc(b)|0;if(!d){c=0;return c|0}e=f[a+-4>>2]|0;g=(e&-8)-((e&3|0)==0?8:4)|0;ue(d|0,a|0,(g>>>0<b>>>0?g:b)|0)|0;hc(a);c=d;return c|0}function jc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;c=a+4|0;d=f[c>>2]|0;e=d&-8;g=a+e|0;if(!(d&3)){if(b>>>0<256){h=0;return h|0}if(e>>>0>=(b+4|0)>>>0?(e-b|0)>>>0<=f[6569]<<1>>>0:0){h=a;return h|0}h=0;return h|0}if(e>>>0>=b>>>0){i=e-b|0;if(i>>>0<=15){h=a;return h|0}j=a+b|0;f[c>>2]=d&1|b|2;f[j+4>>2]=i|3;k=g+4|0;f[k>>2]=f[k>>2]|1;kc(j,i);h=a;return h|0}if((f[6455]|0)==(g|0)){i=(f[6452]|0)+e|0;j=i-b|0;k=a+b|0;if(i>>>0<=b>>>0){h=0;return h|0}f[c>>2]=d&1|b|2;f[k+4>>2]=j|1;f[6455]=k;f[6452]=j;h=a;return h|0}if((f[6454]|0)==(g|0)){j=(f[6451]|0)+e|0;if(j>>>0<b>>>0){h=0;return h|0}k=j-b|0;if(k>>>0>15){i=a+b|0;l=a+j|0;f[c>>2]=d&1|b|2;f[i+4>>2]=k|1;f[l>>2]=k;m=l+4|0;f[m>>2]=f[m>>2]&-2;n=i;o=k}else{f[c>>2]=d&1|j|2;k=a+j+4|0;f[k>>2]=f[k>>2]|1;n=0;o=0}f[6451]=o;f[6454]=n;h=a;return h|0}n=f[g+4>>2]|0;if(n&2|0){h=0;return h|0}o=(n&-8)+e|0;if(o>>>0<b>>>0){h=0;return h|0}e=o-b|0;k=n>>>3;do if(n>>>0<256){j=f[g+8>>2]|0;i=f[g+12>>2]|0;if((i|0)==(j|0)){f[6449]=f[6449]&~(1<<k);break}else{f[j+12>>2]=i;f[i+8>>2]=j;break}}else{j=f[g+24>>2]|0;i=f[g+12>>2]|0;do if((i|0)==(g|0)){m=g+16|0;l=m+4|0;p=f[l>>2]|0;if(!p){q=f[m>>2]|0;if(!q){r=0;break}else{s=q;t=m}}else{s=p;t=l}l=s;p=t;while(1){m=l+20|0;q=f[m>>2]|0;if(!q){u=l+16|0;v=f[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=m}l=w;p=x}f[p>>2]=0;r=l}else{m=f[g+8>>2]|0;f[m+12>>2]=i;f[i+8>>2]=m;r=i}while(0);if(j|0){i=f[g+28>>2]|0;m=26100+(i<<2)|0;if((f[m>>2]|0)==(g|0)){f[m>>2]=r;if(!r){f[6450]=f[6450]&~(1<<i);break}}else{i=j+16|0;f[((f[i>>2]|0)==(g|0)?i:j+20|0)>>2]=r;if(!r)break}f[r+24>>2]=j;i=g+16|0;m=f[i>>2]|0;if(m|0){f[r+16>>2]=m;f[m+24>>2]=r}m=f[i+4>>2]|0;if(m|0){f[r+20>>2]=m;f[m+24>>2]=r}}}while(0);if(e>>>0<16){f[c>>2]=d&1|o|2;r=a+o+4|0;f[r>>2]=f[r>>2]|1;h=a;return h|0}else{r=a+b|0;f[c>>2]=d&1|b|2;f[r+4>>2]=e|3;b=a+o+4|0;f[b>>2]=f[b>>2]|1;kc(r,e);h=a;return h|0}return 0}function kc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;c=a+b|0;d=f[a+4>>2]|0;do if(!(d&1)){e=f[a>>2]|0;if(!(d&3))return;g=a+(0-e)|0;h=e+b|0;if((f[6454]|0)==(g|0)){i=c+4|0;j=f[i>>2]|0;if((j&3|0)!=3){k=g;l=h;break}f[6451]=h;f[i>>2]=j&-2;f[g+4>>2]=h|1;f[c>>2]=h;return}j=e>>>3;if(e>>>0<256){e=f[g+8>>2]|0;i=f[g+12>>2]|0;if((i|0)==(e|0)){f[6449]=f[6449]&~(1<<j);k=g;l=h;break}else{f[e+12>>2]=i;f[i+8>>2]=e;k=g;l=h;break}}e=f[g+24>>2]|0;i=f[g+12>>2]|0;do if((i|0)==(g|0)){j=g+16|0;m=j+4|0;n=f[m>>2]|0;if(!n){o=f[j>>2]|0;if(!o){p=0;break}else{q=o;r=j}}else{q=n;r=m}m=q;n=r;while(1){j=m+20|0;o=f[j>>2]|0;if(!o){s=m+16|0;t=f[s>>2]|0;if(!t)break;else{u=t;v=s}}else{u=o;v=j}m=u;n=v}f[n>>2]=0;p=m}else{j=f[g+8>>2]|0;f[j+12>>2]=i;f[i+8>>2]=j;p=i}while(0);if(e){i=f[g+28>>2]|0;j=26100+(i<<2)|0;if((f[j>>2]|0)==(g|0)){f[j>>2]=p;if(!p){f[6450]=f[6450]&~(1<<i);k=g;l=h;break}}else{i=e+16|0;f[((f[i>>2]|0)==(g|0)?i:e+20|0)>>2]=p;if(!p){k=g;l=h;break}}f[p+24>>2]=e;i=g+16|0;j=f[i>>2]|0;if(j|0){f[p+16>>2]=j;f[j+24>>2]=p}j=f[i+4>>2]|0;if(j){f[p+20>>2]=j;f[j+24>>2]=p;k=g;l=h}else{k=g;l=h}}else{k=g;l=h}}else{k=a;l=b}while(0);b=c+4|0;a=f[b>>2]|0;if(!(a&2)){if((f[6455]|0)==(c|0)){p=(f[6452]|0)+l|0;f[6452]=p;f[6455]=k;f[k+4>>2]=p|1;if((k|0)!=(f[6454]|0))return;f[6454]=0;f[6451]=0;return}if((f[6454]|0)==(c|0)){p=(f[6451]|0)+l|0;f[6451]=p;f[6454]=k;f[k+4>>2]=p|1;f[k+p>>2]=p;return}p=(a&-8)+l|0;v=a>>>3;do if(a>>>0<256){u=f[c+8>>2]|0;r=f[c+12>>2]|0;if((r|0)==(u|0)){f[6449]=f[6449]&~(1<<v);break}else{f[u+12>>2]=r;f[r+8>>2]=u;break}}else{u=f[c+24>>2]|0;r=f[c+12>>2]|0;do if((r|0)==(c|0)){q=c+16|0;d=q+4|0;j=f[d>>2]|0;if(!j){i=f[q>>2]|0;if(!i){w=0;break}else{x=i;y=q}}else{x=j;y=d}d=x;j=y;while(1){q=d+20|0;i=f[q>>2]|0;if(!i){o=d+16|0;s=f[o>>2]|0;if(!s)break;else{z=s;A=o}}else{z=i;A=q}d=z;j=A}f[j>>2]=0;w=d}else{m=f[c+8>>2]|0;f[m+12>>2]=r;f[r+8>>2]=m;w=r}while(0);if(u|0){r=f[c+28>>2]|0;h=26100+(r<<2)|0;if((f[h>>2]|0)==(c|0)){f[h>>2]=w;if(!w){f[6450]=f[6450]&~(1<<r);break}}else{r=u+16|0;f[((f[r>>2]|0)==(c|0)?r:u+20|0)>>2]=w;if(!w)break}f[w+24>>2]=u;r=c+16|0;h=f[r>>2]|0;if(h|0){f[w+16>>2]=h;f[h+24>>2]=w}h=f[r+4>>2]|0;if(h|0){f[w+20>>2]=h;f[h+24>>2]=w}}}while(0);f[k+4>>2]=p|1;f[k+p>>2]=p;if((k|0)==(f[6454]|0)){f[6451]=p;return}else B=p}else{f[b>>2]=a&-2;f[k+4>>2]=l|1;f[k+l>>2]=l;B=l}l=B>>>3;if(B>>>0<256){a=25836+(l<<1<<2)|0;b=f[6449]|0;p=1<<l;if(!(b&p)){f[6449]=b|p;C=a;D=a+8|0}else{p=a+8|0;C=f[p>>2]|0;D=p}f[D>>2]=k;f[C+12>>2]=k;f[k+8>>2]=C;f[k+12>>2]=a;return}a=B>>>8;if(a)if(B>>>0>16777215)E=31;else{C=(a+1048320|0)>>>16&8;D=a<<C;a=(D+520192|0)>>>16&4;p=D<<a;D=(p+245760|0)>>>16&2;b=14-(a|C|D)+(p<<D>>>15)|0;E=B>>>(b+7|0)&1|b<<1}else E=0;b=26100+(E<<2)|0;f[k+28>>2]=E;f[k+20>>2]=0;f[k+16>>2]=0;D=f[6450]|0;p=1<<E;if(!(D&p)){f[6450]=D|p;f[b>>2]=k;f[k+24>>2]=b;f[k+12>>2]=k;f[k+8>>2]=k;return}p=f[b>>2]|0;a:do if((f[p+4>>2]&-8|0)==(B|0))F=p;else{b=B<<((E|0)==31?0:25-(E>>>1)|0);D=p;while(1){G=D+16+(b>>>31<<2)|0;C=f[G>>2]|0;if(!C)break;if((f[C+4>>2]&-8|0)==(B|0)){F=C;break a}else{b=b<<1;D=C}}f[G>>2]=k;f[k+24>>2]=D;f[k+12>>2]=k;f[k+8>>2]=k;return}while(0);G=F+8|0;B=f[G>>2]|0;f[B+12>>2]=k;f[G>>2]=k;f[k+8>>2]=B;f[k+12>>2]=F;f[k+24>>2]=0;return}function lc(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=qc(f[a+60>>2]|0)|0;f[c>>2]=d;d=oc(pa(6,c|0)|0)|0;u=b;return d|0}function mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+32|0;g=e;h=e+16|0;f[h>>2]=c;i=h+4|0;j=a+48|0;k=f[j>>2]|0;f[i>>2]=d-((k|0)!=0&1);l=a+44|0;f[h+8>>2]=f[l>>2];f[h+12>>2]=k;f[g>>2]=f[a+60>>2];f[g+4>>2]=h;f[g+8>>2]=2;h=oc(ka(145,g|0)|0)|0;if((h|0)>=1){g=f[i>>2]|0;if(h>>>0>g>>>0){i=f[l>>2]|0;l=a+4|0;f[l>>2]=i;k=i;f[a+8>>2]=k+(h-g);if(!(f[j>>2]|0))m=d;else{f[l>>2]=k+1;b[c+(d+-1)>>0]=b[k>>0]|0;m=d}}else m=h}else{f[a>>2]=f[a>>2]|h&48^16;m=h}u=e;return m|0}function nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((oc(ja(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function oc(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=pc()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function pc(){return 26364}function qc(a){a=a|0;return a|0}function rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=oc(la(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=f[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=g+(q<<31>>31)|0;t=o-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;o=oc(la(146,e|0)|0)|0;if((m|0)==(o|0)){v=3;break a}else{g=s;n=r}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((g|0)==2)w=0;else w=c-(f[n+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);a=v;f[i>>2]=a;f[k>>2]=a;w=c}u=d;return w|0}function sc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+32|0;g=e;f[a+36>>2]=1;if((f[a>>2]&64|0)==0?(f[g>>2]=f[a+60>>2],f[g+4>>2]=21523,f[g+8>>2]=e+16,oa(54,g|0)|0):0)b[a+75>>0]=-1;g=rc(a,c,d)|0;u=e;return g|0}function tc(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=a;do{c=c+1|0;d=d+1|0;a=b[c>>0]|0;e=b[d>>0]|0}while(!(a<<24>>24==0?1:a<<24>>24!=e<<24>>24));f=e;g=a}return (g&255)-(f&255)|0}function uc(a){a=a|0;return (a+-48|0)>>>0<10|0}function vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;c=wc(a,b,e)|0;u=d;return c|0}function wc(a,b,c){a=a|0;b=b|0;c=c|0;return xc(a,2147483647,b,c)|0}function xc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=3648;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=h;n=1;o=4}else{h=pc()|0;f[h>>2]=75;p=-1}else{m=a;n=c;o=4}if((o|0)==4){o=-2-m|0;c=n>>>0>o>>>0?o:n;f[i+48>>2]=c;n=i+20|0;f[n>>2]=m;f[i+44>>2]=m;o=m+c|0;m=i+16|0;f[m>>2]=o;f[i+28>>2]=o;o=yc(i,d,e)|0;if(!c)p=o;else{c=f[n>>2]|0;b[c+(((c|0)==(f[m>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function yc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((zc(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=Ac(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=zc(a,c,g,i,h)|0;if(!o)s=j;else{za[f[a+36>>2]&7](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=zc(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)Bc(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function zc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,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;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;c=(a|0)!=0;o=l+40|0;q=o;r=l+39|0;l=m+4|0;s=0;t=0;v=0;a:while(1){w=s;x=t;while(1){do if((x|0)>-1)if((w|0)>(2147483647-x|0)){y=pc()|0;f[y>>2]=75;z=-1;break}else{z=w+x|0;break}else z=x;while(0);A=f[j>>2]|0;y=b[A>>0]|0;if(!(y<<24>>24)){B=94;break a}C=y;y=A;b:while(1){switch(C<<24>>24){case 37:{B=10;break b;break}case 0:{D=y;break b;break}default:{}}E=y+1|0;f[j>>2]=E;C=b[E>>0]|0;y=E}c:do if((B|0)==10){B=0;C=y;E=y;while(1){if((b[E+1>>0]|0)!=37){D=C;break c}F=C+1|0;E=E+2|0;f[j>>2]=E;if((b[E>>0]|0)!=37){D=F;break}else C=F}}while(0);w=D-A|0;if(c)Cc(a,A,w);if(!w)break;else x=z}x=(uc(b[(f[j>>2]|0)+1>>0]|0)|0)==0;w=f[j>>2]|0;if(!x?(b[w+2>>0]|0)==36:0){G=(b[w+1>>0]|0)+-48|0;I=1;J=3}else{G=-1;I=v;J=1}x=w+J|0;f[j>>2]=x;w=b[x>>0]|0;y=(w<<24>>24)+-32|0;if(y>>>0>31|(1<<y&75913|0)==0){K=0;L=w;M=x}else{w=0;C=y;y=x;while(1){x=1<<C|w;E=y+1|0;f[j>>2]=E;F=b[E>>0]|0;C=(F<<24>>24)+-32|0;if(C>>>0>31|(1<<C&75913|0)==0){K=x;L=F;M=E;break}else{w=x;y=E}}}if(L<<24>>24==42){if((uc(b[M+1>>0]|0)|0)!=0?(y=f[j>>2]|0,(b[y+2>>0]|0)==36):0){w=y+1|0;f[h+((b[w>>0]|0)+-48<<2)>>2]=10;N=f[g+((b[w>>0]|0)+-48<<3)>>2]|0;O=1;P=y+3|0}else{if(I|0){Q=-1;break}if(c){y=(f[e>>2]|0)+(4-1)&~(4-1);w=f[y>>2]|0;f[e>>2]=y+4;R=w}else R=0;N=R;O=0;P=(f[j>>2]|0)+1|0}f[j>>2]=P;w=(N|0)<0;S=w?0-N|0:N;T=w?K|8192:K;U=O;V=P}else{w=Dc(j)|0;if((w|0)<0){Q=-1;break}S=w;T=K;U=I;V=f[j>>2]|0}do if((b[V>>0]|0)==46){w=V+1|0;if((b[w>>0]|0)!=42){f[j>>2]=w;w=Dc(j)|0;W=w;X=f[j>>2]|0;break}if(uc(b[V+2>>0]|0)|0?(w=f[j>>2]|0,(b[w+3>>0]|0)==36):0){y=w+2|0;f[h+((b[y>>0]|0)+-48<<2)>>2]=10;C=f[g+((b[y>>0]|0)+-48<<3)>>2]|0;y=w+4|0;f[j>>2]=y;W=C;X=y;break}if(U|0){Q=-1;break a}if(c){y=(f[e>>2]|0)+(4-1)&~(4-1);C=f[y>>2]|0;f[e>>2]=y+4;Y=C}else Y=0;C=(f[j>>2]|0)+2|0;f[j>>2]=C;W=Y;X=C}else{W=-1;X=V}while(0);C=0;y=X;while(1){if(((b[y>>0]|0)+-65|0)>>>0>57){Q=-1;break a}w=y;y=y+1|0;f[j>>2]=y;Z=b[(b[w>>0]|0)+-65+(23018+(C*58|0))>>0]|0;_=Z&255;if((_+-1|0)>>>0>=8)break;else C=_}if(!(Z<<24>>24)){Q=-1;break}w=(G|0)>-1;do if(Z<<24>>24==19)if(w){Q=-1;break a}else B=54;else{if(w){f[h+(G<<2)>>2]=_;E=g+(G<<3)|0;x=f[E+4>>2]|0;F=k;f[F>>2]=f[E>>2];f[F+4>>2]=x;B=54;break}if(!c){Q=0;break a}Ec(k,_,e);$=f[j>>2]|0;B=55}while(0);if((B|0)==54){B=0;if(c){$=y;B=55}else aa=0}d:do if((B|0)==55){B=0;w=b[$+-1>>0]|0;x=(C|0)!=0&(w&15|0)==3?w&-33:w;w=T&-65537;F=(T&8192|0)==0?T:w;e:do switch(x|0){case 110:{switch((C&255)<<24>>24){case 0:{f[f[k>>2]>>2]=z;aa=0;break d;break}case 1:{f[f[k>>2]>>2]=z;aa=0;break d;break}case 2:{E=f[k>>2]|0;f[E>>2]=z;f[E+4>>2]=((z|0)<0)<<31>>31;aa=0;break d;break}case 3:{d[f[k>>2]>>1]=z;aa=0;break d;break}case 4:{b[f[k>>2]>>0]=z;aa=0;break d;break}case 6:{f[f[k>>2]>>2]=z;aa=0;break d;break}case 7:{E=f[k>>2]|0;f[E>>2]=z;f[E+4>>2]=((z|0)<0)<<31>>31;aa=0;break d;break}default:{aa=0;break d}}break}case 112:{ba=120;ca=W>>>0>8?W:8;da=F|8;B=67;break}case 88:case 120:{ba=x;ca=W;da=F;B=67;break}case 111:{E=k;ea=f[E>>2]|0;fa=f[E+4>>2]|0;E=Gc(ea,fa,o)|0;ga=q-E|0;ha=E;ia=0;ja=23482;ka=(F&8|0)==0|(W|0)>(ga|0)?W:ga+1|0;la=F;ma=ea;na=fa;B=73;break}case 105:case 100:{fa=k;ea=f[fa>>2]|0;ga=f[fa+4>>2]|0;if((ga|0)<0){fa=ne(0,0,ea|0,ga|0)|0;E=H;oa=k;f[oa>>2]=fa;f[oa+4>>2]=E;pa=1;qa=23482;ra=fa;sa=E;B=72;break e}else{pa=(F&2049|0)!=0&1;qa=(F&2048|0)==0?((F&1|0)==0?23482:23484):23483;ra=ea;sa=ga;B=72;break e}break}case 117:{ga=k;pa=0;qa=23482;ra=f[ga>>2]|0;sa=f[ga+4>>2]|0;B=72;break}case 99:{b[r>>0]=f[k>>2];ta=r;ua=0;va=23482;wa=1;xa=w;ya=q;break}case 109:{ga=pc()|0;za=Ic(f[ga>>2]|0)|0;B=77;break}case 115:{ga=f[k>>2]|0;za=(ga|0)==0?23492:ga;B=77;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Aa=-1;B=81;break}case 83:{if(!W){Kc(a,32,S,0,F);Ba=0;B=91}else{Aa=W;B=81}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{aa=Mc(a,+p[k>>3],S,W,F,x)|0;break d;break}default:{ta=A;ua=0;va=23482;wa=W;xa=F;ya=q}}while(0);f:do if((B|0)==67){B=0;x=k;ga=f[x>>2]|0;ea=f[x+4>>2]|0;x=Fc(ga,ea,o,ba&32)|0;E=(da&8|0)==0|(ga|0)==0&(ea|0)==0;ha=x;ia=E?0:2;ja=E?23482:23482+(ba>>>4)|0;ka=ca;la=da;ma=ga;na=ea;B=73}else if((B|0)==72){B=0;ha=Hc(ra,sa,o)|0;ia=pa;ja=qa;ka=W;la=F;ma=ra;na=sa;B=73}else if((B|0)==77){B=0;ea=Jc(za,0,W)|0;ga=(ea|0)==0;ta=za;ua=0;va=23482;wa=ga?W:ea-za|0;xa=w;ya=ga?za+W|0:ea}else if((B|0)==81){B=0;ea=f[k>>2]|0;ga=0;while(1){E=f[ea>>2]|0;if(!E){Ca=ga;break}x=Lc(n,E)|0;Da=(x|0)<0;if(Da|x>>>0>(Aa-ga|0)>>>0){B=85;break}E=x+ga|0;if(Aa>>>0>E>>>0){ea=ea+4|0;ga=E}else{Ca=E;break}}if((B|0)==85){B=0;if(Da){Q=-1;break a}else Ca=ga}Kc(a,32,S,Ca,F);if(!Ca){Ba=0;B=91}else{ea=f[k>>2]|0;E=0;while(1){x=f[ea>>2]|0;if(!x){Ba=Ca;B=91;break f}fa=Lc(n,x)|0;E=fa+E|0;if((E|0)>(Ca|0)){Ba=Ca;B=91;break f}Cc(a,n,fa);if(E>>>0>=Ca>>>0){Ba=Ca;B=91;break}else ea=ea+4|0}}}while(0);if((B|0)==73){B=0;w=(ma|0)!=0|(na|0)!=0;ea=(ka|0)!=0|w;E=q-ha+((w^1)&1)|0;ta=ea?ha:o;ua=ia;va=ja;wa=ea?((ka|0)>(E|0)?ka:E):0;xa=(ka|0)>-1?la&-65537:la;ya=q}else if((B|0)==91){B=0;Kc(a,32,S,Ba,F^8192);aa=(S|0)>(Ba|0)?S:Ba;break}E=ya-ta|0;ea=(wa|0)<(E|0)?E:wa;w=ea+ua|0;ga=(S|0)<(w|0)?w:S;Kc(a,32,ga,w,xa);Cc(a,va,ua);Kc(a,48,ga,w,xa^65536);Kc(a,48,ea,E,0);Cc(a,ta,E);Kc(a,32,ga,w,xa^8192);aa=ga}while(0);s=aa;t=z;v=U}g:do if((B|0)==94)if(!a)if(!v)Q=0;else{U=1;while(1){t=f[h+(U<<2)>>2]|0;if(!t)break;Ec(g+(U<<3)|0,t,e);t=U+1|0;if(t>>>0<10)U=t;else{Q=1;break g}}t=U;while(1){if(f[h+(t<<2)>>2]|0){Q=-1;break g}t=t+1|0;if(t>>>0>=10){Q=1;break}}}else Q=z;while(0);u=i;return Q|0}function Ac(a){a=a|0;return 0}function Bc(a){a=a|0;return}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))Zc(b,c,a)|0;return}function Dc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;if(!(uc(b[f[a>>2]>>0]|0)|0))c=0;else{d=0;while(1){e=f[a>>2]|0;g=(d*10|0)+-48+(b[e>>0]|0)|0;h=e+1|0;f[a>>2]=h;if(!(uc(b[h>>0]|0)|0)){c=g;break}else d=g}}return c|0}function Ec(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function Fc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=d;d=c;c=a;while(1){a=g+-1|0;b[a>>0]=h[23530+(c&15)>>0]|0|e;c=re(c|0,d|0,4)|0;d=H;if((c|0)==0&(d|0)==0){f=a;break}else g=a}}return f|0}function Gc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=a;while(1){a=f+-1|0;b[a>>0]=c&7|48;c=re(c|0,d|0,3)|0;d=H;if((c|0)==0&(d|0)==0){e=a;break}else f=a}}return e|0}function Hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=d;f=a;g=c;do{c=f;f=qe(f|0,g|0,10,0)|0;h=g;g=H;i=le(f|0,g|0,10,0)|0;j=ne(c|0,h|0,i|0,H|0)|0;e=e+-1|0;b[e>>0]=j&255|48}while(h>>>0>9|(h|0)==9&c>>>0>4294967295);k=f;l=e}else{k=a;l=d}if(!k)m=l;else{d=k;k=l;while(1){l=d;d=(d>>>0)/10|0;a=k+-1|0;b[a>>0]=l-(d*10|0)|48;if(l>>>0<10){m=a;break}else k=a}}return m|0}function Ic(a){a=a|0;var b=0;b=(Tc()|0)+188|0;return Uc(a,f[b>>2]|0)|0}function Jc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=a;j=d;while(1){if((b[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=a;r=d;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else m=16;b:do if((m|0)==6){r=c&255;if((b[k>>0]|0)==r<<24>>24)if(!l){m=16;break}else{t=k;break}q=W(e,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){d=f[s>>2]^q;if((d&-2139062144^-2139062144)&d+-16843009|0){u=g;v=s;break c}d=s+4|0;a=g+-4|0;if(a>>>0>3){s=d;g=a}else{w=d;x=a;m=11;break}}}else{w=k;x=l;m=11}while(0);if((m|0)==11)if(!x){m=16;break}else{u=x;v=w}q=v;g=u;while(1){if((b[q>>0]|0)==r<<24>>24){t=q;break b}g=g+-1|0;if(!g){m=16;break}else q=q+1|0}}while(0);if((m|0)==16)t=0;return t|0}function Kc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;ve(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{Cc(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;Cc(a,g,h)}u=f;return}function Lc(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Qc(a,b,0)|0;return c|0}function Mc(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0,G=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0,V=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.0,ia=0.0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;q=Nc(c)|0;r=H;if((r|0)<0){s=-c;t=Nc(s)|0;v=s;w=1;x=23499;y=H;z=t}else{v=c;w=(g&2049|0)!=0&1;x=(g&2048|0)==0?((g&1|0)==0?23500:23505):23502;y=r;z=q}do if(0==0&(y&2146435072|0)==2146435072){q=(i&32|0)!=0;z=w+3|0;Kc(a,32,d,z,g&-65537);Cc(a,x,w);Cc(a,v!=v|0.0!=0.0?(q?25775:23526):q?23518:23522,3);Kc(a,32,d,z,g^8192);A=z}else{c=+Oc(v,l)*2.0;z=c!=0.0;if(z)f[l>>2]=(f[l>>2]|0)+-1;q=i|32;if((q|0)==97){r=i&32;t=(r|0)==0?x:x+9|0;B=w|2;C=12-e|0;do if(!(e>>>0>11|(C|0)==0)){s=8.0;D=C;do{D=D+-1|0;s=s*16.0}while((D|0)!=0);if((b[t>>0]|0)==45){E=-(s+(-c-s));break}else{E=c+s-s;break}}else E=c;while(0);C=f[l>>2]|0;D=(C|0)<0?0-C|0:C;F=Hc(D,((D|0)<0)<<31>>31,p)|0;if((F|0)==(p|0)){D=o+11|0;b[D>>0]=48;G=D}else G=F;b[G+-1>>0]=(C>>31&2)+43;C=G+-2|0;b[C>>0]=i+15;F=(e|0)<1;D=(g&8|0)==0;I=m;J=E;while(1){K=~~J;L=I+1|0;b[I>>0]=r|h[23530+K>>0];J=(J-+(K|0))*16.0;if((L-n|0)==1?!(D&(F&J==0.0)):0){b[L>>0]=46;M=I+2|0}else M=L;if(!(J!=0.0))break;else I=M}I=M;if((e|0)!=0?(-2-n+I|0)<(e|0):0){F=p;D=C;N=e+2+F-D|0;O=F;P=D}else{D=p;F=C;N=D-n-F+I|0;O=D;P=F}F=N+B|0;Kc(a,32,d,F,g);Cc(a,t,B);Kc(a,48,d,F,g^65536);D=I-n|0;Cc(a,m,D);I=O-P|0;Kc(a,48,N-(D+I)|0,0,0);Cc(a,C,I);Kc(a,32,d,F,g^8192);A=F;break}F=(e|0)<0?6:e;if(z){I=(f[l>>2]|0)+-28|0;f[l>>2]=I;Q=c*268435456.0;R=I}else{Q=c;R=f[l>>2]|0}I=(R|0)<0?k:k+288|0;D=I;J=Q;do{r=~~J>>>0;f[D>>2]=r;D=D+4|0;J=(J-+(r>>>0))*1.0e9}while(J!=0.0);if((R|0)>0){z=I;C=D;B=R;while(1){t=(B|0)<29?B:29;r=C+-4|0;if(r>>>0>=z>>>0){L=r;r=0;do{K=se(f[L>>2]|0,0,t|0)|0;S=me(K|0,H|0,r|0,0)|0;K=H;r=qe(S|0,K|0,1e9,0)|0;T=le(r|0,H|0,1e9,0)|0;U=ne(S|0,K|0,T|0,H|0)|0;f[L>>2]=U;L=L+-4|0}while(L>>>0>=z>>>0);if(r){L=z+-4|0;f[L>>2]=r;V=L}else V=z}else V=z;a:do if(C>>>0>V>>>0){L=C;while(1){U=L+-4|0;if(f[U>>2]|0){X=L;break a}if(U>>>0>V>>>0)L=U;else{X=U;break}}}else X=C;while(0);r=(f[l>>2]|0)-t|0;f[l>>2]=r;if((r|0)>0){z=V;C=X;B=r}else{Y=V;Z=X;_=r;break}}}else{Y=I;Z=D;_=R}if((_|0)<0){B=((F+25|0)/9|0)+1|0;C=(q|0)==102;z=Y;r=Z;L=_;while(1){U=0-L|0;T=(U|0)<9?U:9;if(z>>>0<r>>>0){U=(1<<T)+-1|0;K=1e9>>>T;S=0;$=z;do{aa=f[$>>2]|0;f[$>>2]=(aa>>>T)+S;S=W(aa&U,K)|0;$=$+4|0}while($>>>0<r>>>0);$=(f[z>>2]|0)==0?z+4|0:z;if(!S){ba=r;ca=$}else{f[r>>2]=S;ba=r+4|0;ca=$}}else{ba=r;ca=(f[z>>2]|0)==0?z+4|0:z}$=C?I:ca;K=(ba-$>>2|0)>(B|0)?$+(B<<2)|0:ba;L=(f[l>>2]|0)+T|0;f[l>>2]=L;if((L|0)>=0){da=ca;ea=K;break}else{z=ca;r=K}}}else{da=Y;ea=Z}r=I;if(da>>>0<ea>>>0){z=(r-da>>2)*9|0;L=f[da>>2]|0;if(L>>>0<10)fa=z;else{B=z;z=10;while(1){z=z*10|0;C=B+1|0;if(L>>>0<z>>>0){fa=C;break}else B=C}}}else fa=0;B=(q|0)==103;z=(F|0)!=0;L=F-((q|0)==102?0:fa)+((z&B)<<31>>31)|0;if((L|0)<(((ea-r>>2)*9|0)+-9|0)){C=L+9216|0;L=(C|0)/9|0;D=I+4+(L+-1024<<2)|0;K=C-(L*9|0)|0;if((K|0)<8){L=K;K=10;while(1){C=K*10|0;if((L|0)<7){L=L+1|0;K=C}else{ga=C;break}}}else ga=10;K=f[D>>2]|0;L=(K>>>0)/(ga>>>0)|0;q=K-(W(L,ga)|0)|0;C=(D+4|0)==(ea|0);if(!(C&(q|0)==0)){s=(L&1|0)==0?9007199254740992.0:9007199254740994.0;L=ga>>>1;J=q>>>0<L>>>0?.5:C&(q|0)==(L|0)?1.0:1.5;if(!w){ha=J;ia=s}else{L=(b[x>>0]|0)==45;ha=L?-J:J;ia=L?-s:s}L=K-q|0;f[D>>2]=L;if(ia+ha!=ia){q=L+ga|0;f[D>>2]=q;if(q>>>0>999999999){q=D;L=da;while(1){K=q+-4|0;f[q>>2]=0;if(K>>>0<L>>>0){C=L+-4|0;f[C>>2]=0;ja=C}else ja=L;C=(f[K>>2]|0)+1|0;f[K>>2]=C;if(C>>>0>999999999){q=K;L=ja}else{ka=K;la=ja;break}}}else{ka=D;la=da}L=(r-la>>2)*9|0;q=f[la>>2]|0;if(q>>>0<10){ma=ka;na=L;oa=la}else{K=L;L=10;while(1){L=L*10|0;C=K+1|0;if(q>>>0<L>>>0){ma=ka;na=C;oa=la;break}else K=C}}}else{ma=D;na=fa;oa=da}}else{ma=D;na=fa;oa=da}K=ma+4|0;pa=na;qa=ea>>>0>K>>>0?K:ea;ra=oa}else{pa=fa;qa=ea;ra=da}K=0-pa|0;b:do if(qa>>>0>ra>>>0){L=qa;while(1){q=L+-4|0;if(f[q>>2]|0){sa=L;ta=1;break b}if(q>>>0>ra>>>0)L=q;else{sa=q;ta=0;break}}}else{sa=qa;ta=0}while(0);do if(B){D=F+((z^1)&1)|0;if((D|0)>(pa|0)&(pa|0)>-5){ua=i+-1|0;va=D+-1-pa|0}else{ua=i+-2|0;va=D+-1|0}if(!(g&8)){if(ta?(D=f[sa+-4>>2]|0,(D|0)!=0):0)if(!((D>>>0)%10|0)){L=0;T=10;while(1){T=T*10|0;S=L+1|0;if((D>>>0)%(T>>>0)|0|0){wa=S;break}else L=S}}else wa=0;else wa=9;L=((sa-r>>2)*9|0)+-9|0;if((ua|32|0)==102){T=L-wa|0;D=(T|0)>0?T:0;xa=ua;ya=(va|0)<(D|0)?va:D;break}else{D=L+pa-wa|0;L=(D|0)>0?D:0;xa=ua;ya=(va|0)<(L|0)?va:L;break}}else{xa=ua;ya=va}}else{xa=i;ya=F}while(0);F=(ya|0)!=0;r=F?1:g>>>3&1;z=(xa|32|0)==102;if(z){za=0;Aa=(pa|0)>0?pa:0}else{B=(pa|0)<0?K:pa;L=Hc(B,((B|0)<0)<<31>>31,p)|0;B=p;if((B-L|0)<2){D=L;while(1){T=D+-1|0;b[T>>0]=48;if((B-T|0)<2)D=T;else{Ba=T;break}}}else Ba=L;b[Ba+-1>>0]=(pa>>31&2)+43;D=Ba+-2|0;b[D>>0]=xa;za=D;Aa=B-D|0}D=w+1+ya+r+Aa|0;Kc(a,32,d,D,g);Cc(a,x,w);Kc(a,48,d,D,g^65536);if(z){K=ra>>>0>I>>>0?I:ra;T=m+9|0;S=T;q=m+8|0;C=K;do{$=Hc(f[C>>2]|0,0,T)|0;if((C|0)==(K|0))if(($|0)==(T|0)){b[q>>0]=48;Ca=q}else Ca=$;else if($>>>0>m>>>0){ve(m|0,48,$-n|0)|0;U=$;while(1){t=U+-1|0;if(t>>>0>m>>>0)U=t;else{Ca=t;break}}}else Ca=$;Cc(a,Ca,S-Ca|0);C=C+4|0}while(C>>>0<=I>>>0);if(!((g&8|0)==0&(F^1)))Cc(a,23546,1);if(C>>>0<sa>>>0&(ya|0)>0){I=ya;S=C;while(1){q=Hc(f[S>>2]|0,0,T)|0;if(q>>>0>m>>>0){ve(m|0,48,q-n|0)|0;K=q;while(1){z=K+-1|0;if(z>>>0>m>>>0)K=z;else{Da=z;break}}}else Da=q;Cc(a,Da,(I|0)<9?I:9);S=S+4|0;K=I+-9|0;if(!(S>>>0<sa>>>0&(I|0)>9)){Ea=K;break}else I=K}}else Ea=ya;Kc(a,48,Ea+9|0,9,0)}else{I=ta?sa:ra+4|0;if(ra>>>0<I>>>0&(ya|0)>-1){S=m+9|0;T=(g&8|0)==0;C=S;F=0-n|0;K=m+8|0;$=ya;z=ra;while(1){r=Hc(f[z>>2]|0,0,S)|0;if((r|0)==(S|0)){b[K>>0]=48;Fa=K}else Fa=r;do if((z|0)==(ra|0)){r=Fa+1|0;Cc(a,Fa,1);if(T&($|0)<1){Ga=r;break}Cc(a,23546,1);Ga=r}else{if(Fa>>>0<=m>>>0){Ga=Fa;break}ve(m|0,48,Fa+F|0)|0;r=Fa;while(1){B=r+-1|0;if(B>>>0>m>>>0)r=B;else{Ga=B;break}}}while(0);q=C-Ga|0;Cc(a,Ga,($|0)>(q|0)?q:$);r=$-q|0;z=z+4|0;if(!(z>>>0<I>>>0&(r|0)>-1)){Ha=r;break}else $=r}}else Ha=ya;Kc(a,48,Ha+18|0,18,0);Cc(a,za,p-za|0)}Kc(a,32,d,D,g^8192);A=D}while(0);u=j;return ((A|0)<(d|0)?d:A)|0}function Nc(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;H=f[s+4>>2]|0;return b|0}function Oc(a,b){a=+a;b=b|0;return +(+Pc(a,b))}function Pc(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0.0,i=0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=re(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+Pc(a*18446744073709551616.0,b);h=g;i=(f[b>>2]|0)+-64|0}else{h=a;i=0}f[b>>2]=i;j=h;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function Qc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(Rc()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=pc()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=pc()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function Rc(){return Sc()|0}function Sc(){return 3772}function Tc(){return Sc()|0}function Uc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0;d=0;while(1){if((h[23548+d>>0]|0)==(a|0)){e=4;break}g=d+1|0;if((g|0)==87){i=87;e=5;break}else d=g}if((e|0)==4)if(!d)j=23636;else{i=d;e=5}if((e|0)==5){e=23636;d=i;while(1){i=e;do{a=i;i=i+1|0}while((b[a>>0]|0)!=0);d=d+-1|0;if(!d){j=i;break}else e=i}}return Vc(j,f[c+20>>2]|0)|0}function Vc(a,b){a=a|0;b=b|0;return Wc(a,b)|0}function Wc(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=Xc(f[b>>2]|0,f[b+4>>2]|0,a)|0;return ((c|0)==0?a:c)|0}function Xc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=Yc(f[a+8>>2]|0,e)|0;h=Yc(f[a+12>>2]|0,e)|0;i=Yc(f[a+16>>2]|0,e)|0;a:do if((g>>>0<c>>>2>>>0?(j=c-(g<<2)|0,h>>>0<j>>>0&i>>>0<j>>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=Yc(f[a+(q<<2)>>2]|0,e)|0;s=Yc(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0<c>>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=tc(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}l=s?l:o;m=s?n:m-n|0}m=p+k|0;l=Yc(f[a+(m<<2)>>2]|0,e)|0;j=Yc(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0<c>>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function Yc(a,b){a=a|0;b=b|0;var c=0;c=te(a|0)|0;return ((b|0)==0?a:c)|0}function Zc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(_c(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0<c>>>0){j=za[f[d+36>>2]&7](d,a,c)|0;break}b:do if((b[d+75>>0]|0)<0|(c|0)==0){l=0;m=a;n=c;o=k}else{e=c;while(1){p=e+-1|0;if((b[a+p>>0]|0)==10)break;if(!p){l=0;m=a;n=c;o=k;break b}else e=p}p=za[f[d+36>>2]&7](d,a,e)|0;if(p>>>0<e>>>0){j=p;break a}l=e;m=a+e|0;n=c-e|0;o=f[g>>2]|0}while(0);ue(o|0,m|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function _c(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function $c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;ue(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function ad(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+128|0;h=g;f[h>>2]=0;i=h+4|0;f[i>>2]=a;f[h+44>>2]=a;j=h+8|0;f[j>>2]=(a|0)<0?-1:a+2147483647|0;f[h+76>>2]=-1;bd(h,0);k=cd(h,c,1,d,e)|0;if(b|0)f[b>>2]=a+((f[i>>2]|0)+(f[h+108>>2]|0)-(f[j>>2]|0));u=g;return k|0}function bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a+104>>2]=b;c=f[a+8>>2]|0;d=f[a+4>>2]|0;e=c-d|0;f[a+108>>2]=e;if((b|0)!=0&(e|0)>(b|0))f[a+100>>2]=d+b;else f[a+100>>2]=c;return}function cd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,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;a:do if(c>>>0>36){i=pc()|0;f[i>>2]=22;j=0;k=0}else{i=a+4|0;l=a+100|0;do{m=f[i>>2]|0;if(m>>>0<(f[l>>2]|0)>>>0){f[i>>2]=m+1;n=h[m>>0]|0}else n=dd(a)|0}while((ed(n)|0)!=0);b:do switch(n|0){case 43:case 45:{m=((n|0)==45)<<31>>31;o=f[i>>2]|0;if(o>>>0<(f[l>>2]|0)>>>0){f[i>>2]=o+1;p=m;q=h[o>>0]|0;break b}else{p=m;q=dd(a)|0;break b}break}default:{p=0;q=n}}while(0);m=(c|0)==0;do if((c|16|0)==16&(q|0)==48){o=f[i>>2]|0;if(o>>>0<(f[l>>2]|0)>>>0){f[i>>2]=o+1;r=h[o>>0]|0}else r=dd(a)|0;if((r|32|0)!=120)if(m){s=r;t=8;u=47;break}else{v=r;w=c;u=32;break}o=f[i>>2]|0;if(o>>>0<(f[l>>2]|0)>>>0){f[i>>2]=o+1;x=h[o>>0]|0}else x=dd(a)|0;if((h[25441+x>>0]|0)>15){o=(f[l>>2]|0)==0;if(!o)f[i>>2]=(f[i>>2]|0)+-1;if(!d){bd(a,0);j=0;k=0;break a}if(o){j=0;k=0;break a}f[i>>2]=(f[i>>2]|0)+-1;j=0;k=0;break a}else{s=x;t=16;u=47}}else{o=m?10:c;if(o>>>0>(h[25441+q>>0]|0)>>>0){v=q;w=o;u=32}else{if(f[l>>2]|0)f[i>>2]=(f[i>>2]|0)+-1;bd(a,0);o=pc()|0;f[o>>2]=22;j=0;k=0;break a}}while(0);c:do if((u|0)==32)if((w|0)==10){m=v+-48|0;if(m>>>0<10){o=0;y=m;do{o=(o*10|0)+y|0;m=f[i>>2]|0;if(m>>>0<(f[l>>2]|0)>>>0){f[i>>2]=m+1;z=h[m>>0]|0}else z=dd(a)|0;y=z+-48|0}while(y>>>0<10&o>>>0<429496729);if(y>>>0<10){m=z;A=o;B=0;C=y;while(1){D=le(A|0,B|0,10,0)|0;E=H;F=((C|0)<0)<<31>>31;G=~F;if(E>>>0>G>>>0|(E|0)==(G|0)&D>>>0>~C>>>0){I=10;J=m;K=A;L=B;u=76;break c}A=me(D|0,E|0,C|0,F|0)|0;B=H;F=f[i>>2]|0;if(F>>>0<(f[l>>2]|0)>>>0){f[i>>2]=F+1;M=h[F>>0]|0}else M=dd(a)|0;C=M+-48|0;if(!(C>>>0<10&(B>>>0<429496729|(B|0)==429496729&A>>>0<2576980378)))break;else m=M}if(C>>>0>9){N=p;O=B;P=A}else{I=10;J=M;K=A;L=B;u=76}}else{N=p;O=0;P=o}}else{N=p;O=0;P=0}}else{s=v;t=w;u=47}while(0);d:do if((u|0)==47){if(!(t+-1&t)){m=b[25697+((t*23|0)>>>5&7)>>0]|0;y=b[25441+s>>0]|0;F=y&255;if(t>>>0>F>>>0){E=0;D=F;do{E=D|E<<m;G=f[i>>2]|0;if(G>>>0<(f[l>>2]|0)>>>0){f[i>>2]=G+1;Q=h[G>>0]|0}else Q=dd(a)|0;R=b[25441+Q>>0]|0;D=R&255}while(E>>>0<134217728&t>>>0>D>>>0);S=Q;T=D;U=0;V=E;X=R}else{S=s;T=F;U=0;V=0;X=y}o=re(-1,-1,m|0)|0;B=H;if(t>>>0<=T>>>0|(B>>>0<U>>>0|(B|0)==(U|0)&o>>>0<V>>>0)){I=t;J=S;K=V;L=U;u=76;break}A=V;C=U;G=X;while(1){Y=se(A|0,C|0,m|0)|0;Z=H;_=Y|G&255;Y=f[i>>2]|0;if(Y>>>0<(f[l>>2]|0)>>>0){f[i>>2]=Y+1;$=h[Y>>0]|0}else $=dd(a)|0;G=b[25441+$>>0]|0;if(t>>>0<=(G&255)>>>0|(Z>>>0>B>>>0|(Z|0)==(B|0)&_>>>0>o>>>0)){I=t;J=$;K=_;L=Z;u=76;break d}else{A=_;C=Z}}}C=b[25441+s>>0]|0;A=C&255;if(t>>>0>A>>>0){o=0;B=A;do{o=B+(W(o,t)|0)|0;G=f[i>>2]|0;if(G>>>0<(f[l>>2]|0)>>>0){f[i>>2]=G+1;aa=h[G>>0]|0}else aa=dd(a)|0;ba=b[25441+aa>>0]|0;B=ba&255}while(o>>>0<119304647&t>>>0>B>>>0);ca=aa;da=B;ea=ba;fa=o;ga=0}else{ca=s;da=A;ea=C;fa=0;ga=0}if(t>>>0>da>>>0){G=qe(-1,-1,t|0,0)|0;m=H;y=ca;F=ga;E=fa;D=ea;while(1){if(F>>>0>m>>>0|(F|0)==(m|0)&E>>>0>G>>>0){I=t;J=y;K=E;L=F;u=76;break d}Z=le(E|0,F|0,t|0,0)|0;_=H;Y=D&255;if(_>>>0>4294967295|(_|0)==-1&Z>>>0>~Y>>>0){I=t;J=y;K=E;L=F;u=76;break d}ha=me(Z|0,_|0,Y|0,0)|0;Y=H;_=f[i>>2]|0;if(_>>>0<(f[l>>2]|0)>>>0){f[i>>2]=_+1;ia=h[_>>0]|0}else ia=dd(a)|0;D=b[25441+ia>>0]|0;if(t>>>0<=(D&255)>>>0){I=t;J=ia;K=ha;L=Y;u=76;break}else{y=ia;F=Y;E=ha}}}else{I=t;J=ca;K=fa;L=ga;u=76}}while(0);if((u|0)==76)if(I>>>0>(h[25441+J>>0]|0)>>>0){do{E=f[i>>2]|0;if(E>>>0<(f[l>>2]|0)>>>0){f[i>>2]=E+1;ja=h[E>>0]|0}else ja=dd(a)|0}while(I>>>0>(h[25441+ja>>0]|0)>>>0);E=pc()|0;f[E>>2]=34;N=(e&1|0)==0&0==0?p:0;O=g;P=e}else{N=p;O=L;P=K}if(f[l>>2]|0)f[i>>2]=(f[i>>2]|0)+-1;if(!(O>>>0<g>>>0|(O|0)==(g|0)&P>>>0<e>>>0)){if(!((e&1|0)!=0|0!=0|(N|0)!=0)){E=pc()|0;f[E>>2]=34;E=me(e|0,g|0,-1,-1)|0;j=H;k=E;break}if(O>>>0>g>>>0|(O|0)==(g|0)&P>>>0>e>>>0){E=pc()|0;f[E>>2]=34;j=g;k=e;break}}E=((N|0)<0)<<31>>31;F=ne(P^N|0,O^E|0,N|0,E|0)|0;j=H;k=F}while(0);H=j;return k|0}function dd(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+104|0;d=f[c>>2]|0;if((d|0)!=0?(f[a+108>>2]|0)>=(d|0):0)e=4;else{d=fd(a)|0;if((d|0)>=0){g=f[c>>2]|0;c=f[a+8>>2]|0;if(g){i=f[a+4>>2]|0;j=g-(f[a+108>>2]|0)|0;g=c;if((c-i|0)<(j|0)){k=g;e=9}else{f[a+100>>2]=i+(j+-1);l=g}}else{k=c;e=9}if((e|0)==9){f[a+100>>2]=c;l=k}k=a+4|0;if(!l)m=f[k>>2]|0;else{c=f[k>>2]|0;k=a+108|0;f[k>>2]=l+1-c+(f[k>>2]|0);m=c}c=m+-1|0;if((d|0)==(h[c>>0]|0|0))n=d;else{b[c>>0]=d;n=d}}else e=4}if((e|0)==4){f[a+100>>2]=0;n=-1}return n|0}function ed(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function fd(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;if((gd(a)|0)==0?(za[f[a+32>>2]&7](a,c,1)|0)==1:0)d=h[c>>0]|0;else d=-1;u=b;return d|0}function gd(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=a+20|0;c=a+28|0;if((f[d>>2]|0)>>>0>(f[c>>2]|0)>>>0)za[f[a+36>>2]&7](a,0,0)|0;f[a+16>>2]=0;f[c>>2]=0;f[d>>2]=0;d=f[a>>2]|0;if(!(d&4)){c=(f[a+44>>2]|0)+(f[a+48>>2]|0)|0;f[a+8>>2]=c;f[a+4>>2]=c;e=d<<27>>31}else{f[a>>2]=d|32;e=-1}return e|0}function hd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;g=u;u=u+16|0;i=g;j=(e|0)==0?26368:e;e=f[j>>2]|0;a:do if(!c)if(!e)k=0;else l=19;else{m=(a|0)==0?i:a;if(!d)k=-2;else{if(!e){n=b[c>>0]|0;if(n<<24>>24>-1){f[m>>2]=n&255;k=n<<24>>24!=0&1;break}n=(id()|0)+188|0;o=b[c>>0]|0;if(!(f[f[n>>2]>>2]|0)){f[m>>2]=o<<24>>24&57343;k=1;break}n=(o&255)+-194|0;if(n>>>0>50){l=19;break}o=f[3180+(n<<2)>>2]|0;n=d+-1|0;if(!n)p=o;else{q=c+1|0;r=o;s=n;l=11}}else{q=c;r=e;s=d;l=11}b:do if((l|0)==11){n=h[q>>0]|0;o=n>>>3;if((o+-16|o+(r>>26))>>>0>7){l=19;break a}o=n+-128|r<<6;n=s+-1|0;if((o|0)<0){t=q;v=o;w=n;while(1){t=t+1|0;if(!w){p=v;break b}x=b[t>>0]|0;if((x&-64)<<24>>24!=-128){l=19;break a}y=(x&255)+-128|v<<6;x=w+-1|0;if((y|0)>=0){z=x;A=y;break}else{v=y;w=x}}}else{z=n;A=o}f[j>>2]=0;f[m>>2]=A;k=d-z|0;break a}while(0);f[j>>2]=p;k=-2}}while(0);if((l|0)==19){f[j>>2]=0;j=pc()|0;f[j>>2]=84;k=-1}u=g;return k|0}function id(){return Sc()|0}function jd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;a:do if(!c)i=0;else{do if(d|0){j=(a|0)==0?g:a;k=b[c>>0]|0;if(k<<24>>24>-1){f[j>>2]=k&255;i=k<<24>>24!=0&1;break a}k=(kd()|0)+188|0;l=b[c>>0]|0;if(!(f[f[k>>2]>>2]|0)){f[j>>2]=l<<24>>24&57343;i=1;break a}k=(l&255)+-194|0;if(k>>>0<=50){l=c+1|0;m=f[3180+(k<<2)>>2]|0;if(d>>>0<4?m&-2147483648>>>((d*6|0)+-6|0)|0:0)break;k=h[l>>0]|0;l=k>>>3;if((l+-16|l+(m>>26))>>>0<=7){l=k+-128|m<<6;if((l|0)>=0){f[j>>2]=l;i=2;break a}m=(h[c+2>>0]|0)+-128|0;if(m>>>0<=63){k=m|l<<6;if((k|0)>=0){f[j>>2]=k;i=3;break a}l=(h[c+3>>0]|0)+-128|0;if(l>>>0<=63){f[j>>2]=l|k<<6;i=4;break a}}}}}while(0);k=pc()|0;f[k>>2]=84;i=-1}while(0);u=e;return i|0}function kd(){return Sc()|0}function ld(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=5}else{g=a;h=c;while(1){if(!(b[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){d=j;e=5;break}else g=j}}while(0);if((e|0)==5){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function md(a){a=a|0;var b=0;if(!a)b=1;else b=(f[a>>2]|0)==0&1;return b|0}function nd(a){a=a|0;return (a+-97|0)>>>0<26|0}function od(a){a=a|0;var b=0;b=(nd(a)|0)==0;return (b?a:a&95)|0}function pd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=c&255;a:do if(!d)e=a+(ld(a)|0)|0;else{if(!(a&3))g=a;else{h=c&255;i=a;while(1){j=b[i>>0]|0;if(j<<24>>24==0?1:j<<24>>24==h<<24>>24){e=i;break a}j=i+1|0;if(!(j&3)){g=j;break}else i=j}}i=W(d,16843009)|0;h=f[g>>2]|0;b:do if(!((h&-2139062144^-2139062144)&h+-16843009)){j=g;k=h;while(1){l=k^i;if((l&-2139062144^-2139062144)&l+-16843009|0){m=j;break b}l=j+4|0;k=f[l>>2]|0;if((k&-2139062144^-2139062144)&k+-16843009|0){m=l;break}else j=l}}else m=g;while(0);i=c&255;h=m;while(1){j=b[h>>0]|0;if(j<<24>>24==0?1:j<<24>>24==i<<24>>24){e=h;break}else h=h+1|0}}while(0);return e|0}function qd(a,b){a=a|0;b=b|0;rd(a,b)|0;return a|0}function rd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=c;a:do if(!((d^a)&3)){if(!(d&3)){e=c;g=a}else{h=c;i=a;while(1){j=b[h>>0]|0;b[i>>0]=j;if(!(j<<24>>24)){k=i;break a}j=h+1|0;l=i+1|0;if(!(j&3)){e=j;g=l;break}else{h=j;i=l}}}i=f[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){h=g;l=e;j=i;while(1){i=l+4|0;m=h+4|0;f[h>>2]=j;j=f[i>>2]|0;if((j&-2139062144^-2139062144)&j+-16843009|0){n=i;o=m;break}else{h=m;l=i}}}else{n=e;o=g}p=n;q=o;r=10}else{p=c;q=a;r=10}while(0);if((r|0)==10){r=b[p>>0]|0;b[q>>0]=r;if(!(r<<24>>24))k=q;else{r=q;q=p;while(1){q=q+1|0;p=r+1|0;a=b[q>>0]|0;b[p>>0]=a;if(!(a<<24>>24)){k=p;break}else r=p}}}return k|0}function sd(a,c){a=a|0;c=c|0;var d=0;d=pd(a,c)|0;return ((b[d>>0]|0)==(c&255)<<24>>24?d:0)|0}function td(a){a=a|0;var b=0;b=(ud()|0)+188|0;return Wc(a,f[(f[b>>2]|0)+20>>2]|0)|0}function ud(){return Sc()|0}function vd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=f[847]|0;g=td(b)|0;wd(e);if(((xd(a,e)|0)>-1?yd(g,ld(g)|0,1,e)|0:0)?(yd(c,1,d,e)|0)==(d|0):0)zd(10,e)|0;Ad(e);return}function wd(a){a=a|0;var b=0,c=0,d=0;if(Ed(a)|0){b=a+76|0;c=a+80|0;do{d=f[b>>2]|0;if(d|0)ra(b|0,c|0,d|0,1)}while((Ed(a)|0)!=0)}return}function xd(a,b){a=a|0;b=b|0;var c=0;c=ld(a)|0;return ((yd(a,1,c,b)|0)!=(c|0))<<31>>31|0}function yd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=W(c,b)|0;g=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){c=(Ac(d)|0)==0;h=Zc(a,e,d)|0;if(c)i=h;else{Bc(d);i=h}}else i=Zc(a,e,d)|0;if((i|0)==(e|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function zd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;if((f[c+76>>2]|0)>=0?(Ac(c)|0)!=0:0){d=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=Dd(c,a)|0;Bc(c);j=i}else k=3;do if((k|0)==3){i=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(d=c+20|0,h=f[d>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[d>>2]=h+1;b[h>>0]=i;j=e;break}j=Dd(c,a)|0}while(0);return j|0}function Ad(a){a=a|0;var b=0,c=0;b=a+68|0;c=f[b>>2]|0;if((c|0)==1){Bd(a);f[b>>2]=0;Bc(a)}else f[b>>2]=c+-1;return}function Bd(a){a=a|0;var b=0,c=0,d=0;if(f[a+68>>2]|0){b=f[a+116>>2]|0;c=a+112|0;if(b|0)f[b+112>>2]=f[c>>2];a=f[c>>2]|0;if(!a)d=(Cd()|0)+232|0;else d=a+116|0;f[d>>2]=b}return}function Cd(){return Sc()|0}function Dd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(_c(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0<k>>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((za[f[a+36>>2]&7](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function Ed(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=Cd()|0;c=f[b+52>>2]|0;d=a+76|0;if((f[d>>2]|0)==(c|0)){e=a+68|0;g=f[e>>2]|0;if((g|0)==2147483647)h=-1;else{f[e>>2]=g+1;h=0}}else{if((f[d>>2]|0)<0)f[d>>2]=0;if(!(f[d>>2]|0)){Fd(d,c);f[a+68>>2]=1;f[a+112>>2]=0;c=b+232|0;b=f[c>>2]|0;f[a+116>>2]=b;if(b|0)f[b+112>>2]=a;f[c>>2]=a;h=0}else h=-1}return h|0}function Fd(a,b){a=a|0;b=b|0;if(!(f[a>>2]|0))f[a>>2]=b;return}function Gd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+16|0;g=e+4|0;h=e;i=f[846]|0;if((i|0)==0|0!=0){f[6573]=0;f[846]=1;j=1}else j=i;a:do if((j|0)<(a|0)?(i=f[c+(j<<2)>>2]|0,k=i,(i|0)!=0):0){if((b[i>>0]|0)!=45){if((b[d>>0]|0)!=45){l=-1;break}f[846]=j+1;f[6574]=k;l=1;break}k=i+1|0;switch(b[k>>0]|0){case 0:{l=-1;break a;break}case 45:{if(!(b[i+2>>0]|0)){f[846]=j+1;l=-1;break a}break}default:{}}m=f[6573]|0;if(!m){f[6573]=1;n=k}else n=i+m|0;m=jd(g,n,4)|0;if((m|0)<0){f[g>>2]=65533;o=1}else o=m;m=f[846]|0;i=f[c+(m<<2)>>2]|0;k=f[6573]|0;p=i+k|0;q=k+o|0;f[6573]=q;if(!(b[i+q>>0]|0)){f[846]=m+1;f[6573]=0}switch(b[d>>0]|0){case 43:case 45:{r=d+1|0;break}default:r=d}f[h>>2]=0;m=0;while(1){q=jd(h,r+m|0,4)|0;m=((q|0)>1?q:1)+m|0;i=f[h>>2]|0;s=f[g>>2]|0;t=(i|0)==(s|0);if(!q){v=24;break}if(t){w=i;break}}if((v|0)==24)if(t)w=s;else{if(!((b[r>>0]|0)!=58&1!=0)){l=63;break}vd(f[c>>2]|0,25706,p,o);l=63;break}if((b[r+m>>0]|0)==58){i=r+(m+1)|0;do if((b[i>>0]|0)==58){f[6574]=0;q=f[6573]|0;if((b[i>>0]|0)!=58|(q|0)!=0)x=q;else{l=w;break a}}else{if((f[846]|0)<(a|0)){x=f[6573]|0;break}if((b[r>>0]|0)==58){l=58;break a}if(!1){l=63;break a}vd(f[c>>2]|0,25730,p,o);l=63;break a}while(0);p=f[846]|0;f[846]=p+1;f[6574]=(f[c+(p<<2)>>2]|0)+x;f[6573]=0;l=w}else l=w}else l=-1;while(0);u=e;return l|0}function Hd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+48|0;e=d+32|0;g=d+16|0;h=d;if(sd(25762,b[c>>0]|0)|0){i=Id(c)|0;f[h>>2]=a;f[h+4>>2]=i|32768;f[h+8>>2]=438;a=oc(na(5,h|0)|0)|0;if((a|0)>=0){if(i&524288|0){f[g>>2]=a;f[g+4>>2]=2;f[g+8>>2]=1;ma(221,g|0)|0}g=Jd(a,c)|0;if(!g){f[e>>2]=a;pa(6,e|0)|0;j=0}else j=g}else j=0}else{g=pc()|0;f[g>>2]=22;j=0}u=d;return j|0}function Id(a){a=a|0;var c=0,d=0,e=0,f=0;c=(sd(a,43)|0)==0;d=b[a>>0]|0;e=c?d<<24>>24!=114&1:2;c=(sd(a,120)|0)==0;f=c?e:e|128;e=(sd(a,101)|0)==0;a=e?f:f|524288;f=d<<24>>24==114?a:a|64;a=d<<24>>24==119?f|512:f;return (d<<24>>24==97?a|1024:a)|0}function Jd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=u;u=u+64|0;e=d+40|0;g=d+24|0;h=d+16|0;i=d;j=d+56|0;if(sd(25762,b[c>>0]|0)|0){k=gc(1156)|0;if(!k)l=0;else{ve(k|0,0,124)|0;if(!(sd(c,43)|0))f[k>>2]=(b[c>>0]|0)==114?8:4;if(sd(c,101)|0){f[i>>2]=a;f[i+4>>2]=2;f[i+8>>2]=1;ma(221,i|0)|0}if((b[c>>0]|0)==97){f[h>>2]=a;f[h+4>>2]=3;c=ma(221,h|0)|0;if(!(c&1024)){f[g>>2]=a;f[g+4>>2]=4;f[g+8>>2]=c|1024;ma(221,g|0)|0}g=f[k>>2]|128;f[k>>2]=g;m=g}else m=f[k>>2]|0;f[k+60>>2]=a;f[k+44>>2]=k+132;f[k+48>>2]=1024;g=k+75|0;b[g>>0]=-1;if((m&8|0)==0?(f[e>>2]=a,f[e+4>>2]=21523,f[e+8>>2]=j,(oa(54,e|0)|0)==0):0)b[g>>0]=10;f[k+32>>2]=6;f[k+36>>2]=1;f[k+40>>2]=2;f[k+12>>2]=1;if(!(f[6576]|0))f[k+76>>2]=-1;Kd(k)|0;l=k}}else{k=pc()|0;f[k>>2]=22;l=0}u=d;return l|0}function Kd(a){a=a|0;var b=0,c=0;b=Ld()|0;f[a+56>>2]=f[b>>2];c=f[b>>2]|0;if(c|0)f[c+52>>2]=a;f[b>>2]=a;Md();return a|0}function Ld(){ha(26372);return 26380}function Md(){qa(26372);return}function Nd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;if((f[a+76>>2]|0)>-1)b=Ac(a)|0;else b=0;Bd(a);c=(f[a>>2]&1|0)!=0;if(!c){d=Ld()|0;e=f[a+52>>2]|0;g=a+56|0;if(e|0)f[e+56>>2]=f[g>>2];h=f[g>>2]|0;if(h|0)f[h+52>>2]=e;if((f[d>>2]|0)==(a|0))f[d>>2]=h;Md()}h=Od(a)|0;d=ya[f[a+12>>2]&1](a)|0|h;h=f[a+92>>2]|0;if(h|0)hc(h);if(c){if(b|0)Bc(a)}else hc(a);return d|0}function Od(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;do if(a){if((f[a+76>>2]|0)<=-1){b=Pd(a)|0;break}c=(Ac(a)|0)==0;d=Pd(a)|0;if(c)b=d;else{Bc(a);b=d}}else{if(!(f[911]|0))e=0;else e=Od(f[911]|0)|0;d=Ld()|0;c=f[d>>2]|0;if(!c)g=e;else{d=c;c=e;while(1){if((f[d+76>>2]|0)>-1)h=Ac(d)|0;else h=0;if((f[d+20>>2]|0)>>>0>(f[d+28>>2]|0)>>>0)i=Pd(d)|0|c;else i=c;if(h|0)Bc(d);d=f[d+56>>2]|0;if(!d){g=i;break}else c=i}}Md();b=g}while(0);return b|0}function Pd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=a+20|0;c=a+28|0;if((f[b>>2]|0)>>>0>(f[c>>2]|0)>>>0?(za[f[a+36>>2]&7](a,0,0)|0,(f[b>>2]|0)==0):0)d=-1;else{e=a+4|0;g=f[e>>2]|0;h=a+8|0;i=f[h>>2]|0;if(g>>>0<i>>>0)za[f[a+40>>2]&7](a,g-i|0,1)|0;f[a+16>>2]=0;f[c>>2]=0;f[b>>2]=0;f[h>>2]=0;f[e>>2]=0;d=0}return d|0}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;c=Rd(a,b,e)|0;u=d;return c|0}function Rd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0.0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0;e=u;u=u+288|0;g=e+8|0;i=e+17|0;j=e;k=e+16|0;if((f[a+76>>2]|0)>-1)l=Ac(a)|0;else l=0;m=b[c>>0]|0;a:do if(m<<24>>24){o=a+4|0;q=a+100|0;r=a+108|0;s=a+8|0;t=i+10|0;v=i+33|0;w=i+46|0;x=i+94|0;y=g+4|0;z=c;A=0;B=0;C=0;D=m;E=0;b:while(1){c:do if(!(ed(D&255)|0)){F=(b[z>>0]|0)==37;d:do if(F){G=z+1|0;I=b[G>>0]|0;e:do switch(I<<24>>24){case 37:{break d;break}case 42:{J=0;K=z+2|0;break}default:{if(uc(I&255)|0?(b[z+2>>0]|0)==36:0){J=Sd(d,(h[G>>0]|0)+-48|0)|0;K=z+3|0;break e}L=(f[d>>2]|0)+(4-1)&~(4-1);M=f[L>>2]|0;f[d>>2]=L+4;J=M;K=G}}while(0);if(!(uc(h[K>>0]|0)|0)){N=0;O=K}else{G=0;I=K;while(1){M=(G*10|0)+-48+(h[I>>0]|0)|0;L=I+1|0;if(!(uc(h[L>>0]|0)|0)){N=M;O=L;break}else{G=M;I=L}}}I=b[O>>0]|0;G=O+1|0;if(I<<24>>24==109){P=(J|0)!=0&1;Q=0;R=G;S=O+2|0;T=b[G>>0]|0;U=0}else{P=0;Q=C;R=O;S=G;T=I;U=E}switch(T<<24>>24){case 104:{I=(b[S>>0]|0)==104;V=I?-2:-1;W=I?R+2|0:S;break}case 108:{I=(b[S>>0]|0)==108;V=I?3:1;W=I?R+2|0:S;break}case 106:{V=3;W=S;break}case 116:case 122:{V=1;W=S;break}case 76:{V=2;W=S;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:{V=0;W=R;break}default:{X=Q;Y=U;Z=143;break b}}I=h[W>>0]|0;G=(I&47|0)==3;L=G?I|32:I;I=G?1:V;G=L&255;switch(G<<24>>24){case 99:{_=(N|0)>1?N:1;$=A;break}case 91:{_=N;$=A;break}case 110:{Td(J,I,A,((A|0)<0)<<31>>31);aa=W;ba=B;ca=A;da=Q;ea=U;break c;break}default:{bd(a,0);do{M=f[o>>2]|0;if(M>>>0<(f[q>>2]|0)>>>0){f[o>>2]=M+1;fa=h[M>>0]|0}else fa=dd(a)|0}while((ed(fa)|0)!=0);if(!(f[q>>2]|0))ga=f[o>>2]|0;else{M=(f[o>>2]|0)+-1|0;f[o>>2]=M;ga=M}_=N;$=(f[r>>2]|0)+A+ga-(f[s>>2]|0)|0}}bd(a,_);M=f[o>>2]|0;ha=f[q>>2]|0;if(M>>>0<ha>>>0){f[o>>2]=M+1;ia=ha}else{if((dd(a)|0)<0){X=Q;Y=U;Z=143;break b}ia=f[q>>2]|0}if(ia|0)f[o>>2]=(f[o>>2]|0)+-1;f:do switch(G<<24>>24){case 91:case 99:case 115:{ha=(L|0)==99;g:do if((L|16|0)==115){ve(i|0,-1,257)|0;b[i>>0]=0;if((L|0)==115){b[v>>0]=0;b[t>>0]=0;b[t+1>>0]=0;b[t+2>>0]=0;b[t+3>>0]=0;b[t+4>>0]=0;ja=W}else ja=W}else{M=W+1|0;ka=(b[M>>0]|0)==94;la=ka&1;ma=ka?W+2|0:M;ve(i|0,la|0,257)|0;b[i>>0]=0;switch(b[ma>>0]|0){case 45:{M=(la^1)&255;b[w>>0]=M;na=ma+1|0;oa=M;break}case 93:{M=(la^1)&255;b[x>>0]=M;na=ma+1|0;oa=M;break}default:{na=ma;oa=(la^1)&255}}la=na;while(1){ma=b[la>>0]|0;h:do switch(ma<<24>>24){case 0:{X=Q;Y=U;Z=143;break b;break}case 93:{ja=la;break g;break}case 45:{M=la+1|0;ka=b[M>>0]|0;switch(ka<<24>>24){case 93:case 0:{pa=la;qa=45;break h;break}default:{}}ra=b[la+-1>>0]|0;if((ra&255)<(ka&255)){sa=ra&255;do{sa=sa+1|0;b[i+sa>>0]=oa;ra=b[M>>0]|0}while(sa>>>0<(ra&255)>>>0);pa=M;qa=ra}else{pa=M;qa=ka}break}default:{pa=la;qa=ma}}while(0);b[i+((qa&255)+1)>>0]=oa;la=pa+1|0}}while(0);la=ha?_+1|0:31;ma=(I|0)==1;sa=(P|0)!=0;i:do if(ma){if(sa){ra=gc(la<<2)|0;if(!ra){X=0;Y=0;Z=143;break b}else ta=ra}else ta=J;f[g>>2]=0;f[y>>2]=0;ra=la;ua=0;va=ta;j:while(1){wa=(va|0)==0;xa=ua;while(1){k:while(1){ya=f[o>>2]|0;if(ya>>>0<(f[q>>2]|0)>>>0){f[o>>2]=ya+1;za=h[ya>>0]|0}else za=dd(a)|0;if(!(b[i+(za+1)>>0]|0))break j;b[k>>0]=za;switch(hd(j,k,1,g)|0){case -1:{X=0;Y=va;Z=143;break b;break}case -2:break;default:break k}}if(wa)Aa=xa;else{f[va+(xa<<2)>>2]=f[j>>2];Aa=xa+1|0}if(sa&(Aa|0)==(ra|0))break;else xa=Aa}ra=ra<<1|1;wa=ic(va,ra<<2)|0;if(!wa){X=0;Y=va;Z=143;break b}else{ua=Aa;va=wa}}if(!(md(g)|0)){X=0;Y=va;Z=143;break b}else{Ba=xa;Ca=0;Da=va;Ea=va}}else{if(sa){ua=gc(la)|0;if(!ua){X=0;Y=0;Z=143;break b}ra=la;wa=0;ka=ua;while(1){ua=wa;do{M=f[o>>2]|0;if(M>>>0<(f[q>>2]|0)>>>0){f[o>>2]=M+1;Fa=h[M>>0]|0}else Fa=dd(a)|0;if(!(b[i+(Fa+1)>>0]|0)){Ba=ua;Ca=ka;Da=0;Ea=0;break i}M=ua;ua=ua+1|0;b[ka+M>>0]=Fa}while((ua|0)!=(ra|0));ra=ra<<1|1;M=ic(ka,ra)|0;if(!M){X=ka;Y=0;Z=143;break b}else{wa=ua;ka=M}}}if(!J)while(1){ka=f[o>>2]|0;if(ka>>>0<(f[q>>2]|0)>>>0){f[o>>2]=ka+1;Ga=h[ka>>0]|0}else Ga=dd(a)|0;if(!(b[i+(Ga+1)>>0]|0)){Ba=0;Ca=0;Da=0;Ea=0;break i}}ka=0;while(1){wa=f[o>>2]|0;if(wa>>>0<(f[q>>2]|0)>>>0){f[o>>2]=wa+1;Ha=h[wa>>0]|0}else Ha=dd(a)|0;if(!(b[i+(Ha+1)>>0]|0)){Ba=ka;Ca=J;Da=0;Ea=0;break i}b[J+ka>>0]=Ha;ka=ka+1|0}}while(0);if(!(f[q>>2]|0))Ia=f[o>>2]|0;else{la=(f[o>>2]|0)+-1|0;f[o>>2]=la;Ia=la}la=Ia-(f[s>>2]|0)+(f[r>>2]|0)|0;if(!la){Ja=Ca;Ka=P;La=B;Ma=Ea;break b}if(!((la|0)==(_|0)|ha^1)){Ja=Ca;Ka=P;La=B;Ma=Ea;break b}do if(sa)if(ma){f[J>>2]=Da;break}else{f[J>>2]=Ca;break}while(0);if(ha){Na=ja;Oa=Ca;Pa=Ea}else{if(Da|0)f[Da+(Ba<<2)>>2]=0;if(!Ca){Na=ja;Oa=0;Pa=Ea;break f}b[Ca+Ba>>0]=0;Na=ja;Oa=Ca;Pa=Ea}break}case 120:case 88:case 112:{Qa=16;Z=131;break}case 111:{Qa=8;Z=131;break}case 117:case 100:{Qa=10;Z=131;break}case 105:{Qa=0;Z=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{Ra=+Ud(a,I,0);if((f[r>>2]|0)==((f[s>>2]|0)-(f[o>>2]|0)|0)){Ja=Q;Ka=P;La=B;Ma=U;break b}if(!J){Na=W;Oa=Q;Pa=U}else switch(I|0){case 0:{n[J>>2]=Ra;Na=W;Oa=Q;Pa=U;break f;break}case 1:{p[J>>3]=Ra;Na=W;Oa=Q;Pa=U;break f;break}case 2:{p[J>>3]=Ra;Na=W;Oa=Q;Pa=U;break f;break}default:{Na=W;Oa=Q;Pa=U;break f}}break}default:{Na=W;Oa=Q;Pa=U}}while(0);do if((Z|0)==131){Z=0;G=cd(a,Qa,0,-1,-1)|0;if((f[r>>2]|0)==((f[s>>2]|0)-(f[o>>2]|0)|0)){Ja=Q;Ka=P;La=B;Ma=U;break b}if((J|0)!=0&(L|0)==112){f[J>>2]=G;Na=W;Oa=Q;Pa=U;break}else{Td(J,I,G,H);Na=W;Oa=Q;Pa=U;break}}while(0);aa=Na;ba=B+((J|0)!=0&1)|0;ca=(f[r>>2]|0)+$+(f[o>>2]|0)-(f[s>>2]|0)|0;da=Oa;ea=Pa;break c}while(0);I=z+(F&1)|0;bd(a,0);L=f[o>>2]|0;if(L>>>0<(f[q>>2]|0)>>>0){f[o>>2]=L+1;Sa=h[L>>0]|0}else Sa=dd(a)|0;if((Sa|0)!=(h[I>>0]|0)){Z=23;break b}aa=I;ba=B;ca=A+1|0;da=C;ea=E}else{I=z;while(1){L=I+1|0;if(!(ed(h[L>>0]|0)|0))break;else I=L}bd(a,0);do{F=f[o>>2]|0;if(F>>>0<(f[q>>2]|0)>>>0){f[o>>2]=F+1;Ta=h[F>>0]|0}else Ta=dd(a)|0}while((ed(Ta)|0)!=0);if(!(f[q>>2]|0))Ua=f[o>>2]|0;else{F=(f[o>>2]|0)+-1|0;f[o>>2]=F;Ua=F}aa=I;ba=B;ca=(f[r>>2]|0)+A+Ua-(f[s>>2]|0)|0;da=C;ea=E}while(0);z=aa+1|0;D=b[z>>0]|0;if(!(D<<24>>24)){Va=ba;break a}else{A=ca;B=ba;C=da;E=ea}}if((Z|0)==23){if(f[q>>2]|0)f[o>>2]=(f[o>>2]|0)+-1;if((B|0)!=0|(Sa|0)>-1){Va=B;break}else{Wa=0;Xa=C;Ya=E;Z=144}}else if((Z|0)==143)if(!B){Wa=P;Xa=X;Ya=Y;Z=144}else{Ja=X;Ka=P;La=B;Ma=Y}if((Z|0)==144){Ja=Xa;Ka=Wa;La=-1;Ma=Ya}if(!Ka)Va=La;else{hc(Ja);hc(Ma);Va=La}}else Va=0;while(0);if(l|0)Bc(a);u=e;return Va|0}function Sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;f[d>>2]=f[a>>2];a=b;while(1){b=(f[d>>2]|0)+(4-1)&~(4-1);e=f[b>>2]|0;f[d>>2]=b+4;if(a>>>0>1)a=a+-1|0;else break}u=c;return e|0}function Td(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0;a:do if(a|0)switch(c|0){case -2:{b[a>>0]=e;break a;break}case -1:{d[a>>1]=e;break a;break}case 0:{f[a>>2]=e;break a;break}case 1:{f[a>>2]=e;break a;break}case 3:{h=a;f[h>>2]=e;f[h+4>>2]=g;break a;break}default:break a}while(0);return}function Ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0;switch(c|0){case 0:{e=-149;g=24;i=4;break}case 1:{e=-1074;g=53;i=4;break}case 2:{e=-1074;g=53;i=4;break}default:j=0.0}a:do if((i|0)==4){c=a+4|0;k=a+100|0;do{l=f[c>>2]|0;if(l>>>0<(f[k>>2]|0)>>>0){f[c>>2]=l+1;m=h[l>>0]|0}else m=dd(a)|0}while((ed(m)|0)!=0);b:do switch(m|0){case 43:case 45:{l=1-(((m|0)==45&1)<<1)|0;n=f[c>>2]|0;if(n>>>0<(f[k>>2]|0)>>>0){f[c>>2]=n+1;o=h[n>>0]|0;p=l;break b}else{o=dd(a)|0;p=l;break b}break}default:{o=m;p=1}}while(0);l=0;n=o;while(1){if((n|32|0)!=(b[25766+l>>0]|0)){q=n;r=l;break}do if(l>>>0<7){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;t=h[s>>0]|0;break}else{t=dd(a)|0;break}}else t=n;while(0);l=l+1|0;if(l>>>0>=8){q=t;r=8;break}else n=t}c:do switch(r&2147483647|0){case 8:break;case 3:{i=23;break}default:{n=(d|0)!=0;if(n&r>>>0>3)if((r|0)==8)break c;else{i=23;break c}d:do if(!r){l=0;s=q;while(1){if((s|32|0)!=(b[25775+l>>0]|0)){u=l;v=s;break d}do if(l>>>0<2){w=f[c>>2]|0;if(w>>>0<(f[k>>2]|0)>>>0){f[c>>2]=w+1;x=h[w>>0]|0;break}else{x=dd(a)|0;break}}else x=s;while(0);l=l+1|0;if(l>>>0>=3){u=3;v=x;break}else s=x}}else{u=r;v=q}while(0);switch(u|0){case 3:{s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;y=h[s>>0]|0}else y=dd(a)|0;if((y|0)!=40){if(!(f[k>>2]|0)){j=A;break a}f[c>>2]=(f[c>>2]|0)+-1;j=A;break a}s=1;while(1){l=f[c>>2]|0;if(l>>>0<(f[k>>2]|0)>>>0){f[c>>2]=l+1;z=h[l>>0]|0}else z=dd(a)|0;if(!((z+-48|0)>>>0<10|(z+-65|0)>>>0<26)?!((z|0)==95|(z+-97|0)>>>0<26):0)break;s=s+1|0}if((z|0)==41){j=A;break a}l=(f[k>>2]|0)==0;if(!l)f[c>>2]=(f[c>>2]|0)+-1;if(!n){w=pc()|0;f[w>>2]=22;bd(a,0);j=0.0;break a}if(!s){j=A;break a}w=s;while(1){w=w+-1|0;if(!l)f[c>>2]=(f[c>>2]|0)+-1;if(!w){j=A;break a}}break}case 0:{if((v|0)==48){w=f[c>>2]|0;if(w>>>0<(f[k>>2]|0)>>>0){f[c>>2]=w+1;C=h[w>>0]|0}else C=dd(a)|0;if((C|32|0)==120){j=+Vd(a,g,e,p,d);break a}if(!(f[k>>2]|0))D=48;else{f[c>>2]=(f[c>>2]|0)+-1;D=48}}else D=v;j=+Wd(a,D,g,e,p,d);break a;break}default:{if(f[k>>2]|0)f[c>>2]=(f[c>>2]|0)+-1;w=pc()|0;f[w>>2]=22;bd(a,0);j=0.0;break a}}}}while(0);if((i|0)==23){w=(f[k>>2]|0)==0;if(!w)f[c>>2]=(f[c>>2]|0)+-1;if((d|0)!=0&r>>>0>3){l=r;do{if(!w)f[c>>2]=(f[c>>2]|0)+-1;l=l+-1|0}while(l>>>0>3)}}j=+(p|0)*B}while(0);return +j}function Vd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,I=0,J=0,K=0.0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0.0,aa=0,ba=0.0;g=a+4|0;i=f[g>>2]|0;j=a+100|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0}else k=dd(a)|0;i=k;k=0;a:while(1){switch(i|0){case 46:{l=10;break a;break}case 48:break;default:{m=0;n=i;o=k;p=0;q=0;break a}}r=f[g>>2]|0;if(r>>>0<(f[j>>2]|0)>>>0){f[g>>2]=r+1;s=h[r>>0]|0}else s=dd(a)|0;i=s;k=1}if((l|0)==10){s=f[g>>2]|0;if(s>>>0<(f[j>>2]|0)>>>0){f[g>>2]=s+1;t=h[s>>0]|0}else t=dd(a)|0;if((t|0)==48){s=0;i=0;while(1){r=f[g>>2]|0;if(r>>>0<(f[j>>2]|0)>>>0){f[g>>2]=r+1;u=h[r>>0]|0}else u=dd(a)|0;r=me(s|0,i|0,-1,-1)|0;v=H;if((u|0)==48){s=r;i=v}else{m=1;n=u;o=1;p=r;q=v;break}}}else{m=1;n=t;o=k;p=0;q=0}}k=0;w=1.0;x=0.0;t=0;u=m;m=n;n=o;o=0;i=0;s=p;p=q;while(1){q=m+-48|0;v=m|32;if(q>>>0>=10){r=(m|0)==46;if(!(r|(v+-97|0)>>>0<6)){y=m;break}if(r)if(!u){z=1;A=k;B=w;C=x;D=t;E=n;F=i;G=o;I=i;J=o}else{y=46;break}else l=24}else l=24;if((l|0)==24){l=0;r=(m|0)>57?v+-87|0:q;do if(!((o|0)<0|(o|0)==0&i>>>0<8))if((o|0)<0|(o|0)==0&i>>>0<14){K=w*.0625;L=k;M=K;N=x+K*+(r|0);O=t;break}else{q=(k|0)!=0|(r|0)==0;L=q?k:1;M=w;N=q?x:x+w*.5;O=t;break}else{L=k;M=w;N=x;O=r+(t<<4)|0}while(0);r=me(i|0,o|0,1,0)|0;z=u;A=L;B=M;C=N;D=O;E=1;F=s;G=p;I=r;J=H}r=f[g>>2]|0;if(r>>>0<(f[j>>2]|0)>>>0){f[g>>2]=r+1;P=h[r>>0]|0}else P=dd(a)|0;k=A;w=B;x=C;t=D;u=z;m=P;n=E;o=J;i=I;s=F;p=G}do if(!n){G=(f[j>>2]|0)==0;if(!G)f[g>>2]=(f[g>>2]|0)+-1;if(e){if(!G?(f[g>>2]=(f[g>>2]|0)+-1,!((u|0)==0|G)):0)f[g>>2]=(f[g>>2]|0)+-1}else bd(a,0);Q=+(d|0)*0.0}else{G=(u|0)==0;F=G?i:s;I=G?o:p;if((o|0)<0|(o|0)==0&i>>>0<8){G=t;J=i;E=o;while(1){P=G<<4;m=J;J=me(J|0,E|0,1,0)|0;if(!((E|0)<0|(E|0)==0&m>>>0<7)){R=P;break}else{G=P;E=H}}}else R=t;if((y|32|0)==112){E=Xd(a,e)|0;G=H;if((E|0)==0&(G|0)==-2147483648){if(!e){bd(a,0);Q=0.0;break}if(!(f[j>>2]|0)){S=0;T=0}else{f[g>>2]=(f[g>>2]|0)+-1;S=0;T=0}}else{S=E;T=G}}else if(!(f[j>>2]|0)){S=0;T=0}else{f[g>>2]=(f[g>>2]|0)+-1;S=0;T=0}G=se(F|0,I|0,2)|0;E=me(G|0,H|0,-32,-1)|0;G=me(E|0,H|0,S|0,T|0)|0;E=H;if(!R){Q=+(d|0)*0.0;break}J=0-c|0;P=((J|0)<0)<<31>>31;if((E|0)>(P|0)|(E|0)==(P|0)&G>>>0>J>>>0){J=pc()|0;f[J>>2]=34;Q=+(d|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}J=c+-106|0;P=((J|0)<0)<<31>>31;if((E|0)<(P|0)|(E|0)==(P|0)&G>>>0<J>>>0){J=pc()|0;f[J>>2]=34;Q=+(d|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((R|0)>-1){C=x;J=R;P=G;m=E;while(1){z=!(C>=.5);D=J<<1|(z^1)&1;B=C+(z?C:C+-1.0);z=me(P|0,m|0,-1,-1)|0;A=H;if((D|0)>-1){C=B;J=D;P=z;m=A}else{U=B;V=D;W=z;X=A;break}}}else{U=x;V=R;W=G;X=E}m=((b|0)<0)<<31>>31;P=ne(32,0,c|0,((c|0)<0)<<31>>31|0)|0;J=me(P|0,H|0,W|0,X|0)|0;P=H;if((P|0)<(m|0)|(P|0)==(m|0)&J>>>0<b>>>0)if((J|0)>0){Y=J;l=65}else{Z=0;_=84;l=67}else{Y=b;l=65}if((l|0)==65)if((Y|0)<53){Z=Y;_=84-Y|0;l=67}else{$=0.0;aa=Y;ba=+(d|0)}if((l|0)==67){C=+(d|0);$=+Zd(+Yd(1.0,_),C);aa=Z;ba=C}J=(V&1|0)==0&(U!=0.0&(aa|0)<32);C=(J?0.0:U)*ba+($+ba*+((V+(J&1)|0)>>>0))-$;if(!(C!=0.0)){J=pc()|0;f[J>>2]=34}Q=+$d(C,W)}while(0);return +Q}function Wd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0.0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0.0,fb=0,gb=0.0,hb=0.0,ib=0.0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0;i=u;u=u+512|0;j=i;k=d+c|0;l=0-k|0;m=a+4|0;n=a+100|0;o=b;b=0;a:while(1){switch(o|0){case 46:{p=7;break a;break}case 48:break;default:{q=0;r=o;s=b;t=0;v=0;break a}}w=f[m>>2]|0;if(w>>>0<(f[n>>2]|0)>>>0){f[m>>2]=w+1;x=h[w>>0]|0}else x=dd(a)|0;o=x;b=1}if((p|0)==7){x=f[m>>2]|0;if(x>>>0<(f[n>>2]|0)>>>0){f[m>>2]=x+1;y=h[x>>0]|0}else y=dd(a)|0;if((y|0)==48){x=0;o=0;while(1){w=me(x|0,o|0,-1,-1)|0;z=H;A=f[m>>2]|0;if(A>>>0<(f[n>>2]|0)>>>0){f[m>>2]=A+1;B=h[A>>0]|0}else B=dd(a)|0;if((B|0)==48){x=w;o=z}else{q=1;r=B;s=1;t=w;v=z;break}}}else{q=1;r=y;s=b;t=0;v=0}}f[j>>2]=0;b=r+-48|0;y=(r|0)==46;b:do if(y|b>>>0<10){B=j+496|0;o=0;x=0;z=0;w=q;A=s;C=r;D=y;E=b;F=t;G=v;I=0;K=0;c:while(1){do if(D)if(!w){L=o;M=x;N=1;O=z;P=A;Q=I;R=K;S=I;T=K}else break c;else{U=me(I|0,K|0,1,0)|0;V=H;X=(C|0)!=48;if((x|0)>=125){if(!X){L=o;M=x;N=w;O=z;P=A;Q=F;R=G;S=U;T=V;break}f[B>>2]=f[B>>2]|1;L=o;M=x;N=w;O=z;P=A;Q=F;R=G;S=U;T=V;break}Y=j+(x<<2)|0;if(!o)Z=E;else Z=C+-48+((f[Y>>2]|0)*10|0)|0;f[Y>>2]=Z;Y=o+1|0;_=(Y|0)==9;L=_?0:Y;M=x+(_&1)|0;N=w;O=X?U:z;P=1;Q=F;R=G;S=U;T=V}while(0);V=f[m>>2]|0;if(V>>>0<(f[n>>2]|0)>>>0){f[m>>2]=V+1;$=h[V>>0]|0}else $=dd(a)|0;E=$+-48|0;D=($|0)==46;if(!(D|E>>>0<10)){aa=L;ba=M;ca=O;da=N;ea=$;fa=P;ga=Q;ha=S;ia=R;ja=T;p=31;break b}else{o=L;x=M;z=O;w=N;A=P;C=$;F=Q;G=R;I=S;K=T}}ka=o;la=x;ma=z;na=I;oa=K;pa=F;qa=G;ra=(A|0)!=0;p=39}else{aa=0;ba=0;ca=0;da=q;ea=r;fa=s;ga=t;ha=0;ia=v;ja=0;p=31}while(0);do if((p|0)==31){v=(da|0)==0;t=v?ha:ga;s=v?ja:ia;v=(fa|0)!=0;if(!(v&(ea|32|0)==101))if((ea|0)>-1){ka=aa;la=ba;ma=ca;na=ha;oa=ja;pa=t;qa=s;ra=v;p=39;break}else{sa=aa;ta=ba;ua=ca;va=ha;wa=ja;xa=v;ya=t;za=s;p=41;break}v=Xd(a,g)|0;r=H;if((v|0)==0&(r|0)==-2147483648){if(!g){bd(a,0);Aa=0.0;break}if(!(f[n>>2]|0)){Ba=0;Ca=0}else{f[m>>2]=(f[m>>2]|0)+-1;Ba=0;Ca=0}}else{Ba=v;Ca=r}r=me(Ba|0,Ca|0,t|0,s|0)|0;Da=aa;Ea=ba;Fa=ca;Ga=r;Ha=ha;Ia=H;Ja=ja;p=43}while(0);if((p|0)==39)if(f[n>>2]|0){f[m>>2]=(f[m>>2]|0)+-1;if(ra){Da=ka;Ea=la;Fa=ma;Ga=pa;Ha=na;Ia=qa;Ja=oa;p=43}else p=42}else{sa=ka;ta=la;ua=ma;va=na;wa=oa;xa=ra;ya=pa;za=qa;p=41}if((p|0)==41)if(xa){Da=sa;Ea=ta;Fa=ua;Ga=ya;Ha=va;Ia=za;Ja=wa;p=43}else p=42;do if((p|0)==42){wa=pc()|0;f[wa>>2]=22;bd(a,0);Aa=0.0}else if((p|0)==43){wa=f[j>>2]|0;if(!wa){Aa=+(e|0)*0.0;break}if(((Ja|0)<0|(Ja|0)==0&Ha>>>0<10)&((Ga|0)==(Ha|0)&(Ia|0)==(Ja|0))?(c|0)>30|(wa>>>c|0)==0:0){Aa=+(e|0)*+(wa>>>0);break}wa=(d|0)/-2|0;za=((wa|0)<0)<<31>>31;if((Ia|0)>(za|0)|(Ia|0)==(za|0)&Ga>>>0>wa>>>0){wa=pc()|0;f[wa>>2]=34;Aa=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}wa=d+-106|0;za=((wa|0)<0)<<31>>31;if((Ia|0)<(za|0)|(Ia|0)==(za|0)&Ga>>>0<wa>>>0){wa=pc()|0;f[wa>>2]=34;Aa=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Da)Ka=Ea;else{if((Da|0)<9){wa=j+(Ea<<2)|0;za=Da;va=f[wa>>2]|0;while(1){va=va*10|0;if((za|0)>=8)break;else za=za+1|0}f[wa>>2]=va}Ka=Ea+1|0}if((Fa|0)<9?(Fa|0)<=(Ga|0)&(Ga|0)<18:0){if((Ga|0)==9){Aa=+(e|0)*+((f[j>>2]|0)>>>0);break}if((Ga|0)<9){Aa=+(e|0)*+((f[j>>2]|0)>>>0)/+(f[4016+(8-Ga<<2)>>2]|0);break}za=c+27+(W(Ga,-3)|0)|0;A=f[j>>2]|0;if((za|0)>30|(A>>>za|0)==0){Aa=+(e|0)*+(A>>>0)*+(f[4016+(Ga+-10<<2)>>2]|0);break}}A=(Ga|0)%9|0;if(!A){La=Ka;Ma=0;Na=Ga}else{za=(Ga|0)>-1?A:A+9|0;A=f[4016+(8-za<<2)>>2]|0;if(Ka){G=1e9/(A|0)|0;F=0;K=0;I=Ga;z=0;do{x=j+(z<<2)|0;o=f[x>>2]|0;ya=(o>>>0)/(A>>>0)|0;ua=o-(W(ya,A)|0)|0;o=ya+F|0;f[x>>2]=o;F=W(G,ua)|0;ua=(z|0)==(K|0)&(o|0)==0;I=ua?I+-9|0:I;K=ua?K+1&127:K;z=z+1|0}while((z|0)!=(Ka|0));if(!F){Oa=K;Pa=Ka;Qa=I}else{f[j+(Ka<<2)>>2]=F;Oa=K;Pa=Ka+1|0;Qa=I}}else{Oa=0;Pa=0;Qa=Ga}La=Pa;Ma=Oa;Na=9-za+Qa|0}z=0;G=La;A=Ma;va=Na;d:while(1){wa=(va|0)<18;ua=(va|0)==18;o=j+(A<<2)|0;Ra=z;Sa=G;while(1){if(!wa){if(!ua){Ta=va;break d}if((f[o>>2]|0)>>>0>=9007199){Ta=18;break d}}x=0;Ua=Sa;ya=Sa+127|0;while(1){ta=ya&127;sa=j+(ta<<2)|0;xa=se(f[sa>>2]|0,0,29)|0;qa=me(xa|0,H|0,x|0,0)|0;xa=H;if(xa>>>0>0|(xa|0)==0&qa>>>0>1e9){pa=qe(qa|0,xa|0,1e9,0)|0;ra=le(pa|0,H|0,1e9,0)|0;oa=ne(qa|0,xa|0,ra|0,H|0)|0;Va=pa;Wa=oa}else{Va=0;Wa=qa}f[sa>>2]=Wa;sa=(ta|0)==(A|0);Xa=(ta|0)!=(Ua+127&127|0)|sa?Ua:(Wa|0)==0?ta:Ua;if(sa)break;else{x=Va;Ua=Xa;ya=ta+-1|0}}Ya=Ra+-29|0;if(!Va){Ra=Ya;Sa=Ua}else break}o=A+127&127;ua=Xa+127&127;wa=j+((Xa+126&127)<<2)|0;if((o|0)==(Xa|0)){f[wa>>2]=f[wa>>2]|f[j+(ua<<2)>>2];Za=ua}else Za=Ua;f[j+(o<<2)>>2]=Va;z=Ya;G=Za;A=o;va=va+9|0}va=Ra;G=A;z=Ta;za=Sa;e:while(1){I=za+1&127;K=j+((za+127&127)<<2)|0;F=va;o=G;ua=z;while(1){wa=(ua|0)==18;ya=(ua|0)>27?9:1;_a=F;$a=o;while(1){x=0;while(1){ta=x+$a&127;if((ta|0)==(za|0)){p=92;break}sa=f[j+(ta<<2)>>2]|0;ta=f[4048+(x<<2)>>2]|0;if(sa>>>0<ta>>>0){p=92;break}if(sa>>>0>ta>>>0)break;if((x+1|0)>>>0<2)x=1;else{p=92;break}}if((p|0)==92?(p=0,wa):0)break e;ab=ya+_a|0;if(($a|0)==(za|0)){_a=ab;$a=za}else break}wa=(1<<ya)+-1|0;x=1e9>>>ya;bb=0;cb=$a;db=ua;ta=$a;do{sa=j+(ta<<2)|0;qa=f[sa>>2]|0;oa=(qa>>>ya)+bb|0;f[sa>>2]=oa;bb=W(qa&wa,x)|0;qa=(ta|0)==(cb|0)&(oa|0)==0;db=qa?db+-9|0:db;cb=qa?cb+1&127:cb;ta=ta+1&127}while((ta|0)!=(za|0));if(bb|0){if((I|0)!=(cb|0))break;f[K>>2]=f[K>>2]|1}F=ab;o=cb;ua=db}f[j+(za<<2)>>2]=bb;va=ab;G=cb;z=db;za=I}eb=0.0;z=za;G=0;while(1){va=G+$a&127;A=z+1&127;if((va|0)==(z|0)){f[j+(A+-1<<2)>>2]=0;fb=A}else fb=z;eb=eb*1.0e9+ +((f[j+(va<<2)>>2]|0)>>>0);G=G+1|0;if((G|0)==2)break;else z=fb}gb=+(e|0);hb=eb*gb;z=_a+53|0;G=z-d|0;za=(G|0)<(c|0);va=za?((G|0)>0?G:0):c;if((va|0)<53){ib=+Zd(+Yd(1.0,105-va|0),hb);jb=+_d(hb,+Yd(1.0,53-va|0));kb=ib;lb=jb;mb=ib+(hb-jb)}else{kb=0.0;lb=0.0;mb=hb}A=$a+2&127;if((A|0)!=(fb|0)){ua=f[j+(A<<2)>>2]|0;do if(ua>>>0>=5e8){if((ua|0)!=5e8){nb=gb*.75+lb;break}if(($a+3&127|0)==(fb|0)){nb=gb*.5+lb;break}else{nb=gb*.75+lb;break}}else{if((ua|0)==0?($a+3&127|0)==(fb|0):0){nb=lb;break}nb=gb*.25+lb}while(0);if((53-va|0)>1?!(+_d(nb,1.0)!=0.0):0)ob=nb+1.0;else ob=nb}else ob=lb;gb=mb+ob-kb;do if((z&2147483647|0)>(-2-k|0)){ua=!(+J(+gb)>=9007199254740992.0);A=_a+((ua^1)&1)|0;eb=ua?gb:gb*.5;if((A+50|0)<=(l|0)?!(ob!=0.0&(za&((va|0)!=(G|0)|ua))):0){pb=eb;qb=A;break}ua=pc()|0;f[ua>>2]=34;pb=eb;qb=A}else{pb=gb;qb=_a}while(0);Aa=+$d(pb,qb)}while(0);u=i;return +Aa}function Xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;c=a+4|0;d=f[c>>2]|0;e=a+100|0;if(d>>>0<(f[e>>2]|0)>>>0){f[c>>2]=d+1;g=h[d>>0]|0}else g=dd(a)|0;switch(g|0){case 43:case 45:{d=(g|0)==45&1;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;j=h[i>>0]|0}else j=dd(a)|0;i=j+-48|0;if((b|0)!=0&i>>>0>9)if(!(f[e>>2]|0)){k=0;l=-2147483648}else{f[c>>2]=(f[c>>2]|0)+-1;m=14}else{n=d;o=j;p=i;m=12}break}default:{n=0;o=g;p=g+-48|0;m=12}}if((m|0)==12)if(p>>>0>9)m=14;else{p=0;g=o;while(1){p=g+-48+(p*10|0)|0;o=f[c>>2]|0;if(o>>>0<(f[e>>2]|0)>>>0){f[c>>2]=o+1;q=h[o>>0]|0}else q=dd(a)|0;r=q+-48|0;if(!(r>>>0<10&(p|0)<214748364))break;else g=q}g=((p|0)<0)<<31>>31;if(r>>>0<10){r=q;q=p;o=g;while(1){i=le(q|0,o|0,10,0)|0;j=H;d=me(r|0,((r|0)<0)<<31>>31|0,-48,-1)|0;q=me(d|0,H|0,i|0,j|0)|0;o=H;j=f[c>>2]|0;if(j>>>0<(f[e>>2]|0)>>>0){f[c>>2]=j+1;s=h[j>>0]|0}else s=dd(a)|0;t=s+-48|0;if(!(t>>>0<10&((o|0)<21474836|(o|0)==21474836&q>>>0<2061584302)))break;else r=s}if(t>>>0<10){do{t=f[c>>2]|0;if(t>>>0<(f[e>>2]|0)>>>0){f[c>>2]=t+1;u=h[t>>0]|0}else u=dd(a)|0}while((u+-48|0)>>>0<10);v=q;w=o}else{v=q;w=o}}else{v=p;w=g}if(f[e>>2]|0)f[c>>2]=(f[c>>2]|0)+-1;g=(n|0)==0;n=ne(0,0,v|0,w|0)|0;k=g?v:n;l=g?w:H}if((m|0)==14)if(!(f[e>>2]|0)){k=0;l=-2147483648}else{f[c>>2]=(f[c>>2]|0)+-1;k=0;l=-2147483648}H=l;return k|0}function Yd(a,b){a=+a;b=b|0;var c=0.0,d=0,e=0,g=0.0,h=0;if((b|0)<=1023)if((b|0)<-1022){c=a*2.2250738585072014e-308;d=(b|0)<-2044;e=b+2044|0;g=d?c*2.2250738585072014e-308:c;h=d?((e|0)>-1022?e:-1022):b+1022|0}else{g=a;h=b}else{c=a*8988465674311579538646525.0e283;e=(b|0)>2046;d=b+-2046|0;g=e?c*8988465674311579538646525.0e283:c;h=e?((d|0)<1023?d:1023):b+-1023|0}b=se(h+1023|0,0,52)|0;h=H;f[s>>2]=b;f[s+4>>2]=h;return +(g*+p[s>>3])}function Zd(a,b){a=+a;b=+b;return +(+ce(a,b))}function _d(a,b){a=+a;b=+b;return +(+ae(a,b))}function $d(a,b){a=+a;b=b|0;return +(+Yd(a,b))}function ae(a,b){a=+a;b=+b;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s>>2]|0;g=f[s+4>>2]|0;h=re(c|0,d|0,52)|0;i=h&2047;h=re(e|0,g|0,52)|0;j=h&2047;h=d&-2147483648;k=se(e|0,g|0,1)|0;l=H;a:do if(!((k|0)==0&(l|0)==0)?(m=be(b)|0,n=H&2147483647,!((i|0)==2047|(n>>>0>2146435072|(n|0)==2146435072&m>>>0>0))):0){m=se(c|0,d|0,1)|0;n=H;if(!(n>>>0>l>>>0|(n|0)==(l|0)&m>>>0>k>>>0))return +((m|0)==(k|0)&(n|0)==(l|0)?a*0.0:a);if(!i){n=se(c|0,d|0,12)|0;m=H;if((m|0)>-1|(m|0)==-1&n>>>0>4294967295){o=0;q=n;n=m;while(1){m=o+-1|0;q=se(q|0,n|0,1)|0;n=H;if(!((n|0)>-1|(n|0)==-1&q>>>0>4294967295)){r=m;break}else o=m}}else r=0;o=se(c|0,d|0,1-r|0)|0;t=r;u=o;v=H}else{t=i;u=c;v=d&1048575|1048576}if(!j){o=se(e|0,g|0,12)|0;q=H;if((q|0)>-1|(q|0)==-1&o>>>0>4294967295){n=0;m=o;o=q;while(1){q=n+-1|0;m=se(m|0,o|0,1)|0;o=H;if(!((o|0)>-1|(o|0)==-1&m>>>0>4294967295)){w=q;break}else n=q}}else w=0;n=se(e|0,g|0,1-w|0)|0;x=w;y=n;z=H}else{x=j;y=e;z=g&1048575|1048576}n=ne(u|0,v|0,y|0,z|0)|0;m=H;o=(m|0)>-1|(m|0)==-1&n>>>0>4294967295;b:do if((t|0)>(x|0)){q=t;A=m;B=o;C=u;D=v;E=n;while(1){if(B)if((E|0)==0&(A|0)==0)break;else{F=E;G=A}else{F=C;G=D}I=se(F|0,G|0,1)|0;J=H;K=q+-1|0;L=ne(I|0,J|0,y|0,z|0)|0;M=H;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(x|0)){q=K;A=M;B=N;C=I;D=J;E=L}else{O=K;P=N;Q=L;R=M;S=I;T=J;break b}}U=a*0.0;break a}else{O=t;P=o;Q=n;R=m;S=u;T=v}while(0);if(P)if((Q|0)==0&(R|0)==0){U=a*0.0;break}else{V=R;W=Q}else{V=T;W=S}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){m=O;n=W;o=V;while(1){E=se(n|0,o|0,1)|0;D=H;C=m+-1|0;if(D>>>0<1048576|(D|0)==1048576&E>>>0<0){m=C;n=E;o=D}else{X=C;Y=E;Z=D;break}}}else{X=O;Y=W;Z=V}if((X|0)>0){o=me(Y|0,Z|0,0,-1048576)|0;n=H;m=se(X|0,0,52)|0;_=n|H;$=o|m}else{m=re(Y|0,Z|0,1-X|0)|0;_=H;$=m}f[s>>2]=$;f[s+4>>2]=_|h;U=+p[s>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function be(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;H=f[s+4>>2]|0;return b|0}function ce(a,b){a=+a;b=+b;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s+4>>2]&-2147483648|d&2147483647;f[s>>2]=c;f[s+4>>2]=e;return +(+p[s>>3])}function de(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;c=yc(a,b,e)|0;u=d;return c|0}function ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ad(a,b,c,-2147483648,0)|0;return d|0}function fe(a,b){a=+a;b=b|0;return +(+Yd(a,b))}function ge(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;if((f[c+76>>2]|0)>=0?(Ac(c)|0)!=0:0){d=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=Dd(c,a)|0;Bc(c);j=i}else k=3;do if((k|0)==3){i=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(d=c+20|0,h=f[d>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[d>>2]=h+1;b[h>>0]=i;j=e;break}j=Dd(c,a)|0}while(0);return j|0}function he(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=W(d,c)|0;h=(c|0)==0?0:d;if((f[e+76>>2]|0)>-1)i=Ac(e)|0;else i=0;d=e+74|0;j=b[d>>0]|0;b[d>>0]=j+255|j;j=e+4|0;d=f[j>>2]|0;k=(f[e+8>>2]|0)-d|0;if((k|0)>0){l=k>>>0<g>>>0?k:g;ue(a|0,d|0,l|0)|0;f[j>>2]=(f[j>>2]|0)+l;m=g-l|0;n=a+l|0}else{m=g;n=a}a:do if(!m)o=13;else{a=e+32|0;l=n;j=m;while(1){if(gd(e)|0)break;d=za[f[a>>2]&7](e,l,j)|0;if((d+1|0)>>>0<2)break;k=j-d|0;if(!k){o=13;break a}else{l=l+d|0;j=k}}if(i|0)Bc(e);p=((g-j|0)>>>0)/(c>>>0)|0}while(0);if((o|0)==13)if(!i)p=h;else{Bc(e);p=h}return p|0}function ie(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=a;while(1){d=c+1|0;if(!(ed(b[c>>0]|0)|0))break;else c=d}a=b[c>>0]|0;switch(a|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:{g=0;h=c;i=a}}if((f|0)==5){g=e;h=d;i=b[d>>0]|0}if(!(uc(i)|0))j=0;else{i=0;d=h;while(1){h=(i*10|0)+48-(b[d>>0]|0)|0;d=d+1|0;if(!(uc(b[d>>0]|0)|0)){j=h;break}else i=h}}return ((g|0)==0?0-j|0:j)|0}function je(){}function ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=W(d,c)|0;f=a>>>16;a=(e>>>16)+(W(d,f)|0)|0;d=b>>>16;b=W(d,c)|0;return (H=(a>>>16)+(W(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function le(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=ke(e,a)|0;f=H;return (H=(W(b,a)|0)+(W(d,e)|0)+f|f&0,c|0|0)|0}function me(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (H=b+d+(e>>>0<a>>>0|0)>>>0,e|0)|0}function ne(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (H=e,a-c>>>0|0)|0}function oe(a){a=a|0;return (a?31-(Z(a^a-1)|0)|0:32)|0}function pe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (H=n,o)|0}else{if(!m){n=0;o=0;return (H=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (H=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(Z(l|0)|0)-(Z(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!e){n=0;o=0;return (H=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (H=n,o)|0}r=j-1|0;if(r&j|0){s=(Z(j|0)|0)+33-(Z(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (H=n,o)|0}else{r=oe(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (H=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (H=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (H=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((oe(l|0)|0)>>>0);return (H=n,o)|0}r=(Z(l|0)|0)-(Z(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!e){n=0;o=0;return (H=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (H=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=me(b|0,c|0,-1,-1)|0;k=H;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;ne(d|0,k|0,g|0,a|0)|0;i=H;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=ne(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=H;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (H=n,o)|0}function qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return pe(a,b,c,d,0)|0}function re(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){H=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}H=0;return b>>>c-32|0}function se(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){H=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}H=a<<c-32;return 0}function te(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function ue(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return ta(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function ve(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function we(a){a=a|0;var b=0,c=0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){ca()|0;ia(12);return -1}f[r>>2]=c;if((c|0)>(ba()|0)?(aa()|0)==0:0){f[r>>2]=b;ia(12);return -1}return b|0}function xe(a,b){a=a|0;b=b|0;return ya[a&1](b|0)|0}function ye(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return za[a&7](b|0,c|0,d|0)|0}function ze(a){a=a|0;Aa[a&127]()}function Ae(a){a=a|0;_(0);return 0}function Be(a,b,c){a=a|0;b=b|0;c=c|0;_(1);return 0}function Ce(){_(2)}
// EMSCRIPTEN_END_FUNCS
var ya=[Ae,lc];var za=[Be,rc,nc,sc,$c,Ka,mc,Be];var Aa=[Ce,Ta,Ua,Va,Wa,Xa,Ya,Za,_a,$a,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb,lb,mb,nb,ob,pb,qb,rb,sb,tb,ub,vb,wb,xb,yb,zb,Ab,Bb,Cb,Db,Eb,Fb,Gb,Hb,Ib,Jb,Kb,Lb,Mb,Nb,Ob,Pb,Qb,Rb,Sb,Tb,Ub,Vb,Wb,Xb,Yb,Zb,_b,$b,ac,bc,cc,dc,ec,fc,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce,Ce];return{___errno_location:pc,___muldi3:le,___udivdi3:qe,_bitshift64Lshr:re,_bitshift64Shl:se,_emscripten_replace_memory:xa,_free:hc,_i64Add:me,_i64Subtract:ne,_llvm_bswap_i32:te,_main:La,_malloc:gc,_memcpy:ue,_memset:ve,_sbrk:we,dynCall_ii:xe,dynCall_iiii:ye,dynCall_v:ze,establishStackSpace:Ea,getTempRet0:Ha,runPostSets:je,setTempRet0:Ga,setThrew:Fa,stackAlloc:Ba,stackRestore:Da,stackSave:Ca}})
// EMSCRIPTEN_END_ASM
(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];Module["asm"]=asm;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS"]=FS;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;if(memoryInitializer){if(!isDataURI(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,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;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{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}Module.printErr("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];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"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}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()
return c2t;
};
if (typeof exports === 'object' && typeof module === 'object')
module.exports = c2t;
else if (typeof define === 'function' && define['amd'])
define([], function() { return c2t; });
else if (typeof exports === 'object')
exports["c2t"] = c2t;