12345678910111213 |
- (function(self){var Module=self.Mp3LameEncoderConfig;var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB;var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function e(e){process["stdout"].write(e+"\n")};if(!Module["printErr"])Module["printErr"]=function r(e){process["stderr"].write(e+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function i(e,i){e=nodePath["normalize"](e);var r=nodeFS["readFileSync"](e);if(!r&&e!=nodePath["resolve"](e)){e=path.join(__dirname,"..","src",e);r=nodeFS["readFileSync"](e)}if(r&&!i)r=r.toString();return r};Module["readBinary"]=function t(e){return Module["read"](e,true)};Module["load"]=function n(e){globalEval(read(e))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(e){if(!(e instanceof ExitStatus)){throw e}});Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function o(){throw"no read() available (jsc?)"}}Module["readBinary"]=function a(e){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(e))}var r=read(e,"binary");assert(typeof r==="object");return r};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function s(r){var e=new XMLHttpRequest;e.open("GET",r,false);e.send(null);return e.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function f(e){console.log(e)};if(!Module["printErr"])Module["printErr"]=function l(e){console.log(e)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?function(e){dump(e)}:function(e){}}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=function(e){document.title=e}}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(e){eval.call(null,e)}if(!Module["load"]&&Module["read"]){Module["load"]=function u(e){globalEval(Module["read"](e))}}if(!Module["print"]){Module["print"]=function(){}}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:function(e){tempRet0=e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){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(e[e.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(e[0]==="i"){var r=parseInt(e.substr(1));assert(r%8===0);return r/8}else{return 0}}}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,r){if(r==="double"||r==="i64"){if(e&7){assert((e&7)===4);e+=4}}else{assert((e&3)===0)}return e},getAlignSize:function(e,r,i){if(!i&&(e=="i64"||e=="double"))return 8;if(!e)return Math.min(r,8);return Math.min(r||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE)},dynCall:function(r,i,e){if(e&&e.length){if(!e.splice)e=Array.prototype.slice.call(e);e.splice(0,0,i);return Module["dynCall_"+r].apply(null,e)}else{return Module["dynCall_"+r].call(null,i)}},functionPointers:[],addFunction:function(r){for(var e=0;e<Runtime.functionPointers.length;e++){if(!Runtime.functionPointers[e]){Runtime.functionPointers[e]=r;return 2*(1+e)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(e){Runtime.functionPointers[(e-2)/2]=null},warnOnce:function(e){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[e]){Runtime.warnOnce.shown[e]=1;Module.printErr(e)}},funcWrappers:{},getFuncWrapper:function(r,e){assert(e);if(!Runtime.funcWrappers[e]){Runtime.funcWrappers[e]={}}var i=Runtime.funcWrappers[e];if(!i[r]){i[r]=function t(){return Runtime.dynCall(e,r,arguments)}}return i[r]},getCompilerSetting:function(e){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(e){var r=STACKTOP;STACKTOP=STACKTOP+e|0;STACKTOP=STACKTOP+15&-16;return r},staticAlloc:function(e){var r=STATICTOP;STATICTOP=STATICTOP+e|0;STATICTOP=STATICTOP+15&-16;return r},dynamicAlloc:function(r){var e=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+r|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=TOTAL_MEMORY){var i=enlargeMemory();if(!i){DYNAMICTOP=e;return 0}}return e},alignMemory:function(r,e){var i=r=Math.ceil(r/(e?e:16))*(e?e:16);return i},makeBigInt:function(e,r,i){var t=i?+(e>>>0)+ +(r>>>0)*+4294967296:+(e>>>0)+ +(r|0)*+4294967296;return t},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(e,r){if(!e){abort("Assertion failed: "+r)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var r=Runtime.stackAlloc(e.length);writeArrayToMemory(e,r);return r},stringToC:function(e){var r=0;if(e!==null&&e!==undefined&&e!==0){r=Runtime.stackAlloc((e.length<<2)+1);writeStringToMemory(e,r)}return r}};var toC={string:JSfuncs["stringToC"],array:JSfuncs["arrayToC"]};ccall=function e(u,l,s,i,o){var f=getCFunc(u);var n=[];var r=0;if(i){for(var e=0;e<i.length;e++){var a=toC[s[e]];if(a){if(r===0)r=Runtime.stackSave();n[e]=a(i[e])}else{n[e]=i[e]}}}var t=f.apply(null,n);if(l==="string")t=Pointer_stringify(t);if(r!==0){if(o&&o.async){EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(r)});return}Runtime.stackRestore(r)}return t};var sourceRegex=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(r){var e=r.toString().match(sourceRegex).slice(1);return{arguments:e[0],body:e[1],returnValue:e[2]}}var JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every(function(e){return e==="number"});var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map(function(r,e){return"$"+e});var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"="+convertCode.returnValue+";"}}var cfuncname=parseJSFunc(function(){return cfunc}).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc(function(){return Pointer_stringify}).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}})();Module["cwrap"]=cwrap;Module["ccall"]=ccall;function setValue(e,r,i,t){i=i||"i8";if(i.charAt(i.length-1)==="*")i="i32";switch(i){case"i1":HEAP8[e>>0]=r;break;case"i8":HEAP8[e>>0]=r;break;case"i16":HEAP16[e>>1]=r;break;case"i32":HEAP32[e>>2]=r;break;case"i64":tempI64=[r>>>0,(tempDouble=r,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=r;break;case"double":HEAPF64[e>>3]=r;break;default:abort("invalid type for setValue: "+i)}}Module["setValue"]=setValue;function getValue(e,r,i){r=r||"i8";if(r.charAt(r.length-1)==="*")r="i32";switch(r){case"i1":return HEAP8[e>>0];case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":return HEAP32[e>>2];case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+r)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(r,s,c,t){var l,n;if(typeof r==="number"){l=true;n=r}else{l=false;n=r.length}var u=typeof s==="string"?s:null;var e;if(c==ALLOC_NONE){e=t}else{e=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][c===undefined?ALLOC_STATIC:c](Math.max(n,u?1:s.length))}if(l){var t=e,f;assert((e&3)==0);f=e+(n&~3);for(;t<f;t+=4){HEAP32[t>>2]=0}f=e+n;while(t<f){HEAP8[t++>>0]=0}return e}if(u==="i8"){if(r.subarray||r.slice){HEAPU8.set(r,e)}else{HEAPU8.set(new Uint8Array(r),e)}return e}var o=0,i,d,h;while(o<n){var a=r[o];if(typeof a==="function"){a=Runtime.getFunctionIndex(a)}i=u||s[o];if(i===0){o++;continue}if(i=="i64")i="i32";setValue(e+o,a,i);if(h!==i){d=Runtime.getNativeTypeSize(i);h=i}o+=d}return e}Module["allocate"]=allocate;function getMemory(e){if(!staticSealed)return Runtime.staticAlloc(e);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(e);return _malloc(e)}Module["getMemory"]=getMemory;function Pointer_stringify(r,e){if(e===0||!r)return"";var s=0;var n;var i=0;while(1){n=HEAPU8[r+i>>0];s|=n;if(n==0&&!e)break;i++;if(e&&i==e)break}if(!e)e=i;var t="";if(s<128){var o=1024;var a;while(e>0){a=String.fromCharCode.apply(String,HEAPU8.subarray(r,r+Math.min(e,o)));t=t?t+a:a;r+=o;e-=o}return t}return Module["UTF8ToString"](r)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(i){var e="";while(1){var r=HEAP8[i++>>0];if(!r)return e;e+=String.fromCharCode(r)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(e,r){return writeAsciiToMemory(e,r,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(r,i){var e,t,n,a,s,f;var o="";while(1){e=r[i++];if(!e)return o;if(!(e&128)){o+=String.fromCharCode(e);continue}t=r[i++]&63;if((e&224)==192){o+=String.fromCharCode((e&31)<<6|t);continue}n=r[i++]&63;if((e&240)==224){e=(e&15)<<12|t<<6|n}else{a=r[i++]&63;if((e&248)==240){e=(e&7)<<18|t<<12|n<<6|a}else{s=r[i++]&63;if((e&252)==248){e=(e&3)<<24|t<<18|n<<12|a<<6|s}else{f=r[i++]&63;e=(e&1)<<30|t<<24|n<<18|a<<12|s<<6|f}}}if(e<65536){o+=String.fromCharCode(e)}else{var l=e-65536;o+=String.fromCharCode(55296|l>>10,56320|l&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(o,i,e,a){if(!(a>0))return 0;var s=e;var t=e+a-1;for(var n=0;n<o.length;++n){var r=o.charCodeAt(n);if(r>=55296&&r<=57343)r=65536+((r&1023)<<10)|o.charCodeAt(++n)&1023;if(r<=127){if(e>=t)break;i[e++]=r}else if(r<=2047){if(e+1>=t)break;i[e++]=192|r>>6;i[e++]=128|r&63}else if(r<=65535){if(e+2>=t)break;i[e++]=224|r>>12;i[e++]=128|r>>6&63;i[e++]=128|r&63}else if(r<=2097151){if(e+3>=t)break;i[e++]=240|r>>18;i[e++]=128|r>>12&63;i[e++]=128|r>>6&63;i[e++]=128|r&63}else if(r<=67108863){if(e+4>=t)break;i[e++]=248|r>>24;i[e++]=128|r>>18&63;i[e++]=128|r>>12&63;i[e++]=128|r>>6&63;i[e++]=128|r&63}else{if(e+5>=t)break;i[e++]=252|r>>30;i[e++]=128|r>>24&63;i[e++]=128|r>>18&63;i[e++]=128|r>>12&63;i[e++]=128|r>>6&63;i[e++]=128|r&63}}i[e]=0;return e-s}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(e,r,i){return stringToUTF8Array(e,HEAPU8,r,i)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(t){var r=0;for(var i=0;i<t.length;++i){var e=t.charCodeAt(i);if(e>=55296&&e<=57343)e=65536+((e&1023)<<10)|t.charCodeAt(++i)&1023;if(e<=127){++r}else if(e<=2047){r+=2}else if(e<=65535){r+=3}else if(e<=2097151){r+=4}else if(e<=67108863){r+=5}else{r+=6}}return r}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(t){var e=0;var r="";while(1){var i=HEAP16[t+e*2>>1];if(i==0)return r;++e;r+=String.fromCharCode(i)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(i,r,e){if(e===undefined){e=2147483647}if(e<2)return 0;e-=2;var n=r;var o=e<i.length*2?e/2:i.length;for(var t=0;t<o;++t){var a=i.charCodeAt(t);HEAP16[r>>1]=a;r+=2}HEAP16[r>>1]=0;return r-n}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(e){return e.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(n){var i=0;var r="";while(1){var e=HEAP32[n+i*4>>2];if(e==0)return r;++i;if(e>=65536){var t=e-65536;r+=String.fromCharCode(55296|t>>10,56320|t&1023)}else{r+=String.fromCharCode(e)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(n,e,i){if(i===undefined){i=2147483647}if(i<4)return 0;var o=e;var a=o+i-4;for(var t=0;t<n.length;++t){var r=n.charCodeAt(t);if(r>=55296&&r<=57343){var s=n.charCodeAt(++t);r=65536+((r&1023)<<10)|s&1023}HEAP32[e>>2]=r;e+=4;if(e+4>a)break}HEAP32[e>>2]=0;return e-o}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(r){var i=0;for(var e=0;e<r.length;++e){var t=r.charCodeAt(e);if(t>=55296&&t<=57343)++e;i+=4}return i}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(r){var s=!!Module["___cxa_demangle"];if(s){try{var a=_malloc(r.length);writeStringToMemory(r.substr(1),a);var t=_malloc(4);var n=Module["___cxa_demangle"](a,0,0,t);if(getValue(t,"i32")===0&&n){return Pointer_stringify(n)}}catch(h){}finally{if(a)_free(a);if(t)_free(t);if(n)_free(n)}}var e=3;var u={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."};var f=[];var l=true;function d(i){if(i)Module.print(i);Module.print(r);var t="";for(var n=0;n<e;n++)t+=" ";Module.print(t+"^")}function c(){e++;if(r[e]==="K")e++;var i=[];while(r[e]!=="E"){if(r[e]==="S"){e++;var o=r.indexOf("_",e);var s=r.substring(e,o)||0;i.push(f[s]||"?");e=o+1;continue}if(r[e]==="C"){i.push(i[i.length-1]);e+=2;continue}var t=parseInt(r.substr(e));var n=t.toString().length;if(!t||!n){e--;break}var a=r.substr(e+n,t);i.push(a);f.push(a);e+=n+t}e++;return i}function i(d,s,_){s=s||Infinity;var a="",t=[];function m(){return"("+t.join(", ")+")"}var o;if(r[e]==="N"){o=c().join("::");s--;if(s===0)return d?[o]:o}else{if(r[e]==="K"||l&&r[e]==="L")e++;var n=parseInt(r.substr(e));if(n){var h=n.toString().length;o=r.substr(e+h,n);e+=h+n}}l=false;if(r[e]==="I"){e++;var w=i(true);var p=i(true,1,true);a+=p[0]+" "+o+"<"+w.join(", ")+">"}else{a=o}e:while(e<r.length&&s-->0){var f=r[e++];if(f in u){t.push(u[f])}else{switch(f){case"P":t.push(i(true,1,true)[0]+"*");break;case"R":t.push(i(true,1,true)[0]+"&");break;case"L":{e++;var E=r.indexOf("E",e);var n=E-e;t.push(r.substr(e,n));e+=n+2;break};case"A":{var n=parseInt(r.substr(e));e+=n.toString().length;if(r[e]!=="_")throw"?";e++;t.push(i(true,1,true)[0]+" ["+n+"]");break};case"E":break e;default:a+="?"+f;break e}}}if(!_&&t.length===1&&t[0]==="void")t=[];if(d){if(a){t.push(a+"?")}return t}else{return a+m()}}var o=r;try{if(r=="Object._main"||r=="_main"){return"main()"}if(typeof r==="number")r=Pointer_stringify(r);if(r[0]!=="_")return r;if(r[1]!=="_")return r;if(r[2]!=="Z")return r;switch(r[3]){case"n":return"operator new()";case"d":return"operator delete()"}o=i()}catch(h){o+="?"}if(o.indexOf("?")>=0&&!s){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return o}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,function(e){var r=demangle(e);return e===r?e:e+" ["+r+"]"})}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(r){e=r}if(!e.stack){return"(no stack trace available)"}}return e.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(e){if(e%4096>0){e+=4096-e%4096}return e}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function enlargeMemory(){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 ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){Module.printErr("increasing TOTAL_MEMORY to "+totalMemory+" to be compliant with the asm.js spec (and given that TOTAL_STACK="+TOTAL_STACK+")");TOTAL_MEMORY=totalMemory}assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&!!new Int32Array(1)["subarray"]&&!!new Int32Array(1)["set"],"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(TOTAL_MEMORY);HEAP8=new Int8Array(buffer);HEAP16=new Int16Array(buffer);HEAP32=new Int32Array(buffer);HEAPU8=new Uint8Array(buffer);HEAPU16=new Uint16Array(buffer);HEAPU32=new Uint32Array(buffer);HEAPF32=new Float32Array(buffer);HEAPF64=new Float64Array(buffer);HEAP32[0]=255;assert(HEAPU8[0]===255&&HEAPU8[3]===0,"Typed arrays 2 must be run on a little-endian system");Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(i){while(i.length>0){var e=i.shift();if(typeof e=="function"){e();continue}var r=e.func;if(typeof r==="number"){if(e.arg===undefined){Runtime.dynCall("v",r)}else{Runtime.dynCall("vi",r,[e.arg])}}else{r(e.arg===undefined?null:e.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(e){__ATPRERUN__.unshift(e)}Module["addOnPreRun"]=Module.addOnPreRun=addOnPreRun;function addOnInit(e){__ATINIT__.unshift(e)}Module["addOnInit"]=Module.addOnInit=addOnInit;function addOnPreMain(e){__ATMAIN__.unshift(e)}Module["addOnPreMain"]=Module.addOnPreMain=addOnPreMain;function addOnExit(e){__ATEXIT__.unshift(e)}Module["addOnExit"]=Module.addOnExit=addOnExit;function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}Module["addOnPostRun"]=Module.addOnPostRun=addOnPostRun;function intArrayFromString(r,t,i){var n=i>0?i:lengthBytesUTF8(r)+1;var e=new Array(n);var o=stringToUTF8Array(r,e,0,e.length);if(t)e.length=o;return e}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(i){var t=[];for(var e=0;e<i.length;e++){var r=i[e];if(r>255){r&=255}t.push(String.fromCharCode(r))}return t.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(i,t,n){var r=intArrayFromString(i,n);var e=0;while(e<r.length){var o=r[e];HEAP8[t+e>>0]=o;e=e+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(r,i){for(var e=0;e<r.length;e++){HEAP8[i++>>0]=r[e]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(r,i,t){for(var e=0;e<r.length;++e){HEAP8[i++>>0]=r.charCodeAt(e)}if(!t)HEAP8[i>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(e,r,i){if(e>=0){return e}return r<=32?2*Math.abs(1<<r-1)+e:Math.pow(2,r)+e}function reSign(e,r,t){if(e<=0){return e}var i=r<=32?Math.abs(1<<r-1):Math.pow(2,r-1);if(e>=i&&(r<=32||e>i)){e=-2*i+e}return e}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function c(e,r){var n=e>>>16;var i=e&65535;var o=r>>>16;var t=r&65535;return i*t+(n*t+i*o<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=function(r){r=r>>>0;for(var e=0;e<32;e++){if(r&1<<31-e)return e}return 32};Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(r){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var e=dependenciesFulfilled;dependenciesFulfilled=null;e()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+96992;__ATINIT__.push();memoryInitializer="Mp3LameEncoder.min.js.mem";var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(e){HEAP8[tempDoublePtr]=HEAP8[e];HEAP8[tempDoublePtr+1]=HEAP8[e+1];HEAP8[tempDoublePtr+2]=HEAP8[e+2];HEAP8[tempDoublePtr+3]=HEAP8[e+3]}function copyTempDouble(e){HEAP8[tempDoublePtr]=HEAP8[e];HEAP8[tempDoublePtr+1]=HEAP8[e+1];HEAP8[tempDoublePtr+2]=HEAP8[e+2];HEAP8[tempDoublePtr+3]=HEAP8[e+3];HEAP8[tempDoublePtr+4]=HEAP8[e+4];HEAP8[tempDoublePtr+5]=HEAP8[e+5];HEAP8[tempDoublePtr+6]=HEAP8[e+6];HEAP8[tempDoublePtr+7]=HEAP8[e+7]}function _InitGainAnalysis(){Module["printErr"]("missing function: InitGainAnalysis");abort(-1)}function _AnalyzeSamples(){Module["printErr"]("missing function: AnalyzeSamples");abort(-1)}Module["_i64Subtract"]=_i64Subtract;var _fabsf=Math_abs;var _floorf=Math_floor;Module["_memset"]=_memset;var _BDtoILow=true;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"};var ___errno_state=0;function ___setErrNo(e){HEAP32[___errno_state>>2]=e;return e}function _strerror_r(e,r,i){if(e in ERRNO_MESSAGES){if(ERRNO_MESSAGES[e].length>i-1){return ___setErrNo(ERRNO_CODES.ERANGE)}else{var t=ERRNO_MESSAGES[e];writeAsciiToMemory(t,r);return 0}}else{return ___setErrNo(ERRNO_CODES.EINVAL)}}function _strerror(e){if(!_strerror.buffer)_strerror.buffer=_malloc(256);_strerror_r(e,_strerror.buffer,256);return _strerror.buffer}function _VBR_encode_frame(){Module["printErr"]("missing function: VBR_encode_frame");abort(-1)}function _abort(){Module["abort"]()}function _init_xrpow_core_sse(){Module["printErr"]("missing function: init_xrpow_core_sse");abort(-1)}var PATH={splitPath:function(e){var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return r.exec(e).slice(1)},normalizeArray:function(e,n){var i=0;for(var r=e.length-1;r>=0;r--){var t=e[r];if(t==="."){e.splice(r,1)}else if(t===".."){e.splice(r,1);i++}else if(i){e.splice(r,1);i--}}if(n){for(;i--;i){e.unshift("..")}}return e},normalize:function(e){var r=e.charAt(0)==="/",i=e.substr(-1)==="/";e=PATH.normalizeArray(e.split("/").filter(function(e){return!!e}),!r).join("/");if(!e&&!r){e="."}if(e&&i){e+="/"}return(r?"/":"")+e},dirname:function(t){var r=PATH.splitPath(t),i=r[0],e=r[1];if(!i&&!e){return"."}if(e){e=e.substr(0,e.length-1)}return i+e},basename:function(e){if(e==="/")return"/";var r=e.lastIndexOf("/");if(r===-1)return e;return e.substr(r+1)},extname:function(e){return PATH.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return PATH.normalize(e.join("/"))},join2:function(e,r){return PATH.normalize(e+"/"+r)},resolve:function(){var e="",r=false;for(var i=arguments.length-1;i>=-1&&!r;i--){var t=i>=0?arguments[i]:FS.cwd();if(typeof t!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!t){return""}e=t+"/"+e;r=t.charAt(0)==="/"}e=PATH.normalizeArray(e.split("/").filter(function(e){return!!e}),!r).join("/");return(r?"/":"")+e||"."},relative:function(i,t){i=PATH.resolve(i).substr(1);t=PATH.resolve(t).substr(1);function s(r){var e=0;for(;e<r.length;e++){if(r[e]!=="")break}var i=r.length-1;for(;i>=0;i--){if(r[i]!=="")break}if(e>i)return[];return r.slice(e,i-e+1)}var n=s(i.split("/"));var o=s(t.split("/"));var f=Math.min(n.length,o.length);var a=f;for(var e=0;e<f;e++){if(n[e]!==o[e]){a=e;break}}var r=[];for(var e=a;e<n.length;e++){r.push("..")}r=r.concat(o.slice(a));return r.join("/")}};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(e,r){TTY.ttys[e]={input:[],output:[],ops:r};FS.registerDevice(e,TTY.stream_ops);
- },stream_ops:{open:function(e){var r=TTY.ttys[e.node.rdev];if(!r){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}e.tty=r;e.seekable=false},close:function(e){e.tty.ops.flush(e.tty)},flush:function(e){e.tty.ops.flush(e.tty)},read:function(e,n,o,a,s){if(!e.tty||!e.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var i=0;for(var t=0;t<a;t++){var r;try{r=e.tty.ops.get_char(e.tty)}catch(f){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(r===undefined&&i===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(r===null||r===undefined)break;i++;n[o+t]=r}if(i){e.node.timestamp=Date.now()}return i},write:function(e,t,n,i,o){if(!e.tty||!e.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var r=0;r<i;r++){try{e.tty.ops.put_char(e.tty,t[n+r])}catch(a){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(i){e.node.timestamp=Date.now()}return r}},default_tty_ops:{get_char:function(r){if(!r.input.length){var e=null;if(ENVIRONMENT_IS_NODE){var n=256;var o=new Buffer(n);var i=0;var t=process.stdin.fd;var a=false;try{t=fs.openSync("/dev/stdin","r");a=true}catch(s){}i=fs.readSync(t,o,0,n,null);if(a){fs.closeSync(t)}if(i>0){e=o.slice(0,i).toString("utf-8")}else{e=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){e=window.prompt("Input: ");if(e!==null){e+="\n"}}else if(typeof readline=="function"){e=readline();if(e!==null){e+="\n"}}if(!e){return null}r.input=intArrayFromString(e,true)}return r.input.shift()},put_char:function(r,e){if(e===null||e===10){Module["print"](UTF8ArrayToString(r.output,0));r.output=[]}else{if(e!=0)r.output.push(e)}},flush:function(e){if(e.output&&e.output.length>0){Module["print"](UTF8ArrayToString(e.output,0));e.output=[]}}},default_tty1_ops:{put_char:function(r,e){if(e===null||e===10){Module["printErr"](UTF8ArrayToString(r.output,0));r.output=[]}else{if(e!=0)r.output.push(e)}},flush:function(e){if(e.output&&e.output.length>0){Module["printErr"](UTF8ArrayToString(e.output,0));e.output=[]}}}};var MEMFS={ops_table:null,mount:function(e){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(r,t,i,n){if(FS.isBlkdev(i)||FS.isFIFO(i)){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 e=FS.createNode(r,t,i,n);if(FS.isDir(e.mode)){e.node_ops=MEMFS.ops_table.dir.node;e.stream_ops=MEMFS.ops_table.dir.stream;e.contents={}}else if(FS.isFile(e.mode)){e.node_ops=MEMFS.ops_table.file.node;e.stream_ops=MEMFS.ops_table.file.stream;e.usedBytes=0;e.contents=null}else if(FS.isLink(e.mode)){e.node_ops=MEMFS.ops_table.link.node;e.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(e.mode)){e.node_ops=MEMFS.ops_table.chrdev.node;e.stream_ops=MEMFS.ops_table.chrdev.stream}e.timestamp=Date.now();if(r){r.contents[t]=e}return e},getFileDataAsRegularArray:function(e){if(e.contents&&e.contents.subarray){var i=[];for(var r=0;r<e.usedBytes;++r)i.push(e.contents[r]);return i}return e.contents},getFileDataAsTypedArray:function(e){if(!e.contents)return new Uint8Array;if(e.contents.subarray)return e.contents.subarray(0,e.usedBytes);return new Uint8Array(e.contents)},expandFileStorage:function(e,r){if(e.contents&&e.contents.subarray&&r>e.contents.length){e.contents=MEMFS.getFileDataAsRegularArray(e);e.usedBytes=e.contents.length}if(!e.contents||e.contents.subarray){var i=e.contents?e.contents.buffer.byteLength:0;if(i>=r)return;var t=1024*1024;r=Math.max(r,i*(i<t?2:1.125)|0);if(i!=0)r=Math.max(r,256);var n=e.contents;e.contents=new Uint8Array(r);if(e.usedBytes>0)e.contents.set(n.subarray(0,e.usedBytes),0);return}if(!e.contents&&r>0)e.contents=[];while(e.contents.length<r)e.contents.push(0)},resizeFileStorage:function(e,r){if(e.usedBytes==r)return;if(r==0){e.contents=null;e.usedBytes=0;return}if(!e.contents||e.contents.subarray){var i=e.contents;e.contents=new Uint8Array(new ArrayBuffer(r));if(i){e.contents.set(i.subarray(0,Math.min(r,e.usedBytes)))}e.usedBytes=r;return}if(!e.contents)e.contents=[];if(e.contents.length>r)e.contents.length=r;else while(e.contents.length<r)e.contents.push(0);e.usedBytes=r},node_ops:{getattr:function(r){var e={};e.dev=FS.isChrdev(r.mode)?r.id:1;e.ino=r.id;e.mode=r.mode;e.nlink=1;e.uid=0;e.gid=0;e.rdev=r.rdev;if(FS.isDir(r.mode)){e.size=4096}else if(FS.isFile(r.mode)){e.size=r.usedBytes}else if(FS.isLink(r.mode)){e.size=r.link.length}else{e.size=0}e.atime=new Date(r.timestamp);e.mtime=new Date(r.timestamp);e.ctime=new Date(r.timestamp);e.blksize=4096;e.blocks=Math.ceil(e.size/e.blksize);return e},setattr:function(r,e){if(e.mode!==undefined){r.mode=e.mode}if(e.timestamp!==undefined){r.timestamp=e.timestamp}if(e.size!==undefined){MEMFS.resizeFileStorage(r,e.size)}},lookup:function(e,r){throw FS.genericErrors[ERRNO_CODES.ENOENT]},mknod:function(e,r,i,t){return MEMFS.createNode(e,r,i,t)},rename:function(e,r,i){if(FS.isDir(e.mode)){var t;try{t=FS.lookupNode(r,i)}catch(n){}if(t){for(var o in t.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete e.parent.contents[e.name];e.name=i;r.contents[i]=e;e.parent=r},unlink:function(e,r){delete e.contents[r]},rmdir:function(e,r){var i=FS.lookupNode(e,r);for(var t in i.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete e.contents[r]},readdir:function(e){var r=[".",".."];for(var i in e.contents){if(!e.contents.hasOwnProperty(i)){continue}r.push(i)}return r},symlink:function(r,i,t){var e=MEMFS.createNode(r,i,511|40960,0);e.link=t;return e},readlink:function(e){if(!FS.isLink(e.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return e.link}},stream_ops:{read:function(t,o,a,s,e){var n=t.node.contents;if(e>=t.node.usedBytes)return 0;var r=Math.min(t.node.usedBytes-e,s);assert(r>=0);if(r>8&&n.subarray){o.set(n.subarray(e,e+r),a)}else{for(var i=0;i<r;i++)o[a+i]=n[e+i]}return r},write:function(a,t,i,r,n,s){if(!r)return 0;var e=a.node;e.timestamp=Date.now();if(t.subarray&&(!e.contents||e.contents.subarray)){if(s){e.contents=t.subarray(i,i+r);e.usedBytes=r;return r}else if(e.usedBytes===0&&n===0){e.contents=new Uint8Array(t.subarray(i,i+r));e.usedBytes=r;return r}else if(n+r<=e.usedBytes){e.contents.set(t.subarray(i,i+r),n);return r}}MEMFS.expandFileStorage(e,n+r);if(e.contents.subarray&&t.subarray)e.contents.set(t.subarray(i,i+r),n);else{for(var o=0;o<r;o++){e.contents[n+o]=t[i+o]}}e.usedBytes=Math.max(e.usedBytes,n+r);return r},llseek:function(r,t,i){var e=t;if(i===1){e+=r.position}else if(i===2){if(FS.isFile(r.node.mode)){e+=r.node.usedBytes}}if(e<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return e},allocate:function(e,r,i){MEMFS.expandFileStorage(e.node,r+i);e.node.usedBytes=Math.max(e.node.usedBytes,r+i)},mmap:function(n,o,f,t,r,l,s){if(!FS.isFile(n.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var i;var a;var e=n.node.contents;if(!(s&2)&&(e.buffer===o||e.buffer===o.buffer)){a=false;i=e.byteOffset}else{if(r>0||r+t<n.node.usedBytes){if(e.subarray){e=e.subarray(r,r+t)}else{e=Array.prototype.slice.call(e,r,r+t)}}a=true;i=_malloc(t);if(!i){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}o.set(e,i)}return{ptr:i,allocated:a}},msync:function(e,r,i,t,n){if(!FS.isFile(e.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(n&2){return 0}var o=MEMFS.stream_ops.write(e,r,0,t,i,false);return 0}}};var IDBFS={dbs:{},indexedDB:function(){if(typeof indexedDB!=="undefined")return indexedDB;var e=null;if(typeof window==="object")e=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(e,"IDBFS used, but indexedDB not supported");return e},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(e){return MEMFS.mount.apply(null,arguments)},syncfs:function(r,i,e){IDBFS.getLocalSet(r,function(t,n){if(t)return e(t);IDBFS.getRemoteSet(r,function(r,t){if(r)return e(r);var o=i?t:n;var a=i?n:t;IDBFS.reconcile(o,a,e)})})},getDB:function(t,i){var e=IDBFS.dbs[t];if(e){return i(null,e)}var r;try{r=IDBFS.indexedDB().open(t,IDBFS.DB_VERSION)}catch(n){return i(n)}r.onupgradeneeded=function(r){var i=r.target.result;var t=r.target.transaction;var e;if(i.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){e=t.objectStore(IDBFS.DB_STORE_NAME)}else{e=i.createObjectStore(IDBFS.DB_STORE_NAME)}if(!e.indexNames.contains("timestamp")){e.createIndex("timestamp","timestamp",{unique:false})}};r.onsuccess=function(){e=r.result;IDBFS.dbs[t]=e;i(null,e)};r.onerror=function(e){i(this.error);e.preventDefault()}},getLocalSet:function(t,n){var o={};function a(e){return e!=="."&&e!==".."}function s(e){return function(r){return PATH.join2(e,r)}}var e=FS.readdir(t.mountpoint).filter(a).map(s(t.mountpoint));while(e.length){var r=e.pop();var i;try{i=FS.stat(r)}catch(f){return n(f)}if(FS.isDir(i.mode)){e.push.apply(e,FS.readdir(r).filter(a).map(s(r)))}o[r]={timestamp:i.mtime}}return n(null,{type:"local",entries:o})},getRemoteSet:function(i,e){var r={};IDBFS.getDB(i.mountpoint,function(i,t){if(i)return e(i);var n=t.transaction([IDBFS.DB_STORE_NAME],"readonly");n.onerror=function(r){e(this.error);r.preventDefault()};var o=n.objectStore(IDBFS.DB_STORE_NAME);var a=o.index("timestamp");a.openKeyCursor().onsuccess=function(n){var i=n.target.result;if(!i){return e(null,{type:"remote",db:t,entries:r})}r[i.primaryKey]={timestamp:i.key};i.continue()}})},loadLocalEntry:function(t,r){var e,i;try{var n=FS.lookupPath(t);i=n.node;e=FS.stat(t)}catch(o){return r(o)}if(FS.isDir(e.mode)){return r(null,{timestamp:e.mtime,mode:e.mode})}else if(FS.isFile(e.mode)){i.contents=MEMFS.getFileDataAsTypedArray(i);return r(null,{timestamp:e.mtime,mode:e.mode,contents:i.contents})}else{return r(new Error("node type not supported"))}},storeLocalEntry:function(r,e,i){try{if(FS.isDir(e.mode)){FS.mkdir(r,e.mode)}else if(FS.isFile(e.mode)){FS.writeFile(r,e.contents,{encoding:"binary",canOwn:true})}else{return i(new Error("node type not supported"))}FS.chmod(r,e.mode);FS.utime(r,e.timestamp,e.timestamp)}catch(t){return i(t)}i(null)},removeLocalEntry:function(e,r){try{var n=FS.lookupPath(e);var i=FS.stat(e);if(FS.isDir(i.mode)){FS.rmdir(e)}else if(FS.isFile(i.mode)){FS.unlink(e)}}catch(t){return r(t)}r(null)},loadRemoteEntry:function(i,t,e){var r=i.get(t);r.onsuccess=function(r){e(null,r.target.result)};r.onerror=function(r){e(this.error);r.preventDefault()}},storeRemoteEntry:function(i,t,n,e){var r=i.put(n,t);r.onsuccess=function(){e(null)};r.onerror=function(r){e(this.error);r.preventDefault()}},removeRemoteEntry:function(i,t,e){var r=i.delete(t);r.onsuccess=function(){e(null)};r.onerror=function(r){e(this.error);r.preventDefault()}},reconcile:function(i,r,n){var t=0;var a=[];Object.keys(i.entries).forEach(function(e){var o=i.entries[e];var n=r.entries[e];if(!n||o.timestamp>n.timestamp){a.push(e);t++}});var s=[];Object.keys(r.entries).forEach(function(e){var o=r.entries[e];var n=i.entries[e];if(!n){s.push(e);t++}});if(!t){return n(null)}var c=false;var l=0;var u=i.type==="remote"?i.db:r.db;var f=u.transaction([IDBFS.DB_STORE_NAME],"readwrite");var o=f.objectStore(IDBFS.DB_STORE_NAME);function e(r){if(r){if(!e.errored){e.errored=true;return n(r)}return}if(++l>=t){return n(null)}}f.onerror=function(r){e(this.error);r.preventDefault()};a.sort().forEach(function(i){if(r.type==="local"){IDBFS.loadRemoteEntry(o,i,function(r,t){if(r)return e(r);IDBFS.storeLocalEntry(i,t,e)})}else{IDBFS.loadLocalEntry(i,function(r,t){if(r)return e(r);IDBFS.storeRemoteEntry(o,i,t,e)})}});s.sort().reverse().forEach(function(i){if(r.type==="local"){IDBFS.removeLocalEntry(i,e)}else{IDBFS.removeRemoteEntry(o,i,e)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/)},mount:function(e){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(e.opts.root),0)},createNode:function(i,t,e,n){if(!FS.isDir(e)&&!FS.isFile(e)&&!FS.isLink(e)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var r=FS.createNode(i,t,e);r.node_ops=NODEFS.node_ops;r.stream_ops=NODEFS.stream_ops;return r},getMode:function(i){var e;try{e=fs.lstatSync(i);if(NODEFS.isWindows){e.mode=e.mode|(e.mode&146)>>1}}catch(r){if(!r.code)throw r;throw new FS.ErrnoError(ERRNO_CODES[r.code])}return e.mode},realPath:function(e){var r=[];while(e.parent!==e){r.push(e.name);e=e.parent}r.push(e.mount.opts.root);r.reverse();return PATH.join.apply(null,r)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(e){if(e in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[e]}else{return e}},node_ops:{getattr:function(i){var t=NODEFS.realPath(i);var e;try{e=fs.lstatSync(t)}catch(r){if(!r.code)throw r;throw new FS.ErrnoError(ERRNO_CODES[r.code])}if(NODEFS.isWindows&&!e.blksize){e.blksize=4096}if(NODEFS.isWindows&&!e.blocks){e.blocks=(e.size+e.blksize-1)/e.blksize|0}return{dev:e.dev,ino:e.ino,mode:e.mode,nlink:e.nlink,uid:e.uid,gid:e.gid,rdev:e.rdev,size:e.size,atime:e.atime,mtime:e.mtime,ctime:e.ctime,blksize:e.blksize,blocks:e.blocks}},setattr:function(t,e){var r=NODEFS.realPath(t);try{if(e.mode!==undefined){fs.chmodSync(r,e.mode);t.mode=e.mode}if(e.timestamp!==undefined){var n=new Date(e.timestamp);fs.utimesSync(r,n,n)}if(e.size!==undefined){fs.truncateSync(r,e.size)}}catch(i){if(!i.code)throw i;throw new FS.ErrnoError(ERRNO_CODES[i.code])}},lookup:function(e,r){var i=PATH.join2(NODEFS.realPath(e),r);var t=NODEFS.getMode(i);return NODEFS.createNode(e,r,t)},mknod:function(t,n,o,a){var e=NODEFS.createNode(t,n,o,a);var i=NODEFS.realPath(e);try{if(FS.isDir(e.mode)){fs.mkdirSync(i,e.mode)}else{fs.writeFileSync(i,"",{mode:e.mode})}}catch(r){if(!r.code)throw r;throw new FS.ErrnoError(ERRNO_CODES[r.code])}return e},rename:function(r,i,t){var n=NODEFS.realPath(r);var o=PATH.join2(NODEFS.realPath(i),t);try{fs.renameSync(n,o)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},unlink:function(r,i){var t=PATH.join2(NODEFS.realPath(r),i);try{fs.unlinkSync(t)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},rmdir:function(r,i){var t=PATH.join2(NODEFS.realPath(r),i);try{fs.rmdirSync(t)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readdir:function(r){var i=NODEFS.realPath(r);try{return fs.readdirSync(i)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},symlink:function(r,i,t){var n=PATH.join2(NODEFS.realPath(r),i);try{fs.symlinkSync(t,n)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readlink:function(i){var e=NODEFS.realPath(i);try{e=fs.readlinkSync(e);e=NODEJS_PATH.relative(NODEJS_PATH.resolve(i.mount.opts.root),e);return e}catch(r){if(!r.code)throw r;throw new FS.ErrnoError(ERRNO_CODES[r.code])}}},stream_ops:{open:function(e){var i=NODEFS.realPath(e.node);try{if(FS.isFile(e.node.mode)){e.nfd=fs.openSync(i,NODEFS.flagsToPermissionString(e.flags))}}catch(r){if(!r.code)throw r;throw new FS.ErrnoError(ERRNO_CODES[r.code])}},close:function(e){try{if(FS.isFile(e.node.mode)&&e.nfd){fs.closeSync(e.nfd)}}catch(r){if(!r.code)throw r;throw new FS.ErrnoError(ERRNO_CODES[r.code])}},read:function(n,o,a,i,s){if(i===0)return 0;var t=new Buffer(i);var e;try{e=fs.readSync(n.nfd,t,0,i,s)}catch(f){throw new FS.ErrnoError(ERRNO_CODES[f.code])}if(e>0){for(var r=0;r<e;r++){o[a+r]=t[r]}}return e},write:function(t,n,e,r,o){var a=new Buffer(n.subarray(e,e+r));var i;try{i=fs.writeSync(t.nfd,a,0,r,o)}catch(s){throw new FS.ErrnoError(ERRNO_CODES[s.code])}return i},llseek:function(r,t,i){var e=t;if(i===1){e+=r.position}else if(i===2){if(FS.isFile(r.node.mode)){try{var n=fs.fstatSync(r.nfd);e+=n.size}catch(o){throw new FS.ErrnoError(ERRNO_CODES[o.code])}}}if(e<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return e}}};var _stdin=allocate(1,"i32*",ALLOC_STATIC);var _stdout=allocate(1,"i32*",ALLOC_STATIC);var _stderr=allocate(1,"i32*",ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(a,e){a=PATH.resolve(FS.cwd(),a);e=e||{};if(!a)return{path:"",node:null};var f={follow_mount:true,recurse_count:0};for(var s in f){if(e[s]===undefined){e[s]=f[s]}}if(e.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var n=PATH.normalizeArray(a.split("/").filter(function(e){return!!e}),false);var r=FS.root;var i="/";for(var t=0;t<n.length;t++){var o=t===n.length-1;if(o&&e.parent){break}r=FS.lookupNode(r,n[t]);i=PATH.join2(i,n[t]);if(FS.isMountpoint(r)){if(!o||o&&e.follow_mount){r=r.mounted.root}}if(!o||e.follow){var l=0;while(FS.isLink(r.mode)){var u=FS.readlink(i);i=PATH.resolve(PATH.dirname(i),u);var c=FS.lookupPath(i,{recurse_count:e.recurse_count});r=c.node;if(l++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:i,node:r}},getPath:function(e){var r;while(true){if(FS.isRoot(e)){var i=e.mount.mountpoint;if(!r)return i;return i[i.length-1]!=="/"?i+"/"+r:i+r}r=r?e.name+"/"+r:e.name;e=e.parent}},hashName:function(t,i){var e=0;for(var r=0;r<i.length;r++){e=(e<<5)-e+i.charCodeAt(r)|0}return(t+e>>>0)%FS.nameTable.length},hashAddNode:function(e){var r=FS.hashName(e.parent.id,e.name);e.name_next=FS.nameTable[r];FS.nameTable[r]=e},hashRemoveNode:function(e){var i=FS.hashName(e.parent.id,e.name);if(FS.nameTable[i]===e){FS.nameTable[i]=e.name_next}else{var r=FS.nameTable[i];while(r){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}}},lookupNode:function(r,i){var t=FS.mayLookup(r);if(t){throw new FS.ErrnoError(t,r)}var n=FS.hashName(r.id,i);for(var e=FS.nameTable[n];e;e=e.name_next){var o=e.name;if(e.parent.id===r.id&&o===i){return e}}return FS.lookup(r,i)},createNode:function(t,n,o,a){if(!FS.FSNode){FS.FSNode=function(e,r,i,t){if(!e){e=this}this.parent=e;this.mount=e.mount;this.mounted=null;this.id=FS.nextInode++;this.name=r;this.mode=i;this.node_ops={};this.stream_ops={};this.rdev=t};FS.FSNode.prototype={};var e=292|73;var r=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&e)===e},set:function(r){r?this.mode|=e:this.mode&=~e}},write:{get:function(){return(this.mode&r)===r},set:function(e){e?this.mode|=r:this.mode&=~r}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var i=new FS.FSNode(t,n,o,a);FS.hashAddNode(i);return i},destroyNode:function(e){FS.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return(e&61440)===32768},isDir:function(e){return(e&61440)===16384},isLink:function(e){return(e&61440)===40960},isChrdev:function(e){return(e&61440)===8192},isBlkdev:function(e){return(e&61440)===24576},isFIFO:function(e){return(e&61440)===4096},isSocket:function(e){return(e&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(e){var r=FS.flagModes[e];if(typeof r==="undefined"){throw new Error("Unknown file open mode: "+e)}return r},flagsToPermissionString:function(e){var i=e&2097155;var r=["r","w","rw"][i];if(e&512){r+="w"}return r},nodePermissions:function(e,r){if(FS.ignorePermissions){return 0}if(r.indexOf("r")!==-1&&!(e.mode&292)){return ERRNO_CODES.EACCES}else if(r.indexOf("w")!==-1&&!(e.mode&146)){return ERRNO_CODES.EACCES}else if(r.indexOf("x")!==-1&&!(e.mode&73)){return ERRNO_CODES.EACCES}return 0},mayLookup:function(e){var r=FS.nodePermissions(e,"x");if(r)return r;if(!e.node_ops.lookup)return ERRNO_CODES.EACCES;return 0},mayCreate:function(e,r){try{var i=FS.lookupNode(e,r);return ERRNO_CODES.EEXIST}catch(t){}return FS.nodePermissions(e,"wx")},mayDelete:function(r,t,n){var e;try{e=FS.lookupNode(r,t)}catch(o){return o.errno}var i=FS.nodePermissions(r,"wx");if(i){return i}if(n){if(!FS.isDir(e.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(e)||FS.getPath(e)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(e.mode)){return ERRNO_CODES.EISDIR}}return 0},mayOpen:function(e,r){if(!e){return ERRNO_CODES.ENOENT}if(FS.isLink(e.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(e.mode)){if((r&2097155)!==0||r&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(e,FS.flagsToPermissionString(r))},MAX_OPEN_FDS:4096,nextfd:function(r,i){r=r||0;i=i||FS.MAX_OPEN_FDS;for(var e=r;e<=i;e++){if(!FS.streams[e]){return e}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)},getStream:function(e){return FS.streams[e]},createStream:function(e,n,o){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var r=new FS.FSStream;for(var i in e){r[i]=e[i]}e=r;var t=FS.nextfd(n,o);e.fd=t;FS.streams[t]=e;return e},closeStream:function(e){FS.streams[e]=null},getStreamFromPtr:function(e){return FS.streams[e-1]},getPtrForStream:function(e){return e?e.fd+1:0},chrdev_stream_ops:{open:function(e){var r=FS.getDevice(e.node.rdev);e.stream_ops=r.stream_ops;if(e.stream_ops.open){e.stream_ops.open(e)}},llseek:function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}},major:function(e){return e>>8},minor:function(e){return e&255},makedev:function(e,r){return e<<8|r},registerDevice:function(e,r){FS.devices[e]={stream_ops:r}},getDevice:function(e){return FS.devices[e]},getMounts:function(t){var r=[];var e=[t];while(e.length){var i=e.pop();r.push(i);e.push.apply(e,i.mounts)}return r},syncfs:function(e,i){if(typeof e==="function"){i=e;e=false}var t=FS.getMounts(FS.root.mount);var n=0;function r(e){if(e){if(!r.errored){r.errored=true;return i(e)}return}if(++n>=t.length){i(null)}}t.forEach(function(i){if(!i.type.syncfs){return r(null)}i.type.syncfs(i,e,r)})},mount:function(o,s,r){var n=r==="/";var f=!r;var e;if(n&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!n&&!f){var a=FS.lookupPath(r,{follow_mount:false});r=a.path;e=a.node;if(FS.isMountpoint(e)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(e.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var i={type:o,opts:s,mountpoint:r,mounts:[]};var t=o.mount(i);t.mount=i;i.root=t;if(n){FS.root=t}else if(e){e.mounted=i;if(e.mount){e.mount.mounts.push(i)}}return t},unmount:function(n){var r=FS.lookupPath(n,{follow_mount:false});if(!FS.isMountpoint(r.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var e=r.node;var i=e.mounted;var o=FS.getMounts(i);Object.keys(FS.nameTable).forEach(function(r){var e=FS.nameTable[r];while(e){var i=e.name_next;if(o.indexOf(e.mount)!==-1){FS.destroyNode(e)}e=i}});e.mounted=null;var t=e.mount.mounts.indexOf(i);assert(t!==-1);e.mount.mounts.splice(t,1)},lookup:function(e,r){return e.node_ops.lookup(e,r)},mknod:function(i,n,o){var a=FS.lookupPath(i,{parent:true});var r=a.node;var e=PATH.basename(i);if(!e||e==="."||e===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var t=FS.mayCreate(r,e);if(t){throw new FS.ErrnoError(t)}if(!r.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return r.node_ops.mknod(r,e,n,o)},create:function(r,e){e=e!==undefined?e:438;e&=4095;e|=32768;return FS.mknod(r,e,0)},mkdir:function(r,e){e=e!==undefined?e:511;e&=511|512;e|=16384;return FS.mknod(r,e,0)},mkdev:function(i,e,r){if(typeof r==="undefined"){r=e;e=438}e|=8192;return FS.mknod(i,e,r)},symlink:function(r,i){if(!PATH.resolve(r)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var o=FS.lookupPath(i,{parent:true});var e=o.node;if(!e){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var t=PATH.basename(i);var n=FS.mayCreate(e,t);if(n){throw new FS.ErrnoError(n)}if(!e.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return e.node_ops.symlink(e,t,r)},rename:function(r,t){var h=PATH.dirname(r);var m=PATH.dirname(t);var d=PATH.basename(r);var f=PATH.basename(t);var s,e,i;try{s=FS.lookupPath(r,{parent:true});e=s.node;s=FS.lookupPath(t,{parent:true});i=s.node}catch(l){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!e||!i)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(e.mount!==i.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var o=FS.lookupNode(e,d);var u=PATH.relative(r,m);if(u.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}u=PATH.relative(t,h);if(u.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var a;try{a=FS.lookupNode(i,f)}catch(l){}if(o===a){return}var c=FS.isDir(o.mode);var n=FS.mayDelete(e,d,c);if(n){throw new FS.ErrnoError(n)}n=a?FS.mayDelete(i,f,c):FS.mayCreate(i,f);if(n){throw new FS.ErrnoError(n)}if(!e.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(o)||a&&FS.isMountpoint(a)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(i!==e){n=FS.nodePermissions(e,"w");if(n){throw new FS.ErrnoError(n)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](r,t)}}catch(l){console.log("FS.trackingDelegate['willMovePath']('"+r+"', '"+t+"') threw an exception: "+l.message)}FS.hashRemoveNode(o);try{e.node_ops.rename(o,i,f)}catch(l){throw l}finally{FS.hashAddNode(o)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](r,t)}catch(l){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+t+"') threw an exception: "+l.message)}},rmdir:function(e){var a=FS.lookupPath(e,{parent:true});var r=a.node;var i=PATH.basename(e);var t=FS.lookupNode(r,i);var n=FS.mayDelete(r,i,true);if(n){throw new FS.ErrnoError(n)}if(!r.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(t)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](e)}}catch(o){console.log("FS.trackingDelegate['willDeletePath']('"+e+"') threw an exception: "+o.message)}r.node_ops.rmdir(r,i);FS.destroyNode(t);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](e)}catch(o){console.log("FS.trackingDelegate['onDeletePath']('"+e+"') threw an exception: "+o.message)}},readdir:function(r){var i=FS.lookupPath(r,{follow:true});var e=i.node;if(!e.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return e.node_ops.readdir(e)},unlink:function(e){var a=FS.lookupPath(e,{parent:true});var r=a.node;var t=PATH.basename(e);var n=FS.lookupNode(r,t);var i=FS.mayDelete(r,t,false);if(i){if(i===ERRNO_CODES.EISDIR)i=ERRNO_CODES.EPERM;throw new FS.ErrnoError(i)}if(!r.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(n)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](e)}}catch(o){console.log("FS.trackingDelegate['willDeletePath']('"+e+"') threw an exception: "+o.message)}r.node_ops.unlink(r,t);FS.destroyNode(n);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](e)}catch(o){console.log("FS.trackingDelegate['onDeletePath']('"+e+"') threw an exception: "+o.message)}},readlink:function(i){var r=FS.lookupPath(i);var e=r.node;if(!e){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!e.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(r.node.parent),e.node_ops.readlink(e))},stat:function(r,i){var t=FS.lookupPath(r,{follow:!i});var e=t.node;if(!e){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!e.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return e.node_ops.getattr(e)},lstat:function(e){return FS.stat(e,true)},chmod:function(r,i,t){var e;if(typeof r==="string"){var n=FS.lookupPath(r,{follow:!t});e=n.node}else{e=r}if(!e.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}e.node_ops.setattr(e,{mode:i&4095|e.mode&~4095,timestamp:Date.now()})},lchmod:function(e,r){FS.chmod(e,r,true)},fchmod:function(r,i){var e=FS.getStream(r);if(!e){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(e.node,i)},chown:function(r,n,o,i){var e;if(typeof r==="string"){var t=FS.lookupPath(r,{follow:!i});e=t.node}else{e=r}if(!e.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}e.node_ops.setattr(e,{timestamp:Date.now()})},lchown:function(e,r,i){FS.chown(e,r,i,true)},fchown:function(r,i,t){var e=FS.getStream(r);if(!e){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(e.node,i,t)},truncate:function(r,i){if(i<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var e;if(typeof r==="string"){var n=FS.lookupPath(r,{follow:true});e=n.node}else{e=r}if(!e.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(e.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(e.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var t=FS.nodePermissions(e,"w");if(t){throw new FS.ErrnoError(t)}e.node_ops.setattr(e,{size:i,timestamp:Date.now()})},ftruncate:function(r,i){var e=FS.getStream(r);if(!e){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((e.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(e.node,i)},utime:function(r,i,t){var n=FS.lookupPath(r,{follow:true});var e=n.node;e.node_ops.setattr(e,{timestamp:Math.max(i,t)})},open:function(r,e,t,u,f){if(r===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}e=typeof e==="string"?FS.modeStringToFlags(e):e;t=typeof t==="undefined"?438:t;if(e&64){t=t&4095|32768}else{t=0}var i;if(typeof r==="object"){i=r}else{r=PATH.normalize(r);try{var c=FS.lookupPath(r,{follow:!(e&131072)});i=c.node}catch(l){}}var a=false;if(e&64){if(i){if(e&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{i=FS.mknod(r,t,0);a=true}}if(!i){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(i.mode)){e&=~512}if(!a){var s=FS.mayOpen(i,e);if(s){throw new FS.ErrnoError(s)}}if(e&512){FS.truncate(i,0)}e&=~(128|512);var n=FS.createStream({node:i,path:FS.getPath(i),flags:e,seekable:true,position:0,stream_ops:i.stream_ops,ungotten:[],error:false},u,f);if(n.stream_ops.open){n.stream_ops.open(n)}if(Module["logReadFiles"]&&!(e&1)){if(!FS.readFiles)FS.readFiles={};if(!(r in FS.readFiles)){FS.readFiles[r]=1;Module["printErr"]("read file: "+r)}}try{if(FS.trackingDelegate["onOpenFile"]){var o=0;if((e&2097155)!==1){o|=FS.tracking.openFlags.READ}if((e&2097155)!==0){o|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](r,o)}}catch(l){console.log("FS.trackingDelegate['onOpenFile']('"+r+"', flags) threw an exception: "+l.message)}return n},close:function(e){try{if(e.stream_ops.close){e.stream_ops.close(e)}}catch(r){throw r}finally{FS.closeStream(e.fd)}},llseek:function(e,r,i){if(!e.seekable||!e.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}e.position=e.stream_ops.llseek(e,r,i);e.ungotten=[];return e.position},read:function(e,o,a,i,r){if(i<0||r<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((e.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(e.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!e.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var t=true;if(typeof r==="undefined"){r=e.position;t=false}else if(!e.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var n=e.stream_ops.read(e,o,a,i,r);if(!t)e.position+=n;
- return n},write:function(e,o,a,i,r,s){if(i<0||r<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((e.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(e.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!e.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(e.flags&1024){FS.llseek(e,0,2)}var t=true;if(typeof r==="undefined"){r=e.position;t=false}else if(!e.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var n=e.stream_ops.write(e,o,a,i,r,s);if(!t)e.position+=n;try{if(e.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](e.path)}catch(f){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+f.message)}return n},allocate:function(e,r,i){if(r<0||i<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((e.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(e.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!e.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}e.stream_ops.allocate(e,r,i)},mmap:function(e,r,i,t,n,o,a){if((e.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!e.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return e.stream_ops.mmap(e,r,i,t,n,o,a)},msync:function(e,r,i,t,n){if(!e||!e.stream_ops.msync){return 0}return e.stream_ops.msync(e,r,i,t,n)},munmap:function(e){return 0},ioctl:function(e,r,i){if(!e.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return e.stream_ops.ioctl(e,r,i)},readFile:function(t,e){e=e||{};e.flags=e.flags||"r";e.encoding=e.encoding||"binary";if(e.encoding!=="utf8"&&e.encoding!=="binary"){throw new Error('Invalid encoding type "'+e.encoding+'"')}var r;var n=FS.open(t,e.flags);var a=FS.stat(t);var o=a.size;var i=new Uint8Array(o);FS.read(n,i,0,o,0);if(e.encoding==="utf8"){r=UTF8ArrayToString(i,0)}else if(e.encoding==="binary"){r=i}FS.close(n);return r},writeFile:function(n,r,e){e=e||{};e.flags=e.flags||"w";e.encoding=e.encoding||"utf8";if(e.encoding!=="utf8"&&e.encoding!=="binary"){throw new Error('Invalid encoding type "'+e.encoding+'"')}var i=FS.open(n,e.flags,e.mode);if(e.encoding==="utf8"){var t=new Uint8Array(lengthBytesUTF8(r)+1);var o=stringToUTF8Array(r,t,0,t.length);FS.write(i,t,0,o,0,e.canOwn)}else if(e.encoding==="binary"){FS.write(i,r,0,r.length,0,e.canOwn)}FS.close(i)},cwd:function(){return FS.currentPath},chdir:function(i){var e=FS.lookupPath(i,{follow:true});if(!FS.isDir(e.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var r=FS.nodePermissions(e.node,"x");if(r){throw new FS.ErrnoError(r)}FS.currentPath=e.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(r,i,t,e,n){return e}});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 e;if(typeof crypto!=="undefined"){var r=new Uint8Array(1);e=function(){crypto.getRandomValues(r);return r[0]}}else if(ENVIRONMENT_IS_NODE){e=function(){return require("crypto").randomBytes(1)[0]}}else{e=function(){return Math.random()*256|0}}FS.createDevice("/dev","random",e);FS.createDevice("/dev","urandom",e);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},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 e=FS.open("/dev/stdin","r");HEAP32[_stdin>>2]=FS.getPtrForStream(e);assert(e.fd===0,"invalid handle for stdin ("+e.fd+")");var r=FS.open("/dev/stdout","w");HEAP32[_stdout>>2]=FS.getPtrForStream(r);assert(r.fd===1,"invalid handle for stdout ("+r.fd+")");var i=FS.open("/dev/stderr","w");HEAP32[_stderr>>2]=FS.getPtrForStream(i);assert(i.fd===2,"invalid handle for stderr ("+i.fd+")")},ensureErrnoError:function(){if(FS.ErrnoError)return;FS.ErrnoError=function e(e,r){this.node=r;this.setErrno=function(e){this.errno=e;for(var r in ERRNO_CODES){if(ERRNO_CODES[r]===e){this.code=r;break}}};this.setErrno(e);this.message=ERRNO_MESSAGES[e]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach(function(e){FS.genericErrors[e]=new FS.ErrnoError(e);FS.genericErrors[e].stack="<generic error, no stack>"})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices()},init:function(e,r,i){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"]=e||Module["stdin"];Module["stdout"]=r||Module["stdout"];Module["stderr"]=i||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;for(var e=0;e<FS.streams.length;e++){var r=FS.streams[e];if(!r){continue}FS.close(r)}},getMode:function(r,i){var e=0;if(r)e|=292|73;if(i)e|=146;return e},joinPath:function(r,i){var e=PATH.join.apply(null,r);if(i&&e[0]=="/")e=e.substr(1);return e},absolutePath:function(e,r){return PATH.resolve(r,e)},standardizePath:function(e){return PATH.normalize(e)},findObject:function(r,i){var e=FS.analyzePath(r,i);if(e.exists){return e.object}else{___setErrNo(e.error);return null}},analyzePath:function(i,t){try{var r=FS.lookupPath(i,{follow:!t});i=r.path}catch(n){}var e={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var r=FS.lookupPath(i,{parent:true});e.parentExists=true;e.parentPath=r.path;e.parentObject=r.node;e.name=PATH.basename(i);r=FS.lookupPath(i,{follow:!t});e.exists=true;e.path=r.path;e.object=r.node;e.name=r.node.name;e.isRoot=r.path==="/"}catch(n){e.error=n.errno}return e},createFolder:function(e,r,i,t){var n=PATH.join2(typeof e==="string"?e:FS.getPath(e),r);var o=FS.getMode(i,t);return FS.mkdir(n,o)},createPath:function(e,n,o,a){e=typeof e==="string"?e:FS.getPath(e);var i=n.split("/").reverse();while(i.length){var t=i.pop();if(!t)continue;var r=PATH.join2(e,t);try{FS.mkdir(r)}catch(s){}e=r}return r},createFile:function(e,r,a,i,t){var n=PATH.join2(typeof e==="string"?e:FS.getPath(e),r);var o=FS.getMode(i,t);return FS.create(n,o)},createDataFile:function(r,a,e,u,l,f){var d=a?PATH.join2(typeof r==="string"?r:FS.getPath(r),a):r;var n=FS.getMode(u,l);var t=FS.create(d,n);if(e){if(typeof e==="string"){var s=new Array(e.length);for(var i=0,c=e.length;i<c;++i)s[i]=e.charCodeAt(i);e=s}FS.chmod(t,n|146);var o=FS.open(t,"w");FS.write(o,e,0,e.length,0,f);FS.close(o);FS.chmod(t,n)}return t},createDevice:function(r,n,i,e){var o=PATH.join2(typeof r==="string"?r:FS.getPath(r),n);var a=FS.getMode(!!i,!!e);if(!FS.createDevice.major)FS.createDevice.major=64;var t=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(t,{open:function(e){e.seekable=false},close:function(r){if(e&&e.buffer&&e.buffer.length){e(10)}},read:function(n,o,a,s,f){var r=0;for(var t=0;t<s;t++){var e;try{e=i()}catch(l){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(e===undefined&&r===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(e===null||e===undefined)break;r++;o[a+t]=e}if(r){n.node.timestamp=Date.now()}return r},write:function(t,n,o,i,a){for(var r=0;r<i;r++){try{e(n[o+r])}catch(s){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(i){t.node.timestamp=Date.now()}return r}});return FS.mkdev(o,a,t)},createLink:function(e,r,i,n,o){var t=PATH.join2(typeof e==="string"?e:FS.getPath(e),r);return FS.symlink(i,t)},forceLoadFile:function(e){if(e.isDevice||e.isFolder||e.link||e.contents)return true;var r=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{e.contents=intArrayFromString(Module["read"](e.url),true);e.usedBytes=e.contents.length}catch(i){r=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!r)___setErrNo(ERRNO_CODES.EIO);return r},createLazyFile:function(a,l,r,s,f){function t(){this.lengthKnown=false;this.chunks=[]}t.prototype.get=function c(e){if(e>this.length-1||e<0){return undefined}var r=e%this.chunkSize;var i=e/this.chunkSize|0;return this.getter(i)[r]};t.prototype.setDataGetter=function d(e){this.getter=e};t.prototype.cacheLength=function h(){var e=new XMLHttpRequest;e.open("HEAD",r,false);e.send(null);if(!(e.status>=200&&e.status<300||e.status===304))throw new Error("Couldn't load "+r+". Status: "+e.status);var i=Number(e.getResponseHeader("Content-length"));var o;var a=(o=e.getResponseHeader("Accept-Ranges"))&&o==="bytes";var t=1024*1024;if(!a)t=i;var s=function(o,n){if(o>n)throw new Error("invalid range ("+o+", "+n+") or no bytes requested!");if(n>i-1)throw new Error("only "+i+" bytes available! programmer error!");var e=new XMLHttpRequest;e.open("GET",r,false);if(i!==t)e.setRequestHeader("Range","bytes="+o+"-"+n);if(typeof Uint8Array!="undefined")e.responseType="arraybuffer";if(e.overrideMimeType){e.overrideMimeType("text/plain; charset=x-user-defined")}e.send(null);if(!(e.status>=200&&e.status<300||e.status===304))throw new Error("Couldn't load "+r+". Status: "+e.status);if(e.response!==undefined){return new Uint8Array(e.response||[])}else{return intArrayFromString(e.responseText||"",true)}};var n=this;n.setDataGetter(function(e){var o=e*t;var r=(e+1)*t-1;r=Math.min(r,i-1);if(typeof n.chunks[e]==="undefined"){n.chunks[e]=s(o,r)}if(typeof n.chunks[e]==="undefined")throw new Error("doXHR failed!");return n.chunks[e]});this._length=i;this._chunkSize=t;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 n=new t;Object.defineProperty(n,"length",{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}});Object.defineProperty(n,"chunkSize",{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}});var i={isDevice:false,contents:n}}else{var i={isDevice:false,url:r}}var e=FS.createFile(a,l,i,s,f);if(i.contents){e.contents=i.contents}else if(i.url){e.contents=null;e.url=i.url}Object.defineProperty(e,"usedBytes",{get:function(){return this.contents.length}});var o={};var u=Object.keys(e.stream_ops);u.forEach(function(r){var i=e.stream_ops[r];o[r]=function t(){if(!FS.forceLoadFile(e)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return i.apply(null,arguments)}});o.read=function m(s,o,a,f,t){if(!FS.forceLoadFile(e)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var i=s.node.contents;if(t>=i.length)return 0;var n=Math.min(i.length-t,f);assert(n>=0);if(i.slice){for(var r=0;r<n;r++){o[a+r]=i[t+r]}}else{for(var r=0;r<n;r++){o[a+r]=i.get(t+r)}}return n};e.stream_ops=o;return e},createPreloadedFile:function(r,o,i,d,c,a,e,l,u,s){Browser.init();var n=o?PATH.resolve(PATH.join2(r,o)):r;var t=getUniqueRunDependency("cp "+n);function f(f){function h(e){if(s)s();if(!l){FS.createDataFile(r,o,e,d,c,u)}if(a)a();removeRunDependency(t)}var i=false;Module["preloadPlugins"].forEach(function(r){if(i)return;if(r["canHandle"](n)){r["handle"](f,n,h,function(){if(e)e();removeRunDependency(t)});i=true}});if(!i)h(f)}addRunDependency(t);if(typeof i=="string"){Browser.asyncLoad(i,function(e){f(e)},e)}else{f(i)}},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(t,i,e){i=i||function(){};e=e||function(){};var n=FS.indexedDB();try{var r=n.open(FS.DB_NAME(),FS.DB_VERSION)}catch(o){return e(o)}r.onupgradeneeded=function a(){console.log("creating db");var e=r.result;e.createObjectStore(FS.DB_STORE_NAME)};r.onsuccess=function s(){var l=r.result;var a=l.transaction([FS.DB_STORE_NAME],"readwrite");var u=a.objectStore(FS.DB_STORE_NAME);var o=0,n=0,s=t.length;function f(){if(n==0)i();else e()}t.forEach(function(e){var r=u.put(FS.analyzePath(e).object.contents,e);r.onsuccess=function i(){o++;if(o+n==s)f()};r.onerror=function t(){n++;if(o+n==s)f()}});a.onerror=e};r.onerror=e},loadFilesFromDB:function(t,i,e){i=i||function(){};e=e||function(){};var n=FS.indexedDB();try{var r=n.open(FS.DB_NAME(),FS.DB_VERSION)}catch(o){return e(o)}r.onupgradeneeded=e;r.onsuccess=function a(){var l=r.result;try{var a=l.transaction([FS.DB_STORE_NAME],"readonly")}catch(u){e(u);return}var c=a.objectStore(FS.DB_STORE_NAME);var o=0,n=0,s=t.length;function f(){if(n==0)i();else e()}t.forEach(function(e){var r=c.get(e);r.onsuccess=function i(){if(FS.analyzePath(e).exists){FS.unlink(e)}FS.createDataFile(PATH.dirname(e),PATH.basename(e),r.result,true,true,true);o++;if(o+n==s)f()};r.onerror=function t(){n++;if(o+n==s)f()}});a.onerror=e};r.onerror=e}};function _fflush(e){}Module["_strlen"]=_strlen;function _GetTitleGain(){Module["printErr"]("missing function: GetTitleGain");abort(-1)}Module["_i64Add"]=_i64Add;var _fabs=Math_abs;var _floor=Math_floor;var _sqrt=Math_sqrt;function _hip_set_errorf(){Module["printErr"]("missing function: hip_set_errorf");abort(-1)}var _llvm_pow_f32=Math_pow;function _emscripten_set_main_loop_timing(e,r){Browser.mainLoop.timingMode=e;Browser.mainLoop.timingValue=r;if(!Browser.mainLoop.func){return 1}if(e==0){Browser.mainLoop.scheduler=function i(){setTimeout(Browser.mainLoop.runner,r)};Browser.mainLoop.method="timeout"}else if(e==1){Browser.mainLoop.scheduler=function t(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}return 0}function _emscripten_set_main_loop(e,r,n,i,o){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=e;Browser.mainLoop.arg=i;var t=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function a(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var a=Date.now();var r=Browser.mainLoop.queue.shift();r.func(r.arg);if(Browser.mainLoop.remainingBlockers){var n=Browser.mainLoop.remainingBlockers;var o=n%1==0?n-1:Math.floor(n);if(r.counted){Browser.mainLoop.remainingBlockers=o}else{o=o+.5;Browser.mainLoop.remainingBlockers=(8*n+o)/9}}console.log('main loop blocker "'+r.name+'" took '+(Date.now()-a)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(t<Browser.mainLoop.currentlyRunningMainloop)return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(function(){if(typeof i!=="undefined"){Runtime.dynCall("vi",e,[i])}else{Runtime.dynCall("v",e)}});if(t<Browser.mainLoop.currentlyRunningMainloop)return;if(typeof SDL==="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!o){if(r&&r>0)_emscripten_set_main_loop_timing(0,1e3/r);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(n){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var e=Browser.mainLoop.timingMode;var r=Browser.mainLoop.timingValue;var i=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(i,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(e,r);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var i=Module["statusMessage"]||"Please wait...";var e=Browser.mainLoop.remainingBlockers;var r=Browser.mainLoop.expectedBlockers;if(e){if(e<r){Module["setStatus"](i+" ("+(r-e)+"/"+r+")")}else{Module["setStatus"](i)}}else{Module["setStatus"]("")}}},runIter:function(r){if(ABORT)return;if(Module["preMainLoop"]){var i=Module["preMainLoop"]();if(i===false){return}}try{r()}catch(e){if(e instanceof ExitStatus){return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}if(Module["postMainLoop"])Module["postMainLoop"]()}},isFullScreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(!Module["preloadPlugins"])Module["preloadPlugins"]=[];if(Browser.initted)return;Browser.initted=true;try{new Blob;Browser.hasBlobConstructor=true}catch(n){Browser.hasBlobConstructor=false;console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder!="undefined"?MozBlobBuilder:typeof WebKitBlobBuilder!="undefined"?WebKitBlobBuilder:!Browser.hasBlobConstructor?console.log("warning: no BlobBuilder"):null;Browser.URLObject=typeof window!="undefined"?window.URL?window.URL:window.webkitURL:undefined;if(!Module.noImageDecoding&&typeof Browser.URLObject==="undefined"){console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");Module.noImageDecoding=true}var i={};i["canHandle"]=function o(e){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)};i["handle"]=function a(i,t,o,a){var r=null;if(Browser.hasBlobConstructor){try{r=new Blob([i],{type:Browser.getMimetype(t)});if(r.size!==i.length){r=new Blob([new Uint8Array(i).buffer],{type:Browser.getMimetype(t)})}}catch(f){Runtime.warnOnce("Blob constructor present but fails: "+f+"; falling back to blob builder")}}if(!r){var s=new Browser.BlobBuilder;s.append(new Uint8Array(i).buffer);r=s.getBlob()}var n=Browser.URLObject.createObjectURL(r);var e=new Image;e.onload=function l(){assert(e.complete,"Image "+t+" could not be decoded");var r=document.createElement("canvas");r.width=e.width;r.height=e.height;var a=r.getContext("2d");a.drawImage(e,0,0);Module["preloadedImages"][t]=r;Browser.URLObject.revokeObjectURL(n);if(o)o(i)};e.onerror=function u(e){console.log("Image "+n+" could not be decoded");if(a)a()};e.src=n};Module["preloadPlugins"].push(i);var t={};t["canHandle"]=function s(e){return!Module.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};t["handle"]=function f(t,r,a,o){var i=false;function n(e){if(i)return;i=true;Module["preloadedAudios"][r]=e;if(a)a(t)}function s(){if(i)return;i=true;Module["preloadedAudios"][r]=new Audio;if(o)o()}if(Browser.hasBlobConstructor){try{var f=new Blob([t],{type:Browser.getMimetype(r)})}catch(u){return s()}var l=Browser.URLObject.createObjectURL(f);var e=new Audio;e.addEventListener("canplaythrough",function(){n(e)},false);e.onerror=function c(a){if(i)return;console.log("warning: browser could not fully decode audio "+r+", trying slower base64 approach");function o(a){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var n="=";var e="";var i=0;var r=0;for(var o=0;o<a.length;o++){i=i<<8|a[o];r+=8;while(r>=6){var s=i>>r-6&63;r-=6;e+=t[s]}}if(r==2){e+=t[(i&3)<<4];e+=n+n}else if(r==4){e+=t[(i&15)<<2];e+=n}return e}e.src="data:audio/x-"+r.substr(-3)+";base64,"+o(t);n(e)};e.src=l;Browser.safeSetTimeout(function(){n(e)},1e4)}else{return s()}};Module["preloadPlugins"].push(t);var e=Module["canvas"];function r(){Browser.pointerLock=document["pointerLockElement"]===e||document["mozPointerLockElement"]===e||document["webkitPointerLockElement"]===e||document["msPointerLockElement"]===e}if(e){e.requestPointerLock=e["requestPointerLock"]||e["mozRequestPointerLock"]||e["webkitRequestPointerLock"]||e["msRequestPointerLock"]||function(){};e.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};e.exitPointerLock=e.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",r,false);document.addEventListener("mozpointerlockchange",r,false);document.addEventListener("webkitpointerlockchange",r,false);document.addEventListener("mspointerlockchange",r,false);if(Module["elementPointerLock"]){e.addEventListener("click",function(r){if(!Browser.pointerLock&&e.requestPointerLock){e.requestPointerLock();r.preventDefault()}},false)}}},createContext:function(i,e,s,n){if(e&&Module.ctx&&i==Module.canvas)return Module.ctx;var r;var t;if(e){var o={antialias:false,alpha:false};if(n){for(var a in n){o[a]=n[a]}}t=GL.createContext(i,o);if(t){r=GL.getContext(t).GLctx}i.style.backgroundColor="black"}else{r=i.getContext("2d")}if(!r)return null;if(s){if(!e)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=r;if(e)GL.makeContextCurrent(t);Module.useWebGL=e;Browser.moduleContextCreatedCallbacks.forEach(function(e){e()});Browser.init()}return r},destroyContext:function(e,r,i){},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function(n,o,t){Browser.lockPointer=n;Browser.resizeCanvas=o;Browser.vrDevice=t;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var e=Module["canvas"];function i(){Browser.isFullScreen=false;var r=e.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===r){e.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||function(){};e.cancelFullScreen=e.cancelFullScreen.bind(document);if(Browser.lockPointer)e.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{r.parentNode.insertBefore(e,r);r.parentNode.removeChild(r);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(e)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",i,false);document.addEventListener("mozfullscreenchange",i,false);document.addEventListener("webkitfullscreenchange",i,false);document.addEventListener("MSFullscreenChange",i,false)}var r=document.createElement("div");e.parentNode.insertBefore(r,e);r.appendChild(e);r.requestFullScreen=r["requestFullScreen"]||r["mozRequestFullScreen"]||r["msRequestFullscreen"]||(r["webkitRequestFullScreen"]?function(){r["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(t){r.requestFullScreen({vrDisplay:t})}else{r.requestFullScreen()}},nextRAF:0,fakeRequestAnimationFrame:function(r){var e=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=e+1e3/60}else{while(e+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var i=Math.max(Browser.nextRAF-e,0);setTimeout(r,i)},requestAnimationFrame:function d(e){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(e)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(e)}},safeCallback:function(e){return function(){if(!ABORT)return e.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var e=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];e.forEach(function(e){e()})}},safeRequestAnimationFrame:function(e){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){e()}else{Browser.queuedAsyncCallbacks.push(e)}})},safeSetTimeout:function(e,r){Module["noExitRuntime"]=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){e()}else{Browser.queuedAsyncCallbacks.push(e)}},r)},safeSetInterval:function(e,r){Module["noExitRuntime"]=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){e()}},r)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(e)},getMovementX:function(e){return e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||0},getMovementY:function(e){return e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||0},getMouseWheelDelta:function(e){var r=0;switch(e.type){case"DOMMouseScroll":r=e.detail;break;case"mousewheel":r=e.wheelDelta;break;case"wheel":r=e["deltaY"];break;default:throw"unrecognized mouse wheel event: "+e.type}return r},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Browser.pointerLock){if(e.type!="mousemove"&&"mozMovementX"in e){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(e);Browser.mouseMovementY=Browser.getMovementY(e)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var i=Module["canvas"].getBoundingClientRect();var d=Module["canvas"].width;var l=Module["canvas"].height;var u=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var c=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(e.type==="touchstart"||e.type==="touchend"||e.type==="touchmove"){var r=e.touch;if(r===undefined){return}var a=r.pageX-(u+i.left);var s=r.pageY-(c+i.top);a=a*(d/i.width);s=s*(l/i.height);var t={x:a,y:s};if(e.type==="touchstart"){Browser.lastTouches[r.identifier]=t;Browser.touches[r.identifier]=t}else if(e.type==="touchend"||e.type==="touchmove"){var f=Browser.touches[r.identifier];if(!f)f=t;Browser.lastTouches[r.identifier]=f;Browser.touches[r.identifier]=t}return}var n=e.pageX-(u+i.left);var o=e.pageY-(c+i.top);n=n*(d/i.width);o=o*(l/i.height);Browser.mouseMovementX=n-Browser.mouseX;Browser.mouseMovementY=o-Browser.mouseY;Browser.mouseX=n;Browser.mouseY=o}},xhrLoad:function(i,t,r){var e=new XMLHttpRequest;e.open("GET",i,true);e.responseType="arraybuffer";e.onload=function n(){if(e.status==200||e.status==0&&e.response){t(e.response)}else{r()}};e.onerror=r;e.send(null)},asyncLoad:function(e,t,r,i){Browser.xhrLoad(e,function(r){assert(r,'Loading data file "'+e+'" failed (no arrayBuffer).');t(new Uint8Array(r));if(!i)removeRunDependency("al "+e)},function(i){if(r){r()}else{throw'Loading data file "'+e+'" failed.'}});if(!i)addRunDependency("al "+e)},resizeListeners:[],updateResizeListeners:function(){var e=Module["canvas"];Browser.resizeListeners.forEach(function(r){r(e.width,e.height)})},setCanvasSize:function(e,r,i){var t=Module["canvas"];Browser.updateCanvasDimensions(t,e,r);if(!i)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL!="undefined"){var e=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];e=e|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=e}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var e=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];e=e&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=e}Browser.updateResizeListeners()},updateCanvasDimensions:function(e,t,n){if(t&&n){e.widthNative=t;e.heightNative=n}else{t=e.widthNative;n=e.heightNative}var r=t;var i=n;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(r/i<Module["forcedAspectRatio"]){r=Math.round(i*Module["forcedAspectRatio"])}else{i=Math.round(r/Module["forcedAspectRatio"])}}if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===e.parentNode&&typeof screen!="undefined"){var o=Math.min(screen.width/r,screen.height/i);r=Math.round(r*o);i=Math.round(i*o)}if(Browser.resizeCanvas){if(e.width!=r)e.width=r;if(e.height!=i)e.height=i;if(typeof e.style!="undefined"){e.style.removeProperty("width");e.style.removeProperty("height")}}else{if(e.width!=t)e.width=t;if(e.height!=n)e.height=n;if(typeof e.style!="undefined"){if(r!=t||i!=n){e.style.setProperty("width",r+"px","important");e.style.setProperty("height",i+"px","important")}else{e.style.removeProperty("width");e.style.removeProperty("height")}}}},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var e=Browser.nextWgetRequestHandle;Browser.nextWgetRequestHandle++;return e}};var _llvm_sqrt_f64=Math_sqrt;function __exit(e){Module["exit"](e)}function _exit(e){__exit(e)}function _hip_decode_init(){Module["printErr"]("missing function: hip_decode_init");abort(-1)}function _hip_set_msgf(){Module["printErr"]("missing function: hip_set_msgf");abort(-1)}var _sin=Math_sin;function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;
- return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function _hip_decode_exit(){Module["printErr"]("missing function: hip_decode_exit");abort(-1)}var _atan=Math_atan;var _BDtoIHigh=true;var _ceil=Math_ceil;function _mkport(){throw"TODO"}var SOCKFS={mount:function(e){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=function(r,e){if("function"===typeof e){this._callbacks[r]=e}return this};Module["websocket"].emit=function(e,r){if("function"===typeof this._callbacks[e]){this._callbacks[e].call(this,r)}};return FS.createNode(null,"/",16384|511,0)},createSocket:function(o,i,e){var a=i==1;if(e){assert(a==(e==6))}var r={family:o,type:i,protocol:e,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var t=SOCKFS.nextname();var n=FS.createNode(SOCKFS.root,t,49152,0);n.sock=r;var s=FS.createStream({path:t,node:n,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});r.stream=s;return r},getSocket:function(r){var e=FS.getStream(r);if(!e||!FS.isSocket(e.node.mode)){return null}return e.node.sock},stream_ops:{poll:function(r){var e=r.node.sock;return e.sock_ops.poll(e)},ioctl:function(r,i,t){var e=r.node.sock;return e.sock_ops.ioctl(e,i,t)},read:function(i,t,n,o,a){var r=i.node.sock;var e=r.sock_ops.recvmsg(r,o);if(!e){return 0}t.set(e.buffer,n);return e.buffer.length},write:function(r,i,t,n,o){var e=r.node.sock;return e.sock_ops.sendmsg(e,i,t,n)},close:function(r){var e=r.node.sock;e.sock_ops.close(e)}},nextname:function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"},websocket_sock_ops:{createPeer:function(t,r,n){var e;if(typeof r==="object"){e=r;r=null;n=null}if(e){if(e._socket){r=e._socket.remoteAddress;n=e._socket.remotePort}else{var s=/ws[s]?:\/\/([^:]+):(\d+)/.exec(e.url);if(!s){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}r=s[1];n=parseInt(s[2],10)}}else{try{var f=Module["websocket"]&&"object"===typeof Module["websocket"];var i="ws:#".replace("#","//");if(f){if("string"===typeof Module["websocket"]["url"]){i=Module["websocket"]["url"]}}if(i==="ws://"||i==="wss://"){var l=r.split("/");i=i+l[0]+":"+n+"/"+l.slice(1).join("/")}var o="binary";if(f){if("string"===typeof Module["websocket"]["subprotocol"]){o=Module["websocket"]["subprotocol"]}}o=o.replace(/^ +| +$/g,"").split(/ *, */);var u=ENVIRONMENT_IS_NODE?{protocol:o.toString()}:o;var c=ENVIRONMENT_IS_NODE?require("ws"):window["WebSocket"];e=new c(i,u);e.binaryType="arraybuffer"}catch(d){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var a={addr:r,port:n,socket:e,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(t,a);SOCKFS.websocket_sock_ops.handlePeerEvents(t,a);if(t.type===2&&typeof t.sport!=="undefined"){a.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(t.sport&65280)>>8,t.sport&255]))}return a},getPeer:function(e,r,i){return e.peers[r+":"+i]},addPeer:function(r,e){r.peers[e.addr+":"+e.port]=e},removePeer:function(r,e){delete r.peers[e.addr+":"+e.port]},handlePeerEvents:function(r,e){var i=true;var t=function(){Module["websocket"].emit("open",r.stream.fd);try{var i=e.dgram_send_queue.shift();while(i){e.socket.send(i);i=e.dgram_send_queue.shift()}}catch(t){e.socket.close()}};function n(t){assert(typeof t!=="string"&&t.byteLength!==undefined);t=new Uint8Array(t);var n=i;i=false;if(n&&t.length===10&&t[0]===255&&t[1]===255&&t[2]===255&&t[3]===255&&t[4]==="p".charCodeAt(0)&&t[5]==="o".charCodeAt(0)&&t[6]==="r".charCodeAt(0)&&t[7]==="t".charCodeAt(0)){var o=t[8]<<8|t[9];SOCKFS.websocket_sock_ops.removePeer(r,e);e.port=o;SOCKFS.websocket_sock_ops.addPeer(r,e);return}r.recv_queue.push({addr:e.addr,port:e.port,data:t});Module["websocket"].emit("message",r.stream.fd)}if(ENVIRONMENT_IS_NODE){e.socket.on("open",t);e.socket.on("message",function(e,r){if(!r.binary){return}n(new Uint8Array(e).buffer)});e.socket.on("close",function(){Module["websocket"].emit("close",r.stream.fd)});e.socket.on("error",function(e){r.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[r.stream.fd,r.error,"ECONNREFUSED: Connection refused"])})}else{e.socket.onopen=t;e.socket.onclose=function(){Module["websocket"].emit("close",r.stream.fd)};e.socket.onmessage=function o(e){n(e.data)};e.socket.onerror=function(e){r.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[r.stream.fd,r.error,"ECONNREFUSED: Connection refused"])}}},poll:function(r){if(r.type===1&&r.server){return r.pending.length?64|1:0}var i=0;var e=r.type===1?SOCKFS.websocket_sock_ops.getPeer(r,r.daddr,r.dport):null;if(r.recv_queue.length||!e||e&&e.socket.readyState===e.socket.CLOSING||e&&e.socket.readyState===e.socket.CLOSED){i|=64|1}if(!e||e&&e.socket.readyState===e.socket.OPEN){i|=4}if(e&&e.socket.readyState===e.socket.CLOSING||e&&e.socket.readyState===e.socket.CLOSED){i|=16}return i},ioctl:function(e,i,t){switch(i){case 21531:var r=0;if(e.recv_queue.length){r=e.recv_queue[0].data.length}HEAP32[t>>2]=r;return 0;default:return ERRNO_CODES.EINVAL}},close:function(e){if(e.server){try{e.server.close()}catch(n){}e.server=null}var i=Object.keys(e.peers);for(var r=0;r<i.length;r++){var t=e.peers[i[r]];try{t.socket.close()}catch(n){}SOCKFS.websocket_sock_ops.removePeer(e,t)}return 0},bind:function(e,i,t){if(typeof e.saddr!=="undefined"||typeof e.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}e.saddr=i;e.sport=t||_mkport();if(e.type===2){if(e.server){e.server.close();e.server=null}try{e.sock_ops.listen(e,0)}catch(r){if(!(r instanceof FS.ErrnoError))throw r;if(r.errno!==ERRNO_CODES.EOPNOTSUPP)throw r}}},connect:function(e,t,n){if(e.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof e.daddr!=="undefined"&&typeof e.dport!=="undefined"){var r=SOCKFS.websocket_sock_ops.getPeer(e,e.daddr,e.dport);if(r){if(r.socket.readyState===r.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var i=SOCKFS.websocket_sock_ops.createPeer(e,t,n);e.daddr=i.addr;e.dport=i.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)},listen:function(e,t){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(e.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var r=require("ws").Server;var i=e.saddr;e.server=new r({host:i,port:e.sport});Module["websocket"].emit("listen",e.stream.fd);e.server.on("connection",function(i){if(e.type===1){var r=SOCKFS.createSocket(e.family,e.type,e.protocol);var t=SOCKFS.websocket_sock_ops.createPeer(r,i);r.daddr=t.addr;r.dport=t.port;e.pending.push(r);Module["websocket"].emit("connection",r.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(e,i);Module["websocket"].emit("connection",e.stream.fd)}});e.server.on("closed",function(){Module["websocket"].emit("close",e.stream.fd);e.server=null});e.server.on("error",function(r){e.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[e.stream.fd,e.error,"EHOSTUNREACH: Host is unreachable"])})},accept:function(e){if(!e.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var r=e.pending.shift();r.stream.flags=e.stream.flags;return r},getname:function(e,t){var r,i;if(t){if(e.daddr===undefined||e.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}r=e.daddr;i=e.dport}else{r=e.saddr||0;i=e.sport||0}return{addr:r,port:i}},sendmsg:function(r,i,o,a,t,n){if(r.type===2){if(t===undefined||n===undefined){t=r.daddr;n=r.dport}if(t===undefined||n===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{t=r.daddr;n=r.dport}var e=SOCKFS.websocket_sock_ops.getPeer(r,t,n);if(r.type===1){if(!e||e.socket.readyState===e.socket.CLOSING||e.socket.readyState===e.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(e.socket.readyState===e.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var s;if(i instanceof Array||i instanceof ArrayBuffer){s=i.slice(o,o+a)}else{s=i.buffer.slice(i.byteOffset+o,i.byteOffset+o+a)}if(r.type===2){if(!e||e.socket.readyState!==e.socket.OPEN){if(!e||e.socket.readyState===e.socket.CLOSING||e.socket.readyState===e.socket.CLOSED){e=SOCKFS.websocket_sock_ops.createPeer(r,t,n)}e.dgram_send_queue.push(s);return a}}try{e.socket.send(s);return a}catch(f){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}},recvmsg:function(r,s){if(r.type===1&&r.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var e=r.recv_queue.shift();if(!e){if(r.type===1){var i=SOCKFS.websocket_sock_ops.getPeer(r,r.daddr,r.dport);if(!i){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(i.socket.readyState===i.socket.CLOSING||i.socket.readyState===i.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var n=e.data.byteLength||e.data.length;var o=e.data.byteOffset||0;var a=e.data.buffer||e.data;var t=Math.min(s,n);var f={buffer:new Uint8Array(a,o,t),addr:e.addr,port:e.port};if(r.type===1&&t<n){var l=n-t;e.data=new Uint8Array(a,o+t,l);r.recv_queue.unshift(e)}return f}}};function _send(e,r,i,n){var t=SOCKFS.getSocket(e);if(!t){___setErrNo(ERRNO_CODES.EBADF);return-1}return _write(e,r,i)}function _pwrite(r,i,t,n){var e=FS.getStream(r);if(!e){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var o=HEAP8;return FS.write(e,o,i,t,n)}catch(a){FS.handleFSError(a);return-1}}function _write(r,i,t){var e=FS.getStream(r);if(!e){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var n=HEAP8;return FS.write(e,n,i,t)}catch(o){FS.handleFSError(o);return-1}}function _fileno(e){e=FS.getStreamFromPtr(e);if(!e)return-1;return e.fd}function _fwrite(o,e,a,r){var i=a*e;if(i==0)return 0;var s=_fileno(r);var t=_write(s,o,i);if(t==-1){var n=FS.getStreamFromPtr(r);if(n)n.error=true;return 0}else{return t/e|0}}function __reallyNegative(e){return e<0||e===0&&1/e===-Infinity}function __formatString(C,p){assert((p&3)===0);var t=C;var l=0;function c(e){var r;l=Runtime.prepVararg(l,e);if(e==="double"){r=(HEAP32[tempDoublePtr>>2]=HEAP32[p+l>>2],HEAP32[tempDoublePtr+4>>2]=HEAP32[p+(l+4)>>2],+HEAPF64[tempDoublePtr>>3]);l+=8}else if(e=="i64"){r=[HEAP32[p+l>>2],HEAP32[p+(l+4)>>2]];l+=8}else{assert((l&3)===0);e="i32";r=HEAP32[p+l>>2];l+=4}return r}var a=[];var S,r,i;while(1){var L=t;S=HEAP8[t>>0];if(S===0)break;r=HEAP8[t+1>>0];if(S==37){var M=false;var w=false;var v=false;var m=false;var F=false;e:while(1){switch(r){case 43:M=true;break;case 45:w=true;break;case 35:v=true;break;case 48:if(m){break e}else{m=true;break};case 32:F=true;break;default:break e}t++;r=HEAP8[t+1>>0]}var d=0;if(r==42){d=c("i32");t++;r=HEAP8[t+1>>0]}else{while(r>=48&&r<=57){d=d*10+(r-48);t++;r=HEAP8[t+1>>0]}}var y=false,o=-1;if(r==46){o=0;y=true;t++;r=HEAP8[t+1>>0];if(r==42){o=c("i32");t++}else{while(1){var O=HEAP8[t+1>>0];if(O<48||O>57)break;o=o*10+(O-48);t++}}r=HEAP8[t+1>>0]}if(o<0){o=6;y=false}var n;switch(String.fromCharCode(r)){case"h":var N=HEAP8[t+2>>0];if(N==104){t++;n=1}else{n=2}break;case"l":var N=HEAP8[t+2>>0];if(N==108){t++;n=8}else{n=4}break;case"L":case"q":case"j":n=8;break;case"z":case"t":case"I":n=4;break;default:n=null}if(n)t++;r=HEAP8[t+1>>0];switch(String.fromCharCode(r)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var P=r==100||r==105;n=n||4;var i=c("i"+n*8);var h=i;var e;if(n==8){i=Runtime.makeBigInt(i[0],i[1],r==117)}if(n<=4){var D=Math.pow(256,n)-1;i=(P?reSign:unSign)(i&D,n*8)}var E=Math.abs(i);var s="";if(r==100||r==105){if(n==8&&i64Math)e=i64Math.stringify(h[0],h[1],null);else e=reSign(i,8*n,1).toString(10)}else if(r==117){if(n==8&&i64Math)e=i64Math.stringify(h[0],h[1],true);else e=unSign(i,8*n,1).toString(10);i=Math.abs(i)}else if(r==111){e=(v?"0":"")+E.toString(8)}else if(r==120||r==88){s=v&&i!=0?"0x":"";if(n==8&&i64Math){if(h[1]){e=(h[1]>>>0).toString(16);var k=(h[0]>>>0).toString(16);while(k.length<8)k="0"+k;e+=k}else{e=(h[0]>>>0).toString(16)}}else if(i<0){i=-i;e=(E-1).toString(16);var T=[];for(var u=0;u<e.length;u++){T.push((15-parseInt(e[u],16)).toString(16))}e=T.join("");while(e.length<n*2)e="f"+e}else{e=E.toString(16)}if(r==88){s=s.toUpperCase();e=e.toUpperCase()}}else if(r==112){if(E===0){e="(nil)"}else{s="0x";e=E.toString(16)}}if(y){while(e.length<o){e="0"+e}}if(i>=0){if(M){s="+"+s}else if(F){s=" "+s}}if(e.charAt(0)=="-"){s="-"+s;e=e.substr(1)}while(s.length+e.length<d){if(w){e+=" "}else{if(m){e="0"+e}else{s=" "+s}}}e=s+e;e.split("").forEach(function(e){a.push(e.charCodeAt(0))});break};case"f":case"F":case"e":case"E":case"g":case"G":{var i=c("double");var e;if(isNaN(i)){e="nan";m=false}else if(!isFinite(i)){e=(i<0?"-":"")+"inf";m=false}else{var A=false;var b=Math.min(o,20);if(r==103||r==71){A=true;o=o||1;var R=parseInt(i.toExponential(b).split("e")[1],10);if(o>R&&R>=-4){r=(r==103?"f":"F").charCodeAt(0);o-=R+1}else{r=(r==103?"e":"E").charCodeAt(0);o--}b=Math.min(o,20)}if(r==101||r==69){e=i.toExponential(b);if(/[eE][-+]\d$/.test(e)){e=e.slice(0,-1)+"0"+e.slice(-1)}}else if(r==102||r==70){e=i.toFixed(b);if(i===0&&__reallyNegative(i)){e="-"+e}}var f=e.split("e");if(A&&!v){while(f[0].length>1&&f[0].indexOf(".")!=-1&&(f[0].slice(-1)=="0"||f[0].slice(-1)==".")){f[0]=f[0].slice(0,-1)}}else{if(v&&e.indexOf(".")==-1)f[0]+=".";while(o>b++)f[0]+="0"}e=f[0]+(f.length>1?"e"+f[1]:"");if(r==69)e=e.toUpperCase();if(i>=0){if(M){e="+"+e}else if(F){e=" "+e}}}while(e.length<d){if(w){e+=" "}else{if(m&&(e[0]=="-"||e[0]=="+")){e=e[0]+"0"+e.slice(1)}else{e=(m?"0":" ")+e}}}if(r<97)e=e.toUpperCase();e.split("").forEach(function(e){a.push(e.charCodeAt(0))});break};case"s":{var g=c("i8*");var _=g?_strlen(g):"(null)".length;if(y)_=Math.min(_,o);if(!w){while(_<d--){a.push(32)}}if(g){for(var u=0;u<_;u++){a.push(HEAPU8[g++>>0])}}else{a=a.concat(intArrayFromString("(null)".substr(0,_),true))}if(w){while(_<d--){a.push(32)}}break};case"c":{if(w)a.push(c("i8"));while(--d>0){a.push(32)}if(!w)a.push(c("i8"));break};case"n":{var B=c("i32*");HEAP32[B>>2]=a.length;break};case"%":{a.push(S);break};default:{for(var u=L;u<t+2;u++){a.push(HEAP8[u>>0])}}}t+=2}else{a.push(S);t+=1}}return a}function _fprintf(r,i,t){var e=__formatString(i,t);var n=Runtime.stackSave();var o=_fwrite(allocate(e,"i8",ALLOC_STACK),1,e.length,r);Runtime.stackRestore(n);return o}function _vfprintf(e,r,i){return _fprintf(e,r,HEAP32[i>>2])}function _emscripten_memcpy_big(e,r,i){HEAPU8.set(HEAPU8.subarray(r,r+i),e);return e}Module["_memcpy"]=_memcpy;var _log=Math_log;var _cos=Math_cos;var _llvm_pow_f64=Math_pow;function _sbrk(r){var e=_sbrk;if(!e.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);e.called=true;assert(Runtime.dynamicAlloc);e.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")}}var i=DYNAMICTOP;if(r!=0){var t=e.alloc(r);if(!t)return-1>>>0}return i}Module["_bitshift64Shl"]=_bitshift64Shl;function ___errno_location(){return ___errno_state}var _BItoD=true;function _hip_set_debugf(){Module["printErr"]("missing function: hip_set_debugf");abort(-1)}var _exp=Math_exp;function _time(e){var r=Date.now()/1e3|0;if(e){HEAP32[e>>2]=r}return r}function _hip_decode1_unclipped(){Module["printErr"]("missing function: hip_decode1_unclipped");abort(-1)}___errno_state=Runtime.staticAlloc(4);HEAP32[___errno_state>>2]=0;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;__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()}Module["requestFullScreen"]=function h(e,r,i){Browser.requestFullScreen(e,r,i)};Module["requestAnimationFrame"]=function m(e){Browser.requestAnimationFrame(e)};Module["setCanvasSize"]=function w(e,r,i){Browser.setCanvasSize(e,r,i)};Module["pauseMainLoop"]=function p(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function _(){Browser.mainLoop.resume()};Module["getUserMedia"]=function E(){Browser.getUserMedia()};Module["createContext"]=function v(e,r,i,t){return Browser.createContext(e,r,i,t)};__ATINIT__.push(function(){SOCKFS.root=FS.mount(SOCKFS,{},null)});STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE<TOTAL_MEMORY,"TOTAL_MEMORY not big enough for stack");var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(r,i,t,n){try{return Module["dynCall_iiii"](r,i,t,n)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiii(r,i,t,n,o){try{return Module["dynCall_iiiii"](r,i,t,n,o)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(r,i,t){try{Module["dynCall_vii"](r,i,t)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(r,i,t){try{return Module["dynCall_iii"](r,i,t)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiii(r,i,t,n,o){try{Module["dynCall_viiii"](r,i,t,n,o)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:Infinity};Module.asmLibraryArg={abort:abort,assert:assert,invoke_iiii:invoke_iiii,invoke_iiiii:invoke_iiiii,invoke_vii:invoke_vii,invoke_iii:invoke_iii,invoke_viiii:invoke_viiii,_fabs:_fabs,_sin:_sin,_exp:_exp,_llvm_pow_f64:_llvm_pow_f64,_send:_send,_VBR_encode_frame:_VBR_encode_frame,_abort:_abort,___setErrNo:___setErrNo,_vfprintf:_vfprintf,_hip_set_debugf:_hip_set_debugf,_floor:_floor,_fflush:_fflush,_pwrite:_pwrite,_strerror_r:_strerror_r,__exit:__exit,_GetTitleGain:_GetTitleGain,_emscripten_set_main_loop_timing:_emscripten_set_main_loop_timing,_fabsf:_fabsf,_sbrk:_sbrk,_atan:_atan,_llvm_pow_f32:_llvm_pow_f32,_InitGainAnalysis:_InitGainAnalysis,_emscripten_memcpy_big:_emscripten_memcpy_big,_fileno:_fileno,_hip_decode_exit:_hip_decode_exit,_sysconf:_sysconf,_cos:_cos,_mkport:_mkport,_floorf:_floorf,_hip_set_errorf:_hip_set_errorf,__reallyNegative:__reallyNegative,_write:_write,_emscripten_set_main_loop:_emscripten_set_main_loop,_AnalyzeSamples:_AnalyzeSamples,___errno_location:___errno_location,_log:_log,_init_xrpow_core_sse:_init_xrpow_core_sse,_hip_decode1_unclipped:_hip_decode1_unclipped,_fwrite:_fwrite,_time:_time,_fprintf:_fprintf,_strerror:_strerror,_ceil:_ceil,__formatString:__formatString,_sqrt:_sqrt,_hip_set_msgf:_hip_set_msgf,_exit:_exit,_hip_decode_init:_hip_decode_init,_llvm_sqrt_f64:_llvm_sqrt_f64,STACKTOP:STACKTOP,STACK_MAX:STACK_MAX,tempDoublePtr:tempDoublePtr,ABORT:ABORT,cttz_i8:cttz_i8,_stderr:_stderr};var asm=function(E,u,C){"use asm";var i=new E.Int8Array(C);var S=new E.Int16Array(C);var e=new E.Int32Array(C);var o=new E.Uint8Array(C);var Nr=new E.Uint16Array(C);var Yn=new E.Uint32Array(C);var r=new E.Float32Array(C);var f=new E.Float64Array(C);var t=u.STACKTOP|0;var Ei=u.STACK_MAX|0;var n=u.tempDoublePtr|0;var bn=u.ABORT|0;var ke=u.cttz_i8|0;var vi=u._stderr|0;var Er=0;var bi=0;var sn=0;var Jt=0;var Gt=E.NaN,er=E.Infinity;var xt=0,Zt=0,tn=0,ln=0,un=0,Lt=0,Vn=0,Wn=0,Kn=0;var m=0;var qt=0;var Ut=0;var Kt=0;var Mn=0;var Dn=0;var Ln=0;var Gn=0;var Xn=0;var Zn=0;var x=E.Math.floor;var p=E.Math.abs;var ae=E.Math.sqrt;var d=E.Math.pow;var N=E.Math.cos;var Lr=E.Math.sin;var jn=E.Math.tan;var qn=E.Math.acos;var zn=E.Math.asin;var cr=E.Math.atan;var Un=E.Math.atan2;var v=E.Math.exp;var Ve=E.Math.log;var hi=E.Math.ceil;var s=E.Math.imul;var On=E.Math.min;var U=E.Math.clz32;var j=u.abort;var gn=u.assert;var kn=u.invoke_iiii;var Sn=u.invoke_iiiii;var _n=u.invoke_vii;var wn=u.invoke_iii;var hn=u.invoke_viiii;var fn=u._fabs;var nn=u._sin;var rn=u._exp;var $t=u._llvm_pow_f64;var Qt=u._send;var ot=u._VBR_encode_frame;var a=u._abort;var Yt=u.___setErrNo;var at=u._vfprintf;var ht=u._hip_set_debugf;var Vt=u._floor;var _t=u._fflush;var pn=u._pwrite;var Ct=u._strerror_r;var Bt=u.__exit;var yt=u._GetTitleGain;var It=u._emscripten_set_main_loop_timing;var Ht=u._fabsf;var B=u._sbrk;var zt=u._atan;var jt=u._llvm_pow_f32;var zi=u._InitGainAnalysis;var Hi=u._emscripten_memcpy_big;var on=u._fileno;var vr=u._hip_decode_exit;var Bi=u._sysconf;var an=u._cos;var cn=u._mkport;var dn=u._floorf;var gi=u._hip_set_errorf;var mn=u.__reallyNegative;var En=u._write;var vn=u._emscripten_set_main_loop;var Ye=u._AnalyzeSamples;var V=u.___errno_location;var yn=u._log;var _i=u._init_xrpow_core_sse;var pi=u._hip_decode1_unclipped;var Rn=u._fwrite;var mi=u._time;var Pn=u._fprintf;var ci=u._strerror;var Cn=u._ceil;var Bn=u.__formatString;var In=u._sqrt;var ai=u._hip_set_msgf;var oi=u._exit;var ni=u._hip_decode_init;var xn=u._llvm_sqrt_f64;var Hn=0;function ei(E,se,V,te,fe,Be,Ce,Y,ae){E=E|0;se=se|0;V=V|0;te=te|0;fe=fe|0;Be=Be|0;Ce=Ce|0;Y=Y|0;ae=ae|0;var N=0,y=0,C=0,A=0,v=0,s=0,_=0,m=0,h=0,w=0,u=0,n=0,T=0,B=0,a=0,j=0,W=0,Se=0,Te=0,Fe=0,ge=0,ke=0,Pe=0,ce=0,Re=0,_e=0,pe=0,he=0,de=0,Me=0,Oe=0,le=0,me=0,we=0,R=0,X=0,M=0,D=0,Q=0,H=0,g=0,qe=0,ze=0,Ve=0,Ue=0,$=0,F=0,He=0,xe=0,Ie=0,k=0,re=0,J=0,oe=0,ee=0,ve=0,Z=0,be=0,Le=0,P=0,U=0,ye=0,O=0,S=0,K=0,ne=0,x=0,Ne=0,De=0,ie=0,ue=0,z=0,q=0,G=0,Ee=0,I=0,L=0;I=t;t=t+26240|0;O=I+21624|0;S=I+21368|0;P=I+21112|0;H=I+21096|0;De=I+20120|0;J=I+18068|0;ye=I+16520|0;re=I+8328|0;ne=I+2184|0;U=I+1160|0;K=I+136|0;ue=I+88|0;z=I+24|0;q=I+16|0;ie=I;Z=E+85800|0;k=e[Z>>2]|0;oe=E+140|0;w=(e[oe>>2]|0)==0;if(w)Ee=0;else Ee=e[E+85804>>2]|0;be=E+192|0;if(+r[be>>2]>0)N=+r[(e[E+85796>>2]|0)+8>>2]*+r[E+200>>2];else N=1;n=z;u=n+64|0;do{e[n>>2]=0;n=n+4|0}while((n|0)<(u|0));ve=E+180|0;n=(e[ve>>2]|0)==1;if(n)G=4;else G=e[E+72>>2]|0;l(De|0,E+25660|0,976)|0;if(w)Q=0;else Q=e[E+85804>>2]|0;Ne=E+72|0;_=e[Ne>>2]|0;D=n?4:_;c(O|0,0,4608)|0;if((_|0)>0)if((D|0)>2){u=0;do{n=e[se+(u<<2)>>2]|0;w=0;do{r[O+(u*2304|0)+(w<<2)>>2]=+r[n+(w+407<<2)>>2]-(+r[n+(w+418<<2)>>2]+ +r[n+(w+397<<2)>>2])*1.7303260184043527e-17-(+r[n+(w+417<<2)>>2]+ +r[n+(w+398<<2)>>2])*.017031719908118248-(+r[n+(w+416<<2)>>2]+ +r[n+(w+399<<2)>>2])*1.3495279640235235e-17+(+r[n+(w+415<<2)>>2]+ +r[n+(w+400<<2)>>2])*.04180720075964928-(+r[n+(w+414<<2)>>2]+ +r[n+(w+401<<2)>>2])*6.732779685849225e-17-(+r[n+(w+413<<2)>>2]+ +r[n+(w+402<<2)>>2])*.08763240277767181-(+r[n+(w+412<<2)>>2]+ +r[n+(w+403<<2)>>2])*3.0835000291318875e-17+(+r[n+(w+411<<2)>>2]+ +r[n+(w+404<<2)>>2])*.1863476037979126-(+r[n+(w+410<<2)>>2]+ +r[n+(w+405<<2)>>2])*1.1044240253100168e-16-(+r[n+(w+409<<2)>>2]+ +r[n+(w+406<<2)>>2])*.6276379823684692;w=w+1|0}while((w|0)!=576);l(te+(V*976|0)+(u*488|0)+244|0,E+26636+(u*244|0)|0,244)|0;l(te+(V*976|0)+(u*488|0)|0,E+25660+(u*244|0)|0,244)|0;F=u+2|0;l(fe+(V*976|0)+(u*488|0)+244|0,E+26636+(F*244|0)|0,244)|0;l(fe+(V*976|0)+(u*488|0)|0,E+25660+(F*244|0)|0,244)|0;u=u+1|0}while((u|0)!=(_|0))}else{u=0;do{n=e[se+(u<<2)>>2]|0;w=0;do{r[O+(u*2304|0)+(w<<2)>>2]=+r[n+(w+407<<2)>>2]-(+r[n+(w+418<<2)>>2]+ +r[n+(w+397<<2)>>2])*1.7303260184043527e-17-(+r[n+(w+417<<2)>>2]+ +r[n+(w+398<<2)>>2])*.017031719908118248-(+r[n+(w+416<<2)>>2]+ +r[n+(w+399<<2)>>2])*1.3495279640235235e-17+(+r[n+(w+415<<2)>>2]+ +r[n+(w+400<<2)>>2])*.04180720075964928-(+r[n+(w+414<<2)>>2]+ +r[n+(w+401<<2)>>2])*6.732779685849225e-17-(+r[n+(w+413<<2)>>2]+ +r[n+(w+402<<2)>>2])*.08763240277767181-(+r[n+(w+412<<2)>>2]+ +r[n+(w+403<<2)>>2])*3.0835000291318875e-17+(+r[n+(w+411<<2)>>2]+ +r[n+(w+404<<2)>>2])*.1863476037979126-(+r[n+(w+410<<2)>>2]+ +r[n+(w+405<<2)>>2])*1.1044240253100168e-16-(+r[n+(w+409<<2)>>2]+ +r[n+(w+406<<2)>>2])*.6276379823684692;w=w+1|0}while((w|0)!=576);l(te+(V*976|0)+(u*488|0)+244|0,E+26636+(u*244|0)|0,244)|0;l(te+(V*976|0)+(u*488|0)|0,E+25660+(u*244|0)|0,244)|0;u=u+1|0}while((u|0)!=(_|0))}if((D|0)>0){W=(Q|0)==0;j=q+4|0;y=P+4|0;T=S+4|0;C=P+8|0;B=S+8|0;A=P+12|0;v=P+16|0;Se=P+20|0;Te=P+24|0;Fe=P+28|0;ge=P+32|0;ke=P+36|0;Pe=P+40|0;ce=P+44|0;Re=H+4|0;_e=H+8|0;pe=H+12|0;he=S+12|0;de=S+16|0;Me=S+20|0;Oe=S+24|0;le=S+28|0;me=S+32|0;we=S+36|0;R=S+40|0;X=S+44|0;M=0;do{e[H>>2]=0;e[H+4>>2]=0;e[H+8>>2]=0;e[H+12>>2]=0;u=O+((M&1)*2304|0)|0;if((M|0)==2){n=0;do{$=O+(n<<2)|0;m=+r[$>>2];F=O+2304+(n<<2)|0;s=+r[F>>2];r[$>>2]=s+m;r[F>>2]=m-s;n=n+1|0}while((n|0)!=576)}m=+r[E+27636+(M*36|0)+24>>2];r[P>>2]=m;r[S>>2]=m/+r[E+27636+(M*36|0)+16>>2];h=+r[E+27636+(M*36|0)+28>>2];r[y>>2]=h;r[T>>2]=h/+r[E+27636+(M*36|0)+20>>2];s=+r[E+27636+(M*36|0)+32>>2];r[C>>2]=s;r[B>>2]=s/m;r[H>>2]=h+m+s;w=0;do{a=1;n=u;u=u+256|0;do{s=+p(+ +r[n>>2]);a=a<s?s:a;n=n+4|0}while(n>>>0<u>>>0);n=w+3|0;r[P+(n<<2)>>2]=a;r[E+27636+(M*36|0)+(w<<2)>>2]=a;F=H+(((w|0)/3|0)+1<<2)|0;r[F>>2]=+r[F>>2]+a;w=w+1|0;h=+r[P+(w<<2)>>2];if(!(a>h)){a=a*10;if(h>a)a=h/a;else a=0}else a=a/h;r[S+(n<<2)>>2]=a}while((w|0)!=9);a=+r[v>>2];s=+r[Se>>2];h=a+ +r[A>>2]+s;if(s*6<h)if(a*6<h)a=.25;else a=.5;else a=1;r[ue+(M*12|0)>>2]=a;a=+r[Fe>>2];s=+r[ge>>2];h=a+ +r[Te>>2]+s;if(s*6<h)if(a*6<h)a=.25;else a=.5;else a=1;r[ue+(M*12|0)+4>>2]=a;a=+r[Pe>>2];s=+r[ce>>2];h=a+ +r[ke>>2]+s;if(s*6<h)if(a*6<h)a=.25;else a=.5;else a=1;r[ue+(M*12|0)+8>>2]=a;if(!W){s=+r[S>>2];m=+r[T>>2];s=s<m?m:s;m=+r[B>>2];s=s<m?m:s;m=+r[he>>2];s=s<m?m:s;m=+r[de>>2];s=s<m?m:s;m=+r[Me>>2];s=s<m?m:s;m=+r[Oe>>2];s=s<m?m:s;m=+r[le>>2];s=s<m?m:s;m=+r[me>>2];s=s<m?m:s;m=+r[we>>2];s=s<m?m:s;m=+r[R>>2];s=s<m?m:s;m=+r[X>>2];F=Q+197112+(M<<3)|0;f[Q+197144+(V<<5)+(M<<3)>>3]=+f[F>>3];f[F>>3]=s<m?m:s}a=+r[(e[Z>>2]|0)+6480+(M<<2)>>2];u=0;do{n=z+(M<<4)+(((u|0)/3|0)<<2)|0;if((e[n>>2]|0)==0?+r[S+(u<<2)>>2]>a:0)e[n>>2]=((u|0)%3|0)+1;u=u+1|0}while((u|0)!=12);u=z+(M<<4)|0;h=+r[H>>2];m=+r[Re>>2];s=m*1.7000000476837158;if(m<h*1.7000000476837158&(h<s?(h>m?h:m)<4e4:0)){n=z+(M<<4)+4|0;if((e[u>>2]|0)<=(e[n>>2]|0))e[u>>2]=0;e[n>>2]=0}a=+r[_e>>2];h=a*1.7000000476837158;if(a<s&(m<h?(m>a?m:a)<4e4:0))e[z+(M<<4)+8>>2]=0;s=+r[pe>>2];if(s<h&(a<s*1.7000000476837158?(a>s?a:s)<4e4:0))e[z+(M<<4)+12>>2]=0;n=e[u>>2]|0;_=e[E+27780+(M<<2)>>2]|0;if((n|0)<=(_|0)){e[u>>2]=0;n=0}w=z+(M<<4)+4|0;u=e[w>>2]|0;if((_|0)!=3?(u+n+(e[z+(M<<4)+8>>2]|0)|0)==(0-(e[z+(M<<4)+12>>2]|0)|0):0)n=1;else x=47;do if((x|0)==47){x=0;do if(!u)u=0;else{if(!n)break;e[w>>2]=0;u=0}while(0);n=z+(M<<4)+8|0;if(!(e[n>>2]|0)){n=0;break}if(u){e[n>>2]=0;n=0;break}n=z+(M<<4)+12|0;if(!(e[n>>2]|0)){n=0;break}e[n>>2]=0;n=0}while(0);do if((M|0)<2)e[q+(M<<2)>>2]=n;else{if(n)break;e[j>>2]=0;e[q>>2]=0}while(0);e[Y+(M<<2)>>2]=e[E+27620+(M<<2)>>2];M=M+1|0}while((M|0)!=(D|0))}n=e[E+184>>2]|0;if((n|0)==1?(g=q+4|0,(e[q>>2]|0)==0|(e[g>>2]|0)==0):0){e[g>>2]=0;e[q>>2]=0}u=e[Ne>>2]|0;do if((u|0)>0)if((n|0)==3){n=0;do{e[q+(n<<2)>>2]=0;n=n+1|0}while((n|0)<(u|0))}else if((n|0)==2){n=0;do{e[q+(n<<2)>>2]=1;n=n+1|0}while((n|0)<(u|0))}else break;while(0);ee=(G|0)>0;if(ee){Q=E+85796|0;D=S+4|0;M=E+84908|0;H=P+4|0;X=E+85804|0;R=0;do{j=R&1;u=re+(j<<12)|0;if(!(e[oe>>2]|0))v=0;else v=e[X>>2]|0;_=(R|0)<2;if(!_){if((R|0)==2){n=j+1|0;w=1023;while(1){$=re+(j<<12)+(w<<2)|0;m=+r[$>>2];F=re+(n<<12)+(w<<2)|0;s=+r[F>>2];r[$>>2]=(s+m)*.7071067690849304;r[F>>2]=(m-s)*.7071067690849304;if((w|0)>0)w=w+-1|0;else break}}}else Ft(E,u,R,se);s=+r[u>>2];r[J>>2]=s*s;n=511;while(1){F=512-n|0;s=+r[re+(j<<12)+(F<<2)>>2];m=+r[re+(j<<12)+(n+512<<2)>>2];r[J+(F<<2)>>2]=(m*m+s*s)*.5;if((n|0)>0)n=n+-1|0;else{n=11;a=0;break}}do{a=+r[J+(n<<2)>>2]+a;n=n+1|0}while((n|0)!=513);r[E+27620+(R<<2)>>2]=a;if(v){n=0;do{F=v+90936+(R<<13)+(n<<3)|0;f[v+123704+(V<<15)+(R<<13)+(n<<3)>>3]=+f[F>>3];f[F>>3]=+r[J+(n<<2)>>2];n=n+1|0}while((n|0)!=513)}if(_){w=E+27612+(R<<2)|0;e[E+27804+(V<<3)+(R<<2)>>2]=e[w>>2];n=e[Q>>2]|0;u=0;a=0;do{a=+r[n+724+(u<<2)>>2]*+r[J+(u<<2)>>2]+a;u=u+1|0}while((u|0)!=512);r[w>>2]=a*8.974871343596633e-12}g=e[Z>>2]|0;Y=g+2148|0;A=e[Y>>2]|0;B=(A|0)>0;if(B){v=0;n=0;do{_=e[g+1716+(v<<2)>>2]|0;if((_|0)>0){h=0;u=0;w=n;a=0;while(1){s=+r[J+(w<<2)>>2];h=s+h;a=a<s?s:a;u=u+1|0;if((u|0)==(_|0))break;else w=w+1|0}n=((_|0)>1?_:1)+n|0}else{h=0;a=0}r[U+(R<<8)+(v<<2)>>2]=h;r[S+(v<<2)>>2]=a;r[P+(v<<2)>>2]=+r[g+512+(v<<2)>>2]*h;v=v+1|0}while((v|0)!=(A|0));a=+r[H>>2];h=+r[P>>2]}else{a=0;h=0}a=h+a;if(a>0){s=+r[S>>2];m=+r[D>>2];n=~~(((s<m?m:s)*2-a)*20/(+((e[g+1716>>2]|0)+-1+(e[g+1720>>2]|0)|0)*a));n=(n|0)>8?8:n&255}else n=0;i[O>>0]=n;v=A+-1|0;m=+r[H>>2];a=m+h;if((v|0)>1){_=(v|0)>2;n=0;w=1;while(1){u=w+1|0;h=m;m=+r[P+(u<<2)>>2];a=m+a;if(a>0){s=+r[S+(n<<2)>>2];L=+r[S+(w<<2)>>2];s=s<L?L:s;L=+r[S+(u<<2)>>2];n=~~(((s<L?L:s)*3-a)*20/(+((e[g+1716+(n<<2)>>2]|0)+-1+(e[g+1716+(w<<2)>>2]|0)+(e[g+1716+(u<<2)>>2]|0)|0)*a));n=(n|0)>8?8:n&255}else n=0;i[O+w>>0]=n;a=m+h;if((u|0)==(v|0))break;else{n=w;w=u}}u=_?v:2;n=u+-1|0}else{n=0;u=1}if(a>0){s=+r[S+(n<<2)>>2];m=+r[S+(u<<2)>>2];n=~~(((s<m?m:s)*2-a)*20/(+((e[g+1716+(n<<2)>>2]|0)+-1+(e[g+1716+(u<<2)>>2]|0)|0)*a));n=(n|0)>8?8:n&255}else n=0;i[O+u>>0]=n;if(B){W=g+2156|0;j=E+27796+(j<<2)|0;n=0;w=0;do{s=+r[M>>2]*+r[g+(n<<2)>>2];T=e[g+1204+(n<<3)>>2]|0;y=e[g+1204+(n<<3)+4>>2]|0;C=e[11448+((o[O+n>>0]|0)<<2)>>2]|0;u=o[O+T>>0]|0;_=e[W>>2]|0;a=+r[U+(R<<8)+(T<<2)>>2]*+r[_+(w<<2)>>2]*+r[11488+(u<<2)>>2];w=w+1|0;if((T|0)<(y|0)){B=w;v=T;while(1){v=v+1|0;A=o[O+v>>0]|0;u=A+u|0;h=+r[U+(R<<8)+(v<<2)>>2]*+r[_+(B<<2)>>2]*+r[11488+(A<<2)>>2];A=v-n|0;a=a<0?0:a;h=h<0?0:h;do if(!(a<=0)){if(h<=0)break;_=h>a;m=_?h/a:a/h;if((((A|0)>-1?A:0-A|0)|0)>(C|0))if(m<+r[2894]){a=h+a;break}else{a=_?h:a;break}else if(!(m>=+r[2882])){a=+r[11536+(~~(+b(m)*4.816479930623698)<<2)>>2]*(h+a);break}else{a=h+a;break}}else a=h;while(0);if((v|0)==(y|0))break;_=e[W>>2]|0;B=B+1|0}_=1-T+y|0;w=w-T+y|0}else _=1;m=+r[11488+(((u<<1|1|0)/(_<<1|0)|0)<<2)>>2]*.5;h=m*a;u=e[j>>2]|0;do if((u|0)==2){u=E+21564+(R<<8)+(n<<2)|0;a=+r[u>>2]*2;if(a>0){a=h<a?h:a;_=K+(R<<8)+(n<<2)|0;r[_>>2]=a;break}else{L=h;a=+r[U+(R<<8)+(n<<2)>>2]*.3;a=L<a?L:a;_=K+(R<<8)+(n<<2)|0;r[_>>2]=a;break}}else{L=+r[E+22588+(R<<8)+(n<<2)>>2]*16;F=E+21564+(R<<8)+(n<<2)|0;a=+r[F>>2]*2;L=!(L<=0)?L:h;a=!(a<=0)?a:h;a=(u|0)==0?a<L?a:L:a;a=h<a?h:a;_=K+(R<<8)+(n<<2)|0;r[_>>2]=a;u=F}while(0);e[E+22588+(R<<8)+(n<<2)>>2]=e[u>>2];r[u>>2]=h;h=+r[S+(n<<2)>>2]*m*+r[g+256+(n<<2)>>2];if(a>h){r[_>>2]=h;a=h}if(s>1){a=a*s;r[_>>2]=a}h=+r[U+(R<<8)+(n<<2)>>2];if(a>h){r[_>>2]=h;a=h}if(s<1)r[_>>2]=a*s;n=n+1|0}while((n|0)<(e[Y>>2]|0));if((n|0)<64)x=114}else{n=0;x=114}if((x|0)==114){x=0;F=256-(n<<2)|0;c(U+(R<<8)+(n<<2)|0,0,F|0)|0;c(K+(R<<8)+(n<<2)|0,0,F|0)|0}R=R+1|0}while((R|0)!=(G|0))}if((e[ve>>2]|0)==1?((e[q+4>>2]|0)+(e[q>>2]|0)|0)==2:0)ur(U,K,k+768|0,(e[E+85796>>2]|0)+212|0,N,+r[be>>2],e[k+2148>>2]|0);if(ee){_=0;do{F=U+(_<<8)|0;v=K+(_<<8)|0;Ae(e[Z>>2]|0,F,v,E+26636+(_*244|0)|0,E+25660+(_*244|0)|0);Ae((e[Z>>2]|0)+4320|0,F,v,O,S);v=0;do{F=e[O+(v<<2)>>2]|0;s=+r[S+(v<<2)>>2]*.015625;e[E+26636+(_*244|0)+88+(v*12|0)>>2]=F;r[E+25660+(_*244|0)+88+(v*12|0)>>2]=s;e[E+26636+(_*244|0)+88+(v*12|0)+4>>2]=F;r[E+25660+(_*244|0)+88+(v*12|0)+4>>2]=s;e[E+26636+(_*244|0)+88+(v*12|0)+8>>2]=F;r[E+25660+(_*244|0)+88+(v*12|0)+8>>2]=s;v=v+1|0}while((v|0)!=13);_=_+1|0}while((_|0)!=(G|0))}re=k+2928|0;J=E+85796|0;me=k+4308|0;le=(e[(e[Z>>2]|0)+6500>>2]|0)!=0;Oe=O+4|0;Me=S+4|0;de=O+8|0;he=S+8|0;pe=O+12|0;B=S+12|0;C=O+16|0;_e=S+16|0;Re=O+20|0;Se=S+20|0;Te=O+24|0;Fe=S+24|0;ge=O+28|0;ke=S+28|0;Pe=O+32|0;ce=S+32|0;qe=O+36|0;
- ze=S+36|0;Ve=O+40|0;Ue=S+40|0;$=O+44|0;F=S+44|0;He=O+48|0;xe=S+48|0;Ie=S+4|0;oe=E+84908|0;we=P+4|0;R=(e[q>>2]|0)!=(0-(e[q+4>>2]|0)|0);k=0;do{if(ee){H=(k|0)==0;Q=ye+(k*516|0)|0;D=0;do{w=D&1;if(le|(e[q+(w<<2)>>2]|0)==0){if(H&(D|0)<2)Mt(E,ne+(w*3072|0)|0,D,se);if((D|0)==2){n=w+1|0;u=255;while(1){Y=ne+(w*3072|0)+(k<<10)+(u<<2)|0;m=+r[Y>>2];g=ne+(n*3072|0)+(k<<10)+(u<<2)|0;s=+r[g>>2];r[Y>>2]=(s+m)*.7071067690849304;r[g>>2]=(m-s)*.7071067690849304;if((u|0)>0)u=u+-1|0;else break}}s=+r[ne+(w*3072|0)+(k<<10)>>2];r[Q>>2]=s*s;n=127;while(1){g=128-n|0;s=+r[ne+(w*3072|0)+(k<<10)+(g<<2)>>2];m=+r[ne+(w*3072|0)+(k<<10)+(n+128<<2)>>2];r[ye+(k*516|0)+(g<<2)>>2]=(m*m+s*s)*.5;if((n|0)>0)n=n+-1|0;else break}g=e[Z>>2]|0;c(S|0,0,256)|0;c(P|0,0,256)|0;Y=g+4308|0;W=e[Y>>2]|0;X=(W|0)>0;if(X){v=0;n=0;do{_=e[g+3876+(v<<2)>>2]|0;if((_|0)>0){h=0;u=0;w=n;a=0;while(1){s=+r[ye+(k*516|0)+(w<<2)>>2];h=s+h;a=a<s?s:a;u=u+1|0;if((u|0)==(_|0))break;else w=w+1|0}n=_+n|0}else{h=0;a=0}r[U+(D<<8)+(v<<2)>>2]=h;r[S+(v<<2)>>2]=a;r[P+(v<<2)>>2]=+r[g+2672+(v<<2)>>2]*h;v=v+1|0}while((v|0)!=(W|0));m=+r[we>>2];h=+r[P>>2]}else{m=0;h=0}a=h+m;if(a>0){s=+r[S>>2];L=+r[Ie>>2];n=~~(((s<L?L:s)*2-a)*20/(+((e[g+3876>>2]|0)+-1+(e[g+3880>>2]|0)|0)*a));n=(n|0)>8?8:n&255}else n=0;i[O>>0]=n;v=W+-1|0;a=m+h;if((v|0)>1){_=(v|0)>2;n=0;w=1;while(1){u=w+1|0;h=m;m=+r[P+(u<<2)>>2];a=m+a;if(a>0){s=+r[S+(n<<2)>>2];L=+r[S+(w<<2)>>2];s=s<L?L:s;L=+r[S+(u<<2)>>2];n=~~(((s<L?L:s)*3-a)*20/(+((e[g+3876+(n<<2)>>2]|0)+-1+(e[g+3876+(w<<2)>>2]|0)+(e[g+3876+(u<<2)>>2]|0)|0)*a));n=(n|0)>8?8:n&255}else n=0;i[O+w>>0]=n;a=m+h;if((u|0)==(v|0))break;else{n=w;w=u}}u=_?v:2;n=u+-1|0}else{n=0;u=1}if(a>0){s=+r[S+(n<<2)>>2];m=+r[S+(u<<2)>>2];n=~~(((s<m?m:s)*2-a)*20/(+((e[g+3876+(n<<2)>>2]|0)+-1+(e[g+3876+(u<<2)>>2]|0)|0)*a));n=(n|0)>8?8:n&255}else n=0;i[O+u>>0]=n;if(X){M=g+4316|0;n=0;w=0;do{y=e[g+3364+(n<<3)>>2]|0;T=e[g+3364+(n<<3)+4>>2]|0;j=e[11448+((o[O+n>>0]|0)<<2)>>2]|0;s=+r[oe>>2]*+r[g+2160+(n<<2)>>2];u=o[O+y>>0]|0;_=e[M>>2]|0;a=+r[U+(D<<8)+(y<<2)>>2]*+r[_+(w<<2)>>2]*+r[11488+(u<<2)>>2];w=w+1|0;if((y|0)<(T|0)){W=w;v=y;while(1){v=v+1|0;A=o[O+v>>0]|0;u=A+u|0;h=+r[U+(D<<8)+(v<<2)>>2]*+r[_+(W<<2)>>2]*+r[11488+(A<<2)>>2];A=v-n|0;a=a<0?0:a;h=h<0?0:h;do if(!(a<=0)){if(h<=0)break;_=h>a;m=_?h/a:a/h;if((((A|0)>-1?A:0-A|0)|0)>(j|0))if(m<+r[2894]){a=h+a;break}else{a=_?h:a;break}else if(!(m>=+r[2882])){a=+r[11536+(~~(+b(m)*4.816479930623698)<<2)>>2]*(h+a);break}else{a=h+a;break}}else a=h;while(0);if((v|0)==(T|0))break;_=e[M>>2]|0;W=W+1|0}_=1-y+T|0;w=w-y+T|0}else _=1;h=+r[11488+(((u<<1|1|0)/(_<<1|0)|0)<<2)>>2]*.5;a=h*a;u=K+(D<<8)+(n<<2)|0;r[u>>2]=a;X=E+23612+(D<<8)+(n<<2)|0;e[E+24636+(D<<8)+(n<<2)>>2]=e[X>>2];r[X>>2]=a;h=+r[S+(n<<2)>>2]*h*+r[g+2416+(n<<2)>>2];if(a>h){r[u>>2]=h;a=h}if(s>1){a=a*s;r[u>>2]=a}h=+r[U+(D<<8)+(n<<2)>>2];if(a>h){r[u>>2]=h;a=h}if(s<1)r[u>>2]=a*s;n=n+1|0}while((n|0)<(e[Y>>2]|0));if((n|0)<64)x=185}else{n=0;x=185}if((x|0)==185){x=0;g=256-(n<<2)|0;c(U+(D<<8)+(n<<2)|0,0,g|0)|0;c(K+(D<<8)+(n<<2)|0,0,g|0)|0}}else if(H?(Le=e[(e[Z>>2]|0)+4308>>2]|0,(Le|0)>0):0){n=0;do{e[E+24636+(D<<8)+(n<<2)>>2]=e[E+23612+(D<<8)+(n<<2)>>2];n=n+1|0}while((n|0)!=(Le|0))}D=D+1|0}while((D|0)!=(G|0))}if(!((e[ve>>2]|0)!=1|R))ur(U,K,re,(e[J>>2]|0)+468|0,N,+r[be>>2],e[me>>2]|0);if(ee){n=0;do{if(le|(e[q+((n&1)<<2)>>2]|0)==0){Ae((e[Z>>2]|0)+2160|0,U+(n<<8)|0,K+(n<<8)|0,O,S);e[E+26636+(n*244|0)+88+(k<<2)>>2]=e[O>>2];e[E+25660+(n*244|0)+88+(k<<2)>>2]=e[S>>2];e[E+26636+(n*244|0)+100+(k<<2)>>2]=e[Oe>>2];e[E+25660+(n*244|0)+100+(k<<2)>>2]=e[Me>>2];e[E+26636+(n*244|0)+112+(k<<2)>>2]=e[de>>2];e[E+25660+(n*244|0)+112+(k<<2)>>2]=e[he>>2];e[E+26636+(n*244|0)+124+(k<<2)>>2]=e[pe>>2];e[E+25660+(n*244|0)+124+(k<<2)>>2]=e[B>>2];e[E+26636+(n*244|0)+136+(k<<2)>>2]=e[C>>2];e[E+25660+(n*244|0)+136+(k<<2)>>2]=e[_e>>2];e[E+26636+(n*244|0)+148+(k<<2)>>2]=e[Re>>2];e[E+25660+(n*244|0)+148+(k<<2)>>2]=e[Se>>2];e[E+26636+(n*244|0)+160+(k<<2)>>2]=e[Te>>2];e[E+25660+(n*244|0)+160+(k<<2)>>2]=e[Fe>>2];e[E+26636+(n*244|0)+172+(k<<2)>>2]=e[ge>>2];e[E+25660+(n*244|0)+172+(k<<2)>>2]=e[ke>>2];e[E+26636+(n*244|0)+184+(k<<2)>>2]=e[Pe>>2];e[E+25660+(n*244|0)+184+(k<<2)>>2]=e[ce>>2];e[E+26636+(n*244|0)+196+(k<<2)>>2]=e[qe>>2];e[E+25660+(n*244|0)+196+(k<<2)>>2]=e[ze>>2];e[E+26636+(n*244|0)+208+(k<<2)>>2]=e[Ve>>2];e[E+25660+(n*244|0)+208+(k<<2)>>2]=e[Ue>>2];e[E+26636+(n*244|0)+220+(k<<2)>>2]=e[$>>2];e[E+25660+(n*244|0)+220+(k<<2)>>2]=e[F>>2];e[E+26636+(n*244|0)+232+(k<<2)>>2]=e[He>>2];e[E+25660+(n*244|0)+232+(k<<2)>>2]=e[xe>>2]}n=n+1|0}while((n|0)!=(G|0))}k=k+1|0}while((k|0)!=3);if(ee){u=0;do{C=E+27780+(u<<2)|0;n=0;do{B=E+25660+(u*244|0)+88+(n*12|0)|0;y=De+(u*244|0)+88+(n*12|0)+8|0;w=De+(u*244|0)+88+(n*12|0)+4|0;T=0;do{h=+r[E+25660+(u*244|0)+88+(n*12|0)+(T<<2)>>2]*.8;v=(T|0)>0;A=T+-1|0;s=+r[(v?ie+(A<<2)|0:y)>>2];_=e[z+(u<<4)+(T<<2)>>2]|0;if((_|0)<=1?(e[z+(u<<4)+(T+1<<2)>>2]|0)!=1:0)m=h;else if(h>0)m=+d(+(s/h),.36000001430511475)*h;else m=0;m=m<h?m:h;e:do if((_|0)==1)if(m>0)h=+d(+(s/m),.18000000715255737)*m;else h=0;else{if((T|0)==0?(e[C>>2]|0)==3:0)x=233;else x=230;do if((x|0)==230){x=0;if(!v)break e;if((e[z+(u<<4)+(A<<2)>>2]|0)!=3)break e;if(!T){x=233;break}else if((T|0)==1){h=+r[y>>2];break}else if((T|0)==2){h=+r[ie>>2];break}else{h=s;break}}while(0);if((x|0)==233)h=+r[w>>2];if(!(m>0)){h=0;break}h=+d(+(h/m),.18000000715255737)*m}while(0);r[ie+(T<<2)>>2]=(h<m?h:m)*+r[ue+(u*12|0)+(T<<2)>>2];T=T+1|0}while((T|0)!=3);e[B>>2]=e[ie>>2];e[B+4>>2]=e[ie+4>>2];e[B+8>>2]=e[ie+8>>2];n=n+1|0}while((n|0)!=13);u=u+1|0}while((u|0)!=(G|0));if(ee){y=0;do{e[E+27780+(y<<2)>>2]=e[z+(y<<4)+8>>2];y=y+1|0}while((y|0)!=(G|0))}}C=e[Ne>>2]|0;if((C|0)>0){_=0;do{A=E+27796+(_<<2)|0;y=e[A>>2]|0;do if(!(e[q+(_<<2)>>2]|0))if(!y){e[A>>2]=1;v=1;y=2;break}else if((y|0)==3){e[A>>2]=2;v=2;y=2;break}else{v=y;y=2;break}else{v=y;y=(y|0)==2?3:0}while(0);e[ae+(_<<2)>>2]=v;e[A>>2]=y;_=_+1|0}while((_|0)!=(C|0))}if(!ee){t=I;return 0}w=Ce+-8|0;A=ae+4|0;B=(Ee|0)==0;C=0;do{if((C|0)>1){if((e[ae>>2]|0)!=2?(e[A>>2]|0)!=2:0)y=0;else y=2;n=fe+(V*976|0)+((C+-2|0)*488|0)|0;u=w}else{n=te+(V*976|0)+(C*488|0)|0;u=Be;y=e[ae+(C<<2)>>2]|0}a=+r[oe>>2];if((y|0)==2){N=309.07000732421875;v=0;do{_=11584+(v<<2)|0;s=+r[n+88+(v*12|0)>>2];do if(s>0){h=s*a;m=+r[n+332+(v*12|0)>>2];if(!(m>h))break;s=+r[_>>2];if(m>h*1e10){N=s*23.02585092994046+N;break}else{N=s*.30102999566398114*+b(m/h)+N;break}}while(0);s=+r[n+88+(v*12|0)+4>>2];do if(s>0){h=s*a;m=+r[n+332+(v*12|0)+4>>2];if(!(m>h))break;s=+r[_>>2];if(m>h*1e10){N=s*23.02585092994046+N;break}else{N=s*.30102999566398114*+b(m/h)+N;break}}while(0);s=+r[n+88+(v*12|0)+8>>2];do if(s>0){h=s*a;m=+r[n+332+(v*12|0)+8>>2];if(!(m>h))break;s=+r[_>>2];if(m>h*1e10){N=s*23.02585092994046+N;break}else{N=s*.30102999566398114*+b(m/h)+N;break}}while(0);v=v+1|0}while((v|0)!=12);r[u+(C<<2)>>2]=N}else{N=281.0574951171875;_=0;do{s=+r[n+(_<<2)>>2];do if(s>0){s=s*a;m=+r[n+244+(_<<2)>>2];if(!(m>s))break;h=+r[11632+(_<<2)>>2];if(m>s*1e10){N=h*23.02585092994046+N;break}else{N=h*.30102999566398114*+b(m/s)+N;break}}while(0);_=_+1|0}while((_|0)!=21);r[u+(C<<2)>>2]=N}if(!B)f[Ee+189240+(V<<5)+(C<<3)>>3]=N;C=C+1|0}while((C|0)!=(G|0));t=I;return 0}function $r(M){M=M|0;var i=0,o=0,m=0,a=0,u=0,s=0,f=0,T=0,_=0,B=0,E=0,C=0,I=0,A=0,P=0,O=0,N=0,S=0,n=0,D=0,R=0,p=0,y=0,h=0,b=0,g=0,w=0;g=t;t=t+768|0;O=g+512|0;N=g+256|0;S=g;n=e[M+288>>2]|0;R=n+16|0;D=n+64|0;b=+(e[D>>2]|0);m=-+r[n+280>>2];a=n+85800|0;if(e[a>>2]|0){p=0;t=g;return p|0}c(S|0,0,256)|0;h=k(1,6504)|0;e[a>>2]=h;e[h+6500>>2]=e[M+144>>2];e[n+27800>>2]=0;e[n+27796>>2]=0;i=0;do{a=0;do{r[n+21564+(i<<8)+(a<<2)>>2]=0x56bc7600000000000;r[n+22588+(i<<8)+(a<<2)>>2]=0x56bc7600000000000;r[n+24636+(i<<8)+(a<<2)>>2]=1;r[n+23612+(i<<8)+(a<<2)>>2]=1;a=a+1|0}while((a|0)!=64);r[n+26636+(i*244|0)>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+4>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+4>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+8>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+8>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+12>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+12>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+16>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+16>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+20>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+20>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+24>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+24>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+28>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+28>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+32>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+32>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+36>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+36>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+40>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+40>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+44>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+44>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+48>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+48>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+52>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+52>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+56>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+56>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+60>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+60>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+64>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+64>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+68>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+68>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+72>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+72>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+76>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+76>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+80>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+80>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+84>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+84>>2]=0x56bc7600000000000;a=n+27780+(i<<2)|0;o=0;do{r[n+26636+(i*244|0)+88+(o<<2)>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+88+(o<<2)>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+100+(o<<2)>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+100+(o<<2)>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+112+(o<<2)>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+112+(o<<2)>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+124+(o<<2)>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+124+(o<<2)>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+136+(o<<2)>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+136+(o<<2)>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+148+(o<<2)>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+148+(o<<2)>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+160+(o<<2)>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+160+(o<<2)>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+172+(o<<2)>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+172+(o<<2)>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+184+(o<<2)>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+184+(o<<2)>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+196+(o<<2)>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+196+(o<<2)>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+208+(o<<2)>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+208+(o<<2)>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+220+(o<<2)>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+220+(o<<2)>>2]=0x56bc7600000000000;r[n+26636+(i*244|0)+232+(o<<2)>>2]=0x56bc7600000000000;r[n+25660+(i*244|0)+232+(o<<2)>>2]=0x56bc7600000000000;e[a>>2]=0;o=o+1|0}while((o|0)!=3);r[n+27636+(i*36|0)>>2]=10;r[n+27636+(i*36|0)+4>>2]=10;r[n+27636+(i*36|0)+8>>2]=10;r[n+27636+(i*36|0)+12>>2]=10;r[n+27636+(i*36|0)+16>>2]=10;r[n+27636+(i*36|0)+20>>2]=10;r[n+27636+(i*36|0)+24>>2]=10;r[n+27636+(i*36|0)+28>>2]=10;r[n+27636+(i*36|0)+32>>2]=10;i=i+1|0}while((i|0)!=4);r[n+27616>>2]=0;r[n+27612>>2]=0;Te(h,b,1024,576,22,n+21360|0);p=h+2148|0;a=e[p>>2]|0;s=b*.0009765625;if((a|0)>0){u=s;f=0;o=0;do{A=e[h+1716+(o<<2)>>2]|0;w=+F(+(f|0)*s);P=f;f=A+f|0;r[O+(o<<2)>>2]=(+F(+(f+-1|0)*s)+w)*.5;w=+F((+(P|0)+-.5)*u);r[N+(o<<2)>>2]=+F((+(f|0)+-.5)*u)-w;o=o+1|0}while((o|0)!=(a|0));a=e[p>>2]|0;if((a|0)>0){o=0;do{r[S+(o<<2)>>2]=1;o=o+1|0}while((o|0)<(a|0))}}I=h+1204|0;a=hr(h+2156|0,I,a,O,N,S)|0;if(a){p=a;t=g;return p|0}if((e[p>>2]|0)>0){T=h+1716|0;_=n+85796|0;u=m;B=h+256|0;E=0;a=0;do{i=T+(E<<2)|0;f=e[i>>2]|0;if((f|0)>0){o=0;s=1e37;do{w=+d(10,+((+L(R,+(a|0)*b*9.765625e-7*1e3)+-20)*.1));f=e[i>>2]|0;w=+(f|0)*w;s=s>w?w:s;o=o+1|0;a=a+1|0}while((o|0)<(f|0))}else s=1e37;r[(e[_>>2]|0)+212+(E<<2)>>2]=s;s=(+r[O+(E<<2)>>2]*.10000000149011612+-1)*20;s=s>6?30:s;r[B+(E<<2)>>2]=+(f|0)*+d(10,+((e[D>>2]|0)<44e3?2.2:((s<u?u:s)+-8)*.1));E=E+1|0}while((E|0)<(e[p>>2]|0))}A=h+2160|0;P=n+21452|0;Te(A,b,256,192,13,P);C=h+4308|0;a=e[C>>2]|0;s=b*.00390625;if((a|0)>0){u=s;f=0;o=0;do{T=e[A+1716+(o<<2)>>2]|0;w=+F(+(f|0)*s);i=f;f=T+f|0;r[O+(o<<2)>>2]=(+F(+(f+-1|0)*s)+w)*.5;w=+F((+(i|0)+-.5)*u);r[N+(o<<2)>>2]=+F((+(f|0)+-.5)*u)-w;o=o+1|0}while((o|0)!=(a|0));a=e[C>>2]|0;if((a|0)>0){T=h+3876|0;i=n+85796|0;E=h+2416|0;_=0;a=0;while(1){u=+r[O+(_<<2)>>2];if(!(u>=13))s=-8.25;else s=(24-u)*-.75-(u+-13)*.40909090638160706;r[S+(_<<2)>>2]=+d(10,+(s*.1));B=T+(_<<2)|0;f=e[B>>2]|0;if((f|0)>0){o=0;s=1e37;do{w=+d(10,+((+L(R,+(a|0)*b*390625e-11*1e3)+-20)*.1));f=e[B>>2]|0;w=+(f|0)*w;s=s>w?w:s;o=o+1|0;a=a+1|0}while((o|0)<(f|0));o=a}else{o=a;s=1e37}r[(e[i>>2]|0)+468+(_<<2)>>2]=s;s=(u*.0833333358168602+-1)*7;if(u>12)s=(+Ve(+(s+1))*3.1+1)*s;if(u<12)s=(+Ve(+(1-s))*2.3+1)*s;u=s>6?30:s;r[E+(_<<2)>>2]=+(f|0)*+d(10,+((e[D>>2]|0)<44e3?2.2:((u<m?m:u)+-8)*.1));_=_+1|0;a=e[C>>2]|0;if((_|0)>=(a|0))break;else a=o}}}a=hr(h+4316|0,h+3364|0,a,O,N,S)|0;if(a){p=a;t=g;return p|0}r[2882]=3.6517412662506104;r[2894]=31.62277603149414;Ot(n);s=b;r[h+6496>>2]=+v(+(-44209.633785485676/s));a=n+192|0;m=+r[a>>2];r[a>>2]=m!=m|0!=0|m==0?(e[n+96>>2]|0)!=0?1:3.5:m;a=e[p>>2]|0;if((a|0)>0){o=a+-1|0;f=0;do{i=I+(f<<3)+4|0;if((e[i>>2]|0)>(o|0))e[i>>2]=o;f=f+1|0}while((f|0)<(a|0))}m=+d(10,+(+(e[n+76>>2]|0)*576/s*-1.2));f=n+85796|0;S=e[f>>2]|0;r[S+16>>2]=m;r[S+8>>2]=.009999999776482582;r[S+12>>2]=1;if((e[n+208>>2]|0)!=-1){u=+(e[D>>2]|0)*.0009765625;m=0;s=0;a=0;do{s=s+u;w=1/+d(10,+(+L(R,s)*.10000000149011612));o=e[f>>2]|0;r[o+724+(a<<2)>>2]=w;m=w+m;a=a+1|0}while((a|0)!=512);m=1/m;a=511;while(1){R=o+724+(a<<2)|0;r[R>>2]=+r[R>>2]*m;if((a|0)>0)a=a+-1|0;else break}}i=e[C>>2]|0;u=+r[M+264>>2];m=+r[M+268>>2];u=u<0?4.400000095367432:u;r[h+6488>>2]=u;r[h+6484>>2]=u;r[h+6480>>2]=u;r[h+6492>>2]=m<0?25:m;o=e[M+164>>2]|0;if((o|0)<4)s=-.7400000095367432;else{s=+r[11720+(o<<2)>>2];s=((s-+r[11720+(o+1<<2)>>2])*+r[M+160>>2]+s)*.10000000149011612}if((i|0)>0){a=(i|0)>1;m=+(i|0);o=0;do{r[A+(o<<2)>>2]=+d(10,+(s*(+(i-o|0)/m)));o=o+1|0}while((i|0)>(o|0));if(a){if((i|0)<64)y=50}else{i=1;y=50}}else{i=0;y=50}if((y|0)==50)do{r[A+(i<<2)>>2]=1;i=i+1|0}while((i|0)!=64);i=e[p>>2]|0;if((i|0)>0){o=(i|0)>1;m=+(i|0);a=0;do{r[h+(a<<2)>>2]=+d(10,+(s*(+(i-a|0)/m)));a=a+1|0}while((i|0)>(a|0));if(o){if((i|0)<64)y=57}else{i=1;y=57}}else{i=0;y=57}if((y|0)==57)do{r[h+(i<<2)>>2]=1;i=i+1|0}while((i|0)!=64);p=h+4320|0;l(p|0,h|0,2160)|0;Te(p,b,1024,192,13,P);p=0;t=g;return p|0}function ur(c,u,w,E,_,t,h){c=c|0;u=u|0;w=w|0;E=E|0;_=+_;t=+t;h=h|0;var n=0,i=0,l=0,a=0,d=0,f=0,m=0,s=0,e=0,o=0,p=0,S=0,v=0;S=t*2;if((h|0)<=0)return;if(t>0)a=0;else{f=0;do{i=+r[c+512+(f<<2)>>2];l=+r[c+768+(f<<2)>>2];e=+r[u+(f<<2)>>2];o=+r[u+256+(f<<2)>>2];a=u+512+(f<<2)|0;t=+r[a>>2];d=u+768+(f<<2)|0;n=+r[d>>2];if(!(!(o<=e*1.5800000429153442)|!(e<=o*1.5800000429153442))){o=+r[w+(f<<2)>>2];e=o*l;o=o*i;e=n<e?n:e;o=t<o?t:o;t=t>e?t:e;n=n>o?n:o}r[a>>2]=t>i?i:t;r[d>>2]=n>l?l:n;f=f+1|0}while((f|0)!=(h|0));return}do{o=+r[c+512+(a<<2)>>2];p=+r[c+768+(a<<2)>>2];n=+r[u+(a<<2)>>2];t=+r[u+256+(a<<2)>>2];f=u+512+(a<<2)|0;l=+r[f>>2];d=u+768+(a<<2)|0;i=+r[d>>2];if(!(t<=n*1.5800000429153442)|!(n<=t*1.5800000429153442))e=i;else{e=+r[w+(a<<2)>>2];s=e*p;e=e*o;s=i<s?i:s;e=l<e?l:e;l=l>s?l:s;e=i>e?i:e}i=+r[E+(a<<2)>>2]*_;s=n>i?n:i;t=t>i?t:i;n=l>i?l:i;i=e>i?e:i;m=n+i;if(m>0?(v=S*(s<t?s:t),v<m):0){s=v/m;n=s*n;i=s*i}s=n<l?n:l;e=i<e?i:e;r[f>>2]=s>o?o:s;r[d>>2]=e>p?p:e;a=a+1|0}while((a|0)!=(h|0));return}function Ae(f,h,m,u,l){f=f|0;h=h|0;m=m|0;u=u|0;l=l|0;var i=0,n=0,a=0,t=0,o=0,p=0,_=0,c=0,s=0,d=0,w=0;d=e[f+2152>>2]|0;e:do if((d|0)>0){s=e[f+2148>>2]|0;c=0;a=0;i=0;n=0;while(1){t=e[f+2060+(i<<2)>>2]|0;if((c|0)<(((t|0)<(s|0)?t:s)|0)){o=(s|0)>(t|0)?t:s;t=c;do{a=+r[h+(t<<2)>>2]+a;n=+r[m+(t<<2)>>2]+n;t=t+1|0}while((t|0)!=(o|0))}else o=c;if((o|0)>=(s|0))break;w=+r[f+1112+(i<<2)>>2];p=1-w;t=h+(o<<2)|0;_=m+(o<<2)|0;n=+r[_>>2]*w+n;r[u+(i<<2)>>2]=+r[t>>2]*w+a;r[l+(i<<2)>>2]=n;i=i+1|0;if((i|0)<(d|0)){c=o+1|0;a=+r[t>>2]*p;n=+r[_>>2]*p}else break e}r[u+(i<<2)>>2]=a;r[l+(i<<2)>>2]=n;i=i+1|0}else i=0;while(0);if((i|0)>=(d|0))return;do{r[u+(i<<2)>>2]=0;r[l+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=(d|0));return}function Te(s,o,n,i,w,v){s=s|0;o=+o;n=n|0;i=i|0;w=w|0;v=v|0;var h=0,a=0,f=0,u=0,l=0,m=0,S=0,p=0,_=0,E=0,b=0,k=0;E=t;t=t+2320|0;p=E+2052|0;_=E;h=+(i|0)*2;S=o/h;u=+(n|0);h=u/h;c(_|0,0,2052)|0;u=o/u;m=(n|0)/2|0;a=0;i=0;while(1){if((i|0)>=64){n=i;break}b=+(a|0)*u;o=+F(b);r[p+(i<<2)>>2]=b;n=a;while(1)if((n|0)>(m|0)|!(+F(+(n|0)*u)-o<.34))break;else n=n+1|0;f=n-a|0;e[s+1716+(i<<2)>>2]=f;r[s+512+(i<<2)>>2]=(f|0)>0?1/+(f|0):0;f=i+1|0;if((n|0)>(a|0)){do{e[_+(a<<2)>>2]=i;a=a+1|0}while((a|0)!=(n|0))}else n=a;if((n|0)>(m|0)){a=m;n=f;break}else{a=n;i=f}}r[p+(n<<2)>>2]=+(a|0)*u;e[s+2152>>2]=w;f=s+2148|0;e[f>>2]=n;if((n|0)>0){i=0;n=0;while(1){a=e[s+1716+(i<<2)>>2]|0;o=+F(+(((a|0)/2|0)+n|0)*u);r[s+768+(i<<2)>>2]=+d(10,+((1-+N(+(o<15.5?o*.2026833970057931:3.141592653589793)))*1.25+-2.5));i=i+1|0;if((i|0)<(e[f>>2]|0))n=a+n|0;else break}if((i|0)<64)l=13}else{i=0;l=13}if((l|0)==13)while(1){r[s+768+(i<<2)>>2]=1;i=i+1|0;if((i|0)==64)break;else l=13}if((w|0)<=0){t=E;return}i=0;do{n=e[v+(i<<2)>>2]|0;a=i;i=i+1|0;f=e[v+(i<<2)>>2]|0;k=~~+x(+((+(n|0)+-.5)*h+.5));l=~~+x(+((+(f|0)+-.5)*h+.5));l=e[_+(((l|0)>(m|0)?m:l)<<2)>>2]|0;e[s+1972+(a<<2)>>2]=((e[_+(((k|0)<0?0:k)<<2)>>2]|0)+l|0)/2|0;e[s+2060+(a<<2)>>2]=l;o=+r[p+(l<<2)>>2];o=(+(f|0)*S-o)/(+r[p+(l+1<<2)>>2]-o);if(!(o<0)){if(o>1)o=1}else o=0;r[s+1112+(a<<2)>>2]=o;o=+F(+(n|0)*S);r[s+1024+(a<<2)>>2]=+d(10,+((1-+N(+(o<15.5?o*.2026833970057931:3.141592653589793)))*1.25+-2.5))}while((i|0)!=(w|0));t=E;return}function hr(w,h,u,f,s,i){w=w|0;h=h|0;u=u|0;f=f|0;s=s|0;i=i|0;var n=0,a=0,o=0,d=0,S=0,E=0,p=0,m=0,_=0;_=t;t=t+16384|0;m=_;c(m|0,0,16384)|0;p=(u|0)>0;if(p){a=0;do{S=+r[f+(a<<2)>>2];E=+r[i+(a<<2)>>2];n=0;do{o=S-+r[f+(n<<2)>>2];o=o*(!(o>=0)?1.5:3);if(!(o>=.5)|!(o<=2.5))d=0;else{d=o+-.5;d=(d*d-d*2)*8}o=o+.474;o=o*7.5+15.811389-+ae(+(o*o+1))*17.5;if(!(o<=-60))o=+v(+((o+d)*.23025850929940458))*1.5130440282194817;else o=0;r[m+(a<<8)+(n<<2)>>2]=+r[s+(n<<2)>>2]*o*E;n=n+1|0}while((n|0)!=(u|0));a=a+1|0}while((a|0)!=(u|0));if(p){f=0;i=0;do{n=0;do{if(+r[m+(f<<8)+(n<<2)>>2]>0)break;n=n+1|0}while((n|0)<(u|0));e[h+(f<<3)>>2]=n;s=u;while(1){a=s+-1|0;if((s|0)<=1)break;if(+r[m+(f<<8)+(a<<2)>>2]>0)break;else s=a}e[h+(f<<3)+4>>2]=a;i=i+s-n|0;f=f+1|0}while((f|0)!=(u|0));i=i<<2}else i=0}else i=0;i=W(i)|0;e[w>>2]=i;i=(i|0)==0;if(i|p^1){u=i<<31>>31;t=_;return u|0}else{s=0;i=0}do{n=e[h+(s<<3)>>2]|0;a=e[h+(s<<3)+4>>2]|0;if((n|0)<=(a|0)){l((e[w>>2]|0)+(i<<2)|0,m+(s<<8)+(n<<2)|0,a+1-n<<2|0)|0;i=i+1+a-n|0}s=s+1|0}while((s|0)!=(u|0));i=0;t=_;return i|0}function Jr(r){r=r|0;e[r+85824>>2]=(e[r+85756>>2]&4|0)==0?6:5;return}function Xr(n,m,S,k){n=n|0;m=m|0;S=S|0;k=k|0;var _=0,p=0,h=0,u=0,o=0,a=0,M=0,E=0,g=0,i=0,f=0,b=0,w=0,R=0,G=0,X=0,K=0,Y=0,A=0,F=0,I=0,D=0,W=0,q=0,O=0,B=0,V=0,z=0,L=0,U=0,N=0,C=0,j=0,y=0,x=0;y=t;t=t+10592|0;O=y+5336|0;B=y+3032|0;z=y+2408|0;N=y+104|0;V=y+40|0;U=y+24|0;L=y+8|0;j=y;I=n+116|0;D=n+84744|0;e[D>>2]=e[I>>2];q=T(n,B)|0;C=n+76|0;e[B>>2]=(q|0)/(e[C>>2]|0)|0;q=n+112|0;e[D>>2]=e[q>>2];e[D>>2]=1;e[O>>2]=ee(n)|0;if((e[I>>2]|0)>=1){o=1;while(1){e[D>>2]=o;e[V+(o<<2)>>2]=T(n,O)|0;if((o|0)<(e[I>>2]|0))o=o+1|0;else break}}p=e[C>>2]|0;e:do if((p|0)>0){b=n+84756|0;R=n+72|0;_=n+84916|0;h=n+84908|0;u=n+84912|0;o=1;g=0;w=0;do{M=L+(w<<3)|0;a=ze(n,m,M,e[B>>2]|0,w,0)|0;if((e[b>>2]|0)==2){f=0;do{A=n+304+(w*10504|0)+(f<<2)|0;x=+r[A>>2];F=n+304+(w*10504|0)+5252+(f<<2)|0;E=+r[F>>2];r[A>>2]=(E+x)*.7071067690849304;r[F>>2]=(x-E)*.7071067690849304;f=f+1|0}while((f|0)!=576);ge(M,+r[S+(w<<2)>>2],e[B>>2]|0,a)}a=e[R>>2]|0;if((a|0)>0){i=0;do{f=n+304+(w*10504|0)+(i*5252|0)|0;E=+v(+(3.5-+r[m+(w<<3)+(i<<2)>>2]*.0033333333333333335))+1;if((e[n+304+(w*10504|0)+(i*5252|0)+4788>>2]|0)==2)E=+r[_>>2]-(2.56/E+-.14);else E=+r[u>>2]-(1.28/E+-.05);r[h>>2]=+d(10,+(E*.1));Se(n,f);a=(J(n,k+(w*976|0)+(i*488|0)|0,f,z+(w*312|0)+(i*156|0)|0)|0)==0;o=a?o:0;e[U+(w<<3)+(i<<2)>>2]=126;g=(e[L+(w<<3)+(i<<2)>>2]|0)+g|0;i=i+1|0;a=e[R>>2]|0}while((i|0)<(a|0))}w=w+1|0;p=e[C>>2]|0}while((w|0)<(p|0));b=a;if((p|0)>0){if((g|0)<=0){h=b;u=b;i=0;while(1){if((h|0)>0){a=0;do{h=U+(i<<3)+(a<<2)|0;_=e[L+(i<<3)+(a<<2)>>2]|0;if((e[h>>2]|0)>(_|0)){e[h>>2]=_;u=b}a=a+1|0}while((a|0)<(u|0));_=u}else{_=u;u=h}i=i+1|0;if((i|0)>=(p|0))break e;else{h=u;u=_}}}h=(b|0)>0;f=0;do{if(h){_=e[V+(e[I>>2]<<2)>>2]|0;M=(g|0)>(_|0);i=0;do{a=L+(f<<3)+(i<<2)|0;u=e[a>>2]|0;if(M){u=(s(u,_)|0)/(g|0)|0;e[a>>2]=u}a=U+(f<<3)+(i<<2)|0;if((e[a>>2]|0)>(u|0))e[a>>2]=u;i=i+1|0}while((i|0)<(b|0))}f=f+1|0}while((f|0)<(p|0))}}else{R=n+72|0;o=1}while(0);G=(o|0)==0;X=n+124|0;K=n+85824|0;Y=n+85096|0;A=n+85092|0;F=O+2304|0;S=0;a=0;e:while(1){if((S|0)>=(p|0)){if(!G?(e[X>>2]|0)==0:0)o=1;else o=e[q>>2]|0;e[D>>2]=o;u=e[I>>2]|0;r:do if((o|0)<(u|0))do{if((a|0)<=(e[V+(o<<2)>>2]|0))break r;o=o+1|0;e[D>>2]=o}while((o|0)<(u|0));while(0);k=(a|0)>(T(n,j)|0);p=e[C>>2]|0;o=(p|0)>0;if(!k)break;if(!o){S=0;a=0;continue}h=e[R>>2]|0;_=(h|0)>0;a=0;b=z;while(1){if(_){o=0;u=b;while(1){f=z+(a*312|0)+(o*156|0)|0;g=e[n+304+(a*10504|0)+(o*5252|0)+4856>>2]|0;if((g|0)>0){M=(g|0)>1;i=0;while(1){E=+(i|0);r[f>>2]=(E*E*5991735537190083e-20+1)*+r[f>>2];i=i+1|0;if((i|0)==(g|0))break;else f=f+4|0}f=u+((M?g:1)<<2)|0}if((e[n+304+(a*10504|0)+(o*5252|0)+4788>>2]|0)==2?(W=e[n+304+(a*10504|0)+(o*5252|0)+4852>>2]|0,(W|0)<13):0){i=W;while(1){E=+(i|0);E=E*E*.0001715976331360947+1;m=f+4|0;r[f>>2]=E*+r[f>>2];k=f+8|0;r[m>>2]=E*+r[m>>2];r[k>>2]=+r[k>>2]*E;i=i+1|0;if((i|0)==13)break;else f=f+12|0}}x=+(e[U+(a<<3)+(o<<2)>>2]|0);k=L+(a<<3)+(o<<2)|0;E=+(e[k>>2]|0)*.9;e[k>>2]=~~(x>E?x:E);o=o+1|0;if((o|0)>=(h|0))break;else u=u+156|0}}a=a+1|0;if((a|0)<(p|0))b=b+312|0;else{S=0;a=0;continue e}}}if((e[R>>2]|0)>0){m=0;do{k=n+304+(S*10504|0)+(m*5252|0)|0;r[O>>2]=0;w=e[n+304+(S*10504|0)+(m*5252|0)+5208>>2]|0;r[n+304+(S*10504|0)+(m*5252|0)+4764>>2]=0;c(N+(w<<2)|0,0,576-w<<2|0)|0;H[e[K>>2]&7](k,N,w,O);if(+r[O>>2]>9.999999682655225e-21){o=(e[Y>>2]|0)>>>1&1;u=n+304+(S*10504|0)+(m*5252|0)+4864|0;if((e[u>>2]|0)>0){f=0;do{e[n+84936+(f<<2)>>2]=o;f=f+1|0}while((f|0)<(e[u>>2]|0))}i=e[L+(S<<3)+(m<<2)>>2]|0;if(i){w=z+(S*312|0)+(m*156|0)|0;u=e[U+(S<<3)+(m<<2)>>2]|0;p=e[A>>2]|0;c(F|0,0,2304)|0;_=i+-42|0;h=n+304+(S*10504|0)+(m*5252|0)+4768|0;b=u;o=i;f=0;i=(u+i|0)/2|0;while(1){e[A>>2]=(i|0)>(_|0)?0:p;if((xe(n,k,w,N,m,i)|0)>=1){g=i+32|0;M=o-g|0;i=(o+g|0)/2|0;if(!f)f=0;else{l(k|0,O|0,5252)|0;l(N|0,B|0,2304)|0;f=2}}else{i=e[h>>2]|0;l(O|0,k|0,5252)|0;l(B|0,N|0,2304)|0;i=i+-32|0;g=b;o=i;M=i-b|0;f=1;i=(i+b|0)/2|0}if((M|0)>12)b=g;else break}e[A>>2]=p;if((f|0)==2)l(n+304+(S*10504|0)+(m*5252|0)+2304|0,F|0,2304)|0;if(e[Y>>2]&1)kr(n,k,w,N);a=(e[h>>2]|0)+a+(e[n+304+(S*10504|0)+(m*5252|0)+4844>>2]|0)|0}}else c(n+304+(S*10504|0)+(m*5252|0)+2304|0,0,2304)|0;m=m+1|0}while((m|0)<(e[R>>2]|0));p=e[C>>2]|0}S=S+1|0}if(!o){F=e[j>>2]|0;P(n,F);t=y;return}u=n+304|0;o=n+36|0;_=e[R>>2]|0;h=0;do{if((_|0)>0){p=0;do{_=n+304+(h*10504|0)+(p*5252|0)|0;Oe(n,h,p,u);if((e[o>>2]|0)==1)oe(n,_);le(n,_);p=p+1|0;_=e[R>>2]|0}while((p|0)<(_|0));p=e[C>>2]|0}h=h+1|0}while((h|0)<(p|0));F=e[j>>2]|0;P(n,F);t=y;return}function Kr(i,D,n,L){i=i|0;D=D|0;n=n|0;L=L|0;var o=0,l=0,f=0,y=0,a=0,h=0,_=0,u=0,p=0,x=0,m=0,A=0,O=0,v=0,N=0,k=0,b=0,F=0,E=0,S=0,I=0,g=0,R=0,w=0,C=0,B=0;w=t;t=t+9936|0;I=w;b=w+9932|0;A=w+9928|0;N=w+9304|0;F=w+88|0;S=w+24|0;k=w+8|0;R=w+4|0;c(F|0,0,9216)|0;E=i+152|0;if(!(e[E>>2]|0)){o=i+116|0;n=i+84744|0;e[n>>2]=e[o>>2];T(i,A)|0;y=e[i+52144>>2]|0;e[n>>2]=e[i+112>>2];e[n>>2]=1;e[b>>2]=ee(i)|0;f=e[o>>2]|0;if((f|0)>=1){l=1;while(1){e[n>>2]=l;e[S+(l<<2)>>2]=T(i,b)|0;f=e[o>>2]|0;if((l|0)<(f|0))l=l+1|0;else break}}O=e[S+(f<<2)>>2]|0}else{e[i+84744>>2]=0;O=T(i,A)|0;e[S>>2]=O;y=e[i+52144>>2]|0}g=i+76|0;f=e[g>>2]|0;if((f|0)>0){u=i+84756|0;_=i+72|0;o=i+84912|0;x=i+84908|0;l=1;n=0;m=0;do{ze(i,D,k+(m<<3)|0,e[A>>2]|0,m,0)|0;if((e[u>>2]|0)==2){h=0;do{a=i+304+(m*10504|0)+(h<<2)|0;B=+r[a>>2];f=i+304+(m*10504|0)+5252+(h<<2)|0;C=+r[f>>2];r[a>>2]=(C+B)*.7071067690849304;r[f>>2]=(B-C)*.7071067690849304;h=h+1|0}while((h|0)!=576)}a=e[_>>2]|0;if((a|0)>0){p=0;do{a=i+304+(m*10504|0)+(p*5252|0)|0;r[x>>2]=+d(10,+(+r[o>>2]*.1));Se(i,a);a=(J(i,L+(m*976|0)+(p*488|0)|0,a,N+(m*312|0)+(p*156|0)|0)|0)==0;l=a?l:0;n=(e[k+(m<<3)+(p<<2)>>2]|0)+n|0;p=p+1|0;a=e[_>>2]|0}while((p|0)<(a|0))}m=m+1|0;f=e[g>>2]|0}while((m|0)<(f|0));u=a;if((f|0)>0){_=(n|0)>(O|0)&(n|0)>0;o=u;h=0;do{if((o|0)>0){a=0;do{if(_){o=k+(h<<3)+(a<<2)|0;e[o>>2]=(s(e[o>>2]|0,O)|0)/(n|0)|0;o=u}a=a+1|0}while((a|0)<(o|0))}h=h+1|0}while((h|0)<(f|0))}if(!l)l=0;else v=21}else{l=1;v=21}if((v|0)==21)y=0;if((f|0)>0){_=i+72|0;h=i+85824|0;p=i+85096|0;o=e[_>>2]|0;u=0;do{if((o|0)>0){a=0;do{r[b>>2]=0;v=e[i+304+(u*10504|0)+(a*5252|0)+5208>>2]|0;r[i+304+(u*10504|0)+(a*5252|0)+4764>>2]=0;c(F+(u*4608|0)+(a*2304|0)+(v<<2)|0,0,576-v<<2|0)|0;H[e[h>>2]&7](i+304+(u*10504|0)+(a*5252|0)|0,F+(u*4608|0)+(a*2304|0)|0,v,b);if(+r[b>>2]>9.999999682655225e-21){f=(e[p>>2]|0)>>>1&1;o=i+304+(u*10504|0)+(a*5252|0)+4864|0;if((e[o>>2]|0)>0){n=0;do{e[i+84936+(n<<2)>>2]=f;n=n+1|0}while((n|0)<(e[o>>2]|0))}}else{c(i+304+(u*10504|0)+(a*5252|0)+2304|0,0,2304)|0;e[k+(u<<3)+(a<<2)>>2]=0}a=a+1|0;o=e[_>>2]|0}while((a|0)<(o|0));f=e[g>>2]|0}u=u+1|0}while((u|0)<(f|0))}f=ot(i|0,F|0,N|0,k|0)|0;do if(!(e[E>>2]|0)){if((l|0)!=0?(e[i+124>>2]|0)==0:0)n=1;else n=e[i+112>>2]|0;o=e[i+116>>2]|0;e:do if((n|0)<(o|0))do{if((f|0)<=(e[S+(n<<2)>>2]|0))break e;n=n+1|0}while((n|0)<(o|0));while(0);n=(n|0)>(o|0)?o:n;if((y|0)<=0){e[i+84744>>2]=n;o=n;break}e:do if((o|0)>(n|0))do{if(((e[S+(o<<2)>>2]|0)-f|0)<=(y|0))break e;o=o+-1|0}while((o|0)>(n|0));while(0);e[i+84744>>2]=o}else{e[i+84744>>2]=0;o=0}while(0);if((f|0)>(e[S+(o<<2)>>2]|0)){M(i,11768,I);oi(-1)}T(i,R)|0;n=e[g>>2]|0;if((n|0)<=0){E=e[R>>2]|0;P(i,E);t=w;return}f=i+72|0;o=e[f>>2]|0;l=0;do{if((o|0)>0){n=0;do{le(i,i+304+(l*10504|0)+(n*5252|0)|0);n=n+1|0;o=e[f>>2]|0}while((n|0)<(o|0));n=e[g>>2]|0}l=l+1|0}while((l|0)<(n|0));E=e[R>>2]|0;P(i,E);t=w;return}function Yr(n,F,m,B){n=n|0;F=F|0;m=m|0;B=B|0;var h=0,i=0,w=0,l=0,f=0,o=0,u=0,_=0,L=0,v=0,k=0,a=0,U=0,p=0,E=0,z=0,O=0,R=0,D=0,b=0,M=0,A=0,I=0,N=0,S=0,g=0,C=0,y=0,x=0;y=t;t=t+2496|0;S=y+2484|0;I=y+2328|0;C=y+24|0;g=y+8|0;N=y;z=n+304|0;e[N>>2]=0;O=n+76|0;i=e[O>>2]|0;M=n+116|0;A=n+84744|0;e[A>>2]=e[M>>2];E=T(n,S)|0;e[A>>2]=1;D=ee(n)|0;l=e[n+24>>2]<<3;h=e[O>>2]|0;R=n+72|0;p=e[R>>2]|0;f=s(p,h)|0;D=(D-l|0)/(f|0)|0;i=s(i*576e3|0,e[n+108>>2]|0)|0;e[S>>2]=i;b=n+85096|0;if(e[b>>2]&1){i=~~(+(i|0)*1.09);e[S>>2]=i}k=(((i|0)/(e[n+64>>2]|0)|0)-l|0)/(f|0)|0;e[S>>2]=k;w=(11-+r[n+244>>2])*.012727272727272728+.93;w=w<.9?.8999999761581421:w;U=(h|0)>0;if(U){l=~~((w>1?1:w)*+(k|0));f=(k|0)/2|0;_=(k*3|0)/2|0;L=(p|0)>0;v=0;do{if(L){i=0;u=0;do{a=g+(v<<3)+(i<<2)|0;e[a>>2]=l;w=+r[F+(v<<3)+(i<<2)>>2];if(w>700){o=~~((w+-700)*.7142857142857143);o=((o|0)<(f|0)?(e[n+304+(v*10504|0)+(i*5252|0)+4788>>2]|0)==2:0)?f:o;o=((o|0)>(_|0)?_:(o|0)<0?0:o)+l|0;e[a>>2]=o}else o=l;if((o|0)>4095){e[a>>2]=4095;o=4095}u=o+u|0;i=i+1|0}while((i|0)<(p|0));if((u|0)>7680){o=0;do{a=g+(v<<3)+(o<<2)|0;e[a>>2]=((e[a>>2]|0)*7680|0)/(u|0)|0;o=o+1|0}while((o|0)<(p|0))}}v=v+1|0}while((v|0)<(h|0))}F=n+84756|0;if((e[F>>2]|0)==2)if(U){ge(g,+r[m>>2],s(k,p)|0,7680);h=e[O>>2]|0;if((h|0)>1){i=1;do{ge(g+(i<<3)|0,+r[m+(i<<2)>>2],s(e[S>>2]|0,e[R>>2]|0)|0,7680);i=i+1|0;h=e[O>>2]|0}while((i|0)<(h|0));m=17}else m=17}else m=30;else m=17;if((m|0)==17)if((h|0)>0){a=e[R>>2]|0;o=(a|0)>0;_=0;i=0;do{if(o){u=0;do{l=g+(_<<3)+(u<<2)|0;f=e[l>>2]|0;if((f|0)>4095){e[l>>2]=4095;f=4095}i=f+i|0;u=u+1|0}while((u|0)<(a|0))}_=_+1|0}while((_|0)<(h|0));if((i|0)>0&(i|0)>(E|0)){o=(a|0)>0;l=h;u=0;do{if(o){f=0;do{p=g+(u<<3)+(f<<2)|0;e[p>>2]=(s(e[p>>2]|0,E)|0)/(i|0)|0;f=f+1|0}while((f|0)<(a|0));l=h}u=u+1|0}while((u|0)<(l|0))}if((h|0)>0){_=n+84912|0;h=n+84916|0;L=n+84908|0;v=n+85824|0;k=n+36|0;a=0;do{if((e[F>>2]|0)==2){f=0;do{p=n+304+(a*10504|0)+(f<<2)|0;x=+r[p>>2];E=n+304+(a*10504|0)+5252+(f<<2)|0;w=+r[E>>2];r[p>>2]=(w+x)*.7071067690849304;r[E>>2]=(x-w)*.7071067690849304;f=f+1|0}while((f|0)!=576)}if((e[R>>2]|0)>0){i=0;do{l=n+304+(a*10504|0)+(i*5252|0)|0;r[L>>2]=+d(10,+(+r[((e[n+304+(a*10504|0)+(i*5252|0)+4788>>2]|0)==2?h:_)>>2]*.1));Se(n,l);r[S>>2]=0;E=e[n+304+(a*10504|0)+(i*5252|0)+5208>>2]|0;r[n+304+(a*10504|0)+(i*5252|0)+4764>>2]=0;c(C+(E<<2)|0,0,576-E<<2|0)|0;H[e[v>>2]&7](l,C,E,S);if(+r[S>>2]>9.999999682655225e-21){u=(e[b>>2]|0)>>>1&1;o=n+304+(a*10504|0)+(i*5252|0)+4864|0;if((e[o>>2]|0)>0){f=0;do{e[n+84936+(f<<2)>>2]=u;f=f+1|0}while((f|0)<(e[o>>2]|0))}o=g+(a<<3)+(i<<2)|0;if(!(J(n,B+(a*976|0)+(i*488|0)|0,l,I)|0)){e[o>>2]=D;o=D}else o=e[o>>2]|0;xe(n,l,I,C,i,o)|0}else c(n+304+(a*10504|0)+(i*5252|0)+2304|0,0,2304)|0;Oe(n,a,i,z);if((e[k>>2]|0)==1)oe(n,l);le(n,l);i=i+1|0}while((i|0)<(e[R>>2]|0))}a=a+1|0}while((a|0)<(e[O>>2]|0))}}else m=30;b=e[n+112>>2]|0;e[A>>2]=b;if((b|0)>(e[M>>2]|0)){M=e[N>>2]|0;P(n,M);t=y;return}while(1){if((T(n,N)|0)>-1){m=51;break}b=e[A>>2]|0;e[A>>2]=b+1;if((b|0)>=(e[M>>2]|0)){m=51;break}}if((m|0)==51){M=e[N>>2]|0;P(n,M);t=y;return}}function jr(i,v,g,l){i=i|0;v=v|0;g=g|0;l=l|0;var s=0,a=0,u=0,o=0,m=0,L=0,S=0,D=0,N=0,A=0,y=0,R=0,O=0,F=0,M=0,n=0,k=0,h=0,_=0,p=0,w=0,f=0,E=0,b=0;f=t;t=t+2480|0;_=f+2476|0;k=f+2320|0;w=f+16|0;p=f+8|0;h=f;L=i+304|0;T(i,h)|0;S=i+76|0;if((e[S>>2]|0)<=0){l=e[h>>2]|0;P(i,l);t=f;return}A=i+84756|0;y=i+72|0;R=i+84912|0;O=i+84916|0;F=i+84908|0;M=i+85824|0;D=i+85096|0;N=i+36|0;n=0;do{s=ze(i,v,p,e[h>>2]|0,n,n)|0;if((e[A>>2]|0)==2){a=0;do{o=i+304+(n*10504|0)+(a<<2)|0;b=+r[o>>2];u=i+304+(n*10504|0)+5252+(a<<2)|0;E=+r[u>>2];r[o>>2]=(E+b)*.7071067690849304;r[u>>2]=(b-E)*.7071067690849304;a=a+1|0}while((a|0)!=576);ge(p,+r[g+(n<<2)>>2],e[h>>2]|0,s)}if((e[y>>2]|0)>0){o=0;do{s=i+304+(n*10504|0)+(o*5252|0)|0;r[F>>2]=+d(10,+(+r[((e[i+304+(n*10504|0)+(o*5252|0)+4788>>2]|0)==2?O:R)>>2]*.1));Se(i,s);r[_>>2]=0;a=e[i+304+(n*10504|0)+(o*5252|0)+5208>>2]|0;r[i+304+(n*10504|0)+(o*5252|0)+4764>>2]=0;c(w+(a<<2)|0,0,576-a<<2|0)|0;H[e[M>>2]&7](s,w,a,_);if(+r[_>>2]>9.999999682655225e-21){a=(e[D>>2]|0)>>>1&1;u=i+304+(n*10504|0)+(o*5252|0)+4864|0;if((e[u>>2]|0)>0){m=0;do{e[i+84936+(m<<2)>>2]=a;m=m+1|0}while((m|0)<(e[u>>2]|0))}J(i,l+(n*976|0)+(o*488|0)|0,s,k)|0;xe(i,s,k,w,o,e[p+(o<<2)>>2]|0)|0}else c(i+304+(n*10504|0)+(o*5252|0)+2304|0,0,2304)|0;Oe(i,n,o,L);if((e[N>>2]|0)==1)oe(i,s);le(i,s);o=o+1|0}while((o|0)<(e[y>>2]|0))}n=n+1|0}while((n|0)<(e[S>>2]|0));l=e[h>>2]|0;P(i,l);t=f;return}function Vr(n,a,o,t){n=n|0;a=a|0;o=o|0;t=t|0;var e=0,s=0,i=0,f=0;r[t>>2]=0;if((o|0)<0)return;s=n+4764|0;e=0;i=0;while(1){f=+p(+ +r[n+(i<<2)>>2]);r[t>>2]=e+f;e=f;e=+ae(+(+ae(+e)*e));r[a+(i<<2)>>2]=e;if(e>+r[s>>2])r[s>>2]=e;if((i|0)==(o|0))break;e=+r[t>>2];i=i+1|0}return}function Se(h,n){h=h|0;n=n|0;var d=0,o=0,s=0,a=0,f=0,u=0,w=0,i=0,m=0,E=0,_=0,k=0,v=0,b=0,S=0;b=t;t=t+2304|0;v=b;e[n+4768>>2]=0;e[n+4772>>2]=0;e[n+4776>>2]=0;e[n+4780>>2]=210;e[n+4784>>2]=0;_=h+64|0;o=n+4796|0;d=o+52|0;do{e[o>>2]=0;o=o+4|0}while((o|0)<(d|0));f=n+4848|0;if((e[_>>2]|0)<8001){e[f>>2]=17;s=17;o=9;d=17}else{e[f>>2]=21;s=(e[h+85092>>2]|0)!=0?22:21;o=12;d=21}i=n+4852|0;e[i>>2]=o;E=n+4856|0;e[E>>2]=s;a=n+4864|0;e[a>>2]=s;m=n+4860|0;e[m>>2]=d;u=n+4868|0;e[u>>2]=11;s=0;do{o=s;s=s+1|0;e[n+4872+(o<<2)>>2]=(e[h+21360+(s<<2)>>2]|0)-(e[h+21360+(o<<2)>>2]|0);e[n+5028+(o<<2)>>2]=3}while((s|0)!=22);k=n+4788|0;if((e[k>>2]|0)==2){e[i>>2]=0;e[f>>2]=0;if(!(e[n+4792>>2]|0)){d=0;o=0}else{e[i>>2]=3;o=(e[h+76>>2]<<1)+4|0;e[f>>2]=o;d=3}if((e[_>>2]|0)<8001){s=((9-d|0)*3|0)+o|0;e[a>>2]=s}else{e[a>>2]=((((e[h+85092>>2]|0)!=0?13:12)-d|0)*3|0)+o;s=((12-d|0)*3|0)+o|0}e[m>>2]=s;e[u>>2]=s+-18;e[E>>2]=o;s=e[h+21360+(o<<2)>>2]|0;l(v|0,n|0,2304)|0;m=e[h+21452+(d<<2)>>2]|0;s=n+(s<<2)|0;a=d;do{a=a+1|0;i=m;m=e[h+21452+(a<<2)>>2]|0;if((m|0)>(i|0)){E=m-i|0;u=s;f=i;while(1){e[u>>2]=e[v+(f*3<<2)>>2];f=f+1|0;if((f|0)==(m|0))break;else u=u+4|0}u=s+(E<<2)|0;f=i;while(1){e[u>>2]=e[v+((f*3|0)+1<<2)>>2];
- f=f+1|0;if((f|0)==(m|0))break;else u=u+4|0}u=s+(E<<1<<2)|0;while(1){e[u>>2]=e[v+((i*3|0)+2<<2)>>2];i=i+1|0;if((i|0)==(m|0))break;else u=u+4|0}s=s+(E*3<<2)|0}}while((a|0)!=13);while(1){m=d;d=d+1|0;m=(e[h+21452+(d<<2)>>2]|0)-(e[h+21452+(m<<2)>>2]|0)|0;_=o+2|0;e[n+4872+(_<<2)>>2]=m;E=o+1|0;e[n+4872+(E<<2)>>2]=m;e[n+4872+(o<<2)>>2]=m;e[n+5028+(o<<2)>>2]=0;e[n+5028+(E<<2)>>2]=1;e[n+5028+(_<<2)>>2]=2;if((d|0)==13)break;else o=o+3|0}}e[n+5184>>2]=0;e[n+5188>>2]=11824;_=n+5192|0;e[_>>2]=0;e[_+4>>2]=0;e[_+8>>2]=0;e[_+12>>2]=0;e[n+5208>>2]=575;c(n+4608|0,0,156)|0;_=e[h+104>>2]|0;if((_|0)==0|(_|0)==3|(_|0)==4|(_|0)==1){t=b;return}v=e[h+85796>>2]|0;if((e[k>>2]|0)!=2){a=v+8|0;f=v+20|0;u=h+84852|0;i=5;e:while(1){d=e[h+21508+(i<<2)>>2]|0;s=e[h+21508+(i+1<<2)>>2]|0;w=+ye(+r[a>>2],+r[v+164+(i<<2)>>2],+r[f>>2],0);S=+r[u>>2];w=S>9.999999960041972e-13?S*w:w;if((s|0)>(d|0))do{s=s+-1|0;o=n+(s<<2)|0;if(!(+p(+ +r[o>>2])<w)){d=32;break e}r[o>>2]=0}while((s|0)>(d|0));if((i|0)>0)i=i+-1|0;else{d=32;break}}if((d|0)==32){t=b;return}}d=h+21500|0;_=h+21504|0;E=h+21536|0;m=v+8|0;s=v+20|0;o=h+84904|0;a=5;e:while(1){i=e[h+21536+(a<<2)>>2]|0;f=((e[d>>2]|0)*3|0)+(i-(e[E>>2]|0))|0;i=(e[h+21536+(a+1<<2)>>2]|0)-i|0;w=+ye(+r[m>>2],+r[v+188+(a<<2)>>2],+r[s>>2],0);S=+r[o>>2];w=S>9.999999960041972e-13?S*w:w;if((i|0)>0){u=i+f|0;do{u=u+-1|0;i=n+(u<<2)|0;if(!(+p(+ +r[i>>2])<w)){a=5;break e}r[i>>2]=0}while((u|0)>(f|0))}if((a|0)>0)a=a+-1|0;else{a=5;break}}e:while(1){f=e[d>>2]|0;i=e[h+21536+(a<<2)>>2]|0;f=(e[_>>2]|0)-f+(f*3|0)+(i-(e[E>>2]|0))|0;i=(e[h+21536+(a+1<<2)>>2]|0)-i|0;w=+ye(+r[m>>2],+r[v+188+(a<<2)>>2],+r[s>>2],0);S=+r[o>>2];w=S>9.999999960041972e-13?S*w:w;if((i|0)>0){u=i+f|0;do{u=u+-1|0;i=n+(u<<2)|0;if(!(+p(+ +r[i>>2])<w)){a=5;break e}r[i>>2]=0}while((u|0)>(f|0))}if((a|0)>0)a=a+-1|0;else{a=5;break}}e:while(1){f=e[d>>2]|0;i=e[h+21536+(a<<2)>>2]|0;f=((e[_>>2]|0)-f<<1)+(f*3|0)+(i-(e[E>>2]|0))|0;i=(e[h+21536+(a+1<<2)>>2]|0)-i|0;w=+ye(+r[m>>2],+r[v+188+(a<<2)>>2],+r[s>>2],0);S=+r[o>>2];w=S>9.999999960041972e-13?S*w:w;if((i|0)>0){u=i+f|0;do{u=u+-1|0;i=n+(u<<2)|0;if(!(+p(+ +r[i>>2])<w)){d=32;break e}r[i>>2]=0}while((u|0)>(f|0))}if((a|0)>0)a=a+-1|0;else{d=32;break}}if((d|0)==32){t=b;return}}function xe(v,F,G,M,i,ee){v=v|0;F=F|0;G=G|0;M=M|0;i=i|0;ee=ee|0;var o=0,n=0,u=0,E=0,y=0,S=0,R=0,w=0,N=0,U=0,f=0,a=0,m=0,d=0,Y=0,_e=0,pe=0,ne=0,te=0,Z=0,$=0,he=0,x=0,P=0,W=0,L=0,de=0,j=0,T=0,z=0,ie=0,Ee=0,ve=0,Se=0,ce=0,me=0,V=0,q=0,le=0,se=0,A=0,D=0,re=0,we=0,oe=0,O=0,be=0,J=0,ue=0,K=0,Q=0,_=0,k=0,h=0,C=0,g=0,H=0,X=0,B=0,fe=0;B=t;t=t+8256|0;h=B+2992|0;X=B+688|0;C=B+528|0;k=B+504|0;H=B+24|0;g=B;U=v+84928+(i<<2)|0;o=e[U>>2]|0;R=v+84920+(i<<2)|0;w=e[R>>2]|0;N=F+4780|0;e[N>>2]=w;S=ee-(e[F+4844>>2]|0)|0;i=I(v,M,F,0)|0;if(!((o|0)==1|(i|0)==(S|0))){u=0;n=0;while(1){if((i|0)>(S|0)){y=(u|0)==2?1:n;n=(y|0)==0?o:(o|0)/2|0;o=n;u=1}else{y=(u|0)==1?1:n;n=(y|0)==0?o:(o|0)/2|0;o=n;u=2;n=0-n|0}i=(e[N>>2]|0)+n|0;n=(i|0)<0;i=n?0:i;E=(i|0)>255;e[N>>2]=E?255:i;i=I(v,M,F,0)|0;if((o|0)==1|(i|0)==(S|0))break;else n=n|E?1:y}}e:do if((i|0)>(S|0))do{o=e[N>>2]|0;if((o|0)>=255)break e;e[N>>2]=o+1;i=I(v,M,F,0)|0}while((i|0)>(S|0));while(0);e[U>>2]=(w-(e[N>>2]|0)|0)>3?4:2;e[R>>2]=e[N>>2];Q=F+4768|0;e[Q>>2]=i;te=v+28|0;if(!(e[te>>2]|0)){O=100;t=B;return O|0}c(H|0,0,476)|0;Fe(F,G,C,k,H)|0;Z=k+20|0;e[Z>>2]=e[Q>>2];l(h|0,F|0,5252)|0;l(X|0,M|0,2304)|0;$=v+85096|0;he=v+85092|0;x=h+4836|0;P=h+4860|0;W=v+40|0;L=h+4764|0;de=h+4844|0;j=h+4768|0;T=h+4780|0;z=k+12|0;ie=g+20|0;Ee=F+4788|0;ve=v+84|0;Se=v+88|0;ce=g+16|0;me=k+16|0;V=g+8|0;q=k+8|0;le=v+48|0;se=g+12|0;A=g+4|0;D=k+4|0;re=h+4864|0;we=v+84936|0;oe=h+4832|0;O=h+4788|0;be=v+32|0;J=h+4848|0;ue=h+4868|0;K=0;ne=0;U=9999999;while(1){_e=(K|0)==1?2:1;pe=(K|0)!=0;Y=0;e:while(1){N=(e[$>>2]&2|0)==0?3:20;u=e[P>>2]|0;if(e[he>>2]|0){if(+r[C+(u<<2)>>2]>1){_=167;break}if((e[O>>2]|0)==2){if(+r[C+(u+1<<2)>>2]>1){_=167;break}if(+r[C+(u+2<<2)>>2]>1){_=167;break}}}f=(e[x>>2]|0)==0?1.2968395948410034:1.6817928552627563;n=(u|0)>0;if(n){i=0;d=0;do{a=+r[C+(i<<2)>>2];d=d<a?a:d;i=i+1|0}while((i|0)!=(u|0))}else d=0;i=e[W>>2]|0;o=(i|0)==3?_e:i;do if((o|0)!=2)if((o|0)==1){m=d;if(d>1){a=+p(+ +ae(+m));d=d==-er?er:a;break}else{d=m*.95;break}}else if(d>1)d=1;else d=d*.95;while(0);if(n){o=u;u=0;E=0}else{_=167;break}do{n=e[h+4872+(E<<2)>>2]|0;u=n+u|0;if(!(+r[C+(E<<2)>>2]<d)){if(((e[$>>2]&2|0)!=0?(R=v+84936+(E<<2)|0,w=(e[R>>2]|0)==0,e[R>>2]=w&1,!w):0)?(e[W>>2]|0)==2:0){i=2;break}w=h+4608+(E<<2)|0;e[w>>2]=(e[w>>2]|0)+1;if((n|0)>0){m=+r[L>>2];i=0-n|0;while(1){w=M+(i+u<<2)|0;a=+r[w>>2]*f;r[w>>2]=a;if(a>m){r[L>>2]=a;m=a}if((i|0)<-1)i=i+1|0;else break}}i=e[W>>2]|0;if((i|0)==2){i=2;break}o=e[P>>2]|0}E=E+1|0}while((E|0)<(o|0));o=e[P>>2]|0;if((o|0)>0)n=0;else{_=167;break}while(1){if((e[h+4608+(n<<2)>>2]|0)==(0-(e[h+4808+(e[h+5028+(n<<2)>>2]<<2)>>2]|0)|0))break;n=n+1|0;if((n|0)>=(o|0))break e}if(We(v,h)|0){if((e[te>>2]|0)<=1){_=167;break}c(we|0,0,156)|0;r:do if(!(e[x>>2]|0)){if((e[P>>2]|0)>0){u=0;E=0;do{o=e[h+4872+(E<<2)>>2]|0;n=h+4608+(E<<2)|0;i=e[n>>2]|0;if(e[oe>>2]|0)i=(e[12112+(E<<2)>>2]|0)+i|0;u=o+u|0;do if(i&1){i=i+1|0;if((o|0)<=0)break;d=+r[L>>2];o=0-o|0;while(1){w=M+(o+u<<2)|0;m=+r[w>>2]*1.2968395948410034;r[w>>2]=m;if(m>d){r[L>>2]=m;d=m}if((o|0)<-1)o=o+1|0;else break}}while(0);e[n>>2]=i>>1;E=E+1|0}while((E|0)<(e[P>>2]|0))}e[oe>>2]=0;e[x>>2]=1}else{if((e[O>>2]|0)!=2){_=167;break e}if((e[be>>2]|0)<=0){_=167;break e}i=e[J>>2]|0;if((i|0)>0){o=0;while(1){if((e[h+4608+(o<<2)>>2]|0)>15){_=167;break e}o=o+1|0;if((o|0)>=(i|0)){R=3;w=-1;S=0;break}}}else{R=3;w=-1;S=0}while(1){n=S+i|0;u=e[ue>>2]|0;if((n|0)<(u|0)){y=R+i|0;E=(u|0)>(y|0);o=w-i|0;i=0;do{fe=e[h+4608+(n<<2)>>2]|0;i=(i|0)<(fe|0)?fe:i;n=n+3|0}while((n|0)<(u|0));n=(E?u:y)+o|0;u=i;n=n+y-((n>>>0)%3|0)|0}else u=0;i=e[P>>2]|0;if((n|0)<(i|0)){o=0;do{y=e[h+4608+(n<<2)>>2]|0;o=(o|0)<(y|0)?y:o;n=n+3|0}while((n|0)<(i|0))}else o=0;do if((u|0)<16&(o|0)<8)o=S+1|0;else{i=h+4808+(S<<2)|0;o=e[i>>2]|0;if((o|0)>6){_=167;break e}e[i>>2]=o+1;n=e[J>>2]|0;u=e[v+21360+(n<<2)>>2]|0;n=n+S|0;i=e[P>>2]|0;o=S+1|0;if((n|0)<(i|0)){S=2-S|0;do{y=e[h+4872+(n<<2)>>2]|0;i=h+4608+(n<<2)|0;E=(e[i>>2]|0)-(4>>>(e[x>>2]|0))|0;if((E|0)>-1){e[i>>2]=E;u=(y*3|0)+u|0}else{e[i>>2]=0;a=+r[79704+((E<<(e[x>>2]|0)+1)+210<<2)>>2];i=(s(y,o)|0)+u|0;if((y|0)>0){d=+r[L>>2];u=0-y|0;while(1){E=M+(u+i<<2)|0;m=+r[E>>2]*a;r[E>>2]=m;if(m>d){r[L>>2]=m;d=m}if((u|0)<-1)u=u+1|0;else break}}u=i+(s(y,S)|0)|0}n=n+3|0;i=e[P>>2]|0}while((n|0)<(i|0))}a=+r[20128];n=e[h+4872+(n<<2)>>2]|0;u=(s(n,o)|0)+u|0;if((n|0)<=0)break;d=+r[L>>2];n=0-n|0;while(1){S=M+(u+n<<2)|0;m=+r[S>>2]*a;r[S>>2]=m;if(m>d){r[L>>2]=m;d=m}if((n|0)<-1)n=n+1|0;else break}}while(0);if((o|0)>=3)break;i=e[J>>2]|0;R=R+1|0;w=w+-1|0;S=o}if((i|0)>0)o=0;else{_=167;break e}while(1){if((e[h+4608+(o<<2)>>2]|0)==(0-(e[h+4808+(e[h+5028+(o<<2)>>2]<<2)>>2]|0)|0))break r;o=o+1|0;if((o|0)>=(i|0)){_=167;break e}}}while(0);if(We(v,h)|0){_=167;break}}n=(e[x>>2]|0)==0?255:254;o=ee-(e[de>>2]|0)|0;if((o|0)<1){_=167;break}w=I(v,M,h,H)|0;e[j>>2]=w;i=e[T>>2]|0;if((w|0)>(o|0)&(i|0)<=(n|0))do{e[T>>2]=i+1;w=I(v,M,h,H)|0;e[j>>2]=w;i=e[T>>2]|0}while((w|0)>(o|0)&(i|0)<=(n|0));if((i|0)>(n|0)){_=167;break}if(!(e[z>>2]|0)){w=I(v,M,h,H)|0;e[j>>2]=w;i=e[T>>2]|0;if((w|0)>(U|0)&(i|0)<=(n|0))do{e[T>>2]=i+1;w=I(v,M,h,H)|0;e[j>>2]=w;i=e[T>>2]|0}while((w|0)>(U|0)&(i|0)<=(n|0));if((i|0)>(n|0)){_=167;break}}Fe(h,G,C,g,H)|0;n=e[j>>2]|0;e[ie>>2]=n;r:do switch(e[((e[Ee>>2]|0)==2?Se:ve)>>2]|0){case 1:{f=+r[V>>2];_=118;break}case 6:{a=+r[g>>2];f=+r[k>>2];do if(!(a<f)){m=+p(+a);d=+p(+f);a=+p(+(a-f));if(m>d){if(!(a<=m*9.999999974752427e-7)){i=0;break}}else if(!(a<=d*9.999999974752427e-7)){i=0;break}a=+r[V>>2];f=+r[q>>2];if(!(a<f)){d=+p(+a);m=+p(+f);a=+p(+(a-f));if(d>m){if(!(a<=d*9.999999974752427e-7)){i=0;break}}else if(!(a<=m*9.999999974752427e-7)){i=0;break}i=+r[A>>2]<=+r[D>>2]}else i=1}else i=1;while(0);i=i&1;break}case 8:{if((e[re>>2]|0)>0){f=1e-37;i=0;do{a=+r[C+(i<<2)>>2];f=+b(a*a*.632*a+.368)*.30102999566398114+f;i=i+1|0}while((i|0)<(e[re>>2]|0))}else f=1e-37;f=f<1e-20?9.999999682655225e-21:f;r[V>>2]=f;_=118;break}case 7:{if((e[se>>2]|0)<(e[z>>2]|0))i=1;else i=+r[g>>2]<+r[k>>2];i=i&1;break}case 3:{if(+r[A>>2]<+r[D>>2])i=+r[V>>2]<+r[q>>2];else i=0;i=i&1;break}case 5:{a=+r[g>>2];f=+r[k>>2];do if(a<f)i=1;else{d=+p(+a);m=+p(+f);a=+p(+(a-f));if(d>m){if(!(a<=d*9.999999974752427e-7)){i=0;break}}else if(!(a<=m*9.999999974752427e-7)){i=0;break}i=+r[A>>2]<+r[D>>2]}while(0);i=i&1;break}case 2:{i=+r[A>>2]<+r[D>>2]&1;break}case 0:{i=e[se>>2]|0;o=e[z>>2]|0;do if((i|0)>=(o|0))if((i|0)==(o|0)){a=+r[g>>2];f=+r[k>>2];if(a<f)i=1;else{m=+p(+a);d=+p(+f);f=+p(+(a-f));if(m>d){if(!(f<=m*9.999999974752427e-7)){i=0;break}}else if(!(f<=d*9.999999974752427e-7)){i=0;break}i=+r[A>>2]<+r[D>>2]}}else i=0;else i=1;while(0);i=i&1;break}case 4:{d=+r[V>>2];do if(d<=0){m=+r[q>>2];f=m;if(!(f>.2)){a=d;i=f>a+-.2;if(m<0&i?+r[A>>2]<+r[D>>2]:0){i=1;break}if(!(!(m>0)|i^1)?+r[A>>2]<+r[k>>2]+ +r[D>>2]:0)i=1;else _=130}else i=1}else{a=d;_=130}while(0);do if((_|0)==130){_=0;if(d>0){f=+r[q>>2];if(f>-.05&f>a+-.1?+r[g>>2]+ +r[A>>2]<+r[k>>2]+ +r[D>>2]:0){i=1;break}if(f>-.1&f>a+-.15)i=+r[g>>2]*2+ +r[A>>2]<+r[k>>2]*2+ +r[D>>2];else i=0}else i=0}while(0);i=i&1;break}default:{if((e[z>>2]|0)>0){i=e[ce>>2]|0;o=e[me>>2]|0;if((i|0)!=(o|0)){i=(i|0)<=(o|0)&1;break r}i=(n|0)<(e[Z>>2]|0)&1;break r}f=+r[V>>2];if(f<0)i=f*10+ +(n|0)<=+(e[Z>>2]|0)+ +r[q>>2]*10;else i=0;i=i&1}}while(0);if((_|0)==118){_=0;i=f<+r[q>>2]&1}o=(e[z>>2]|0)==0;if(o){if(!i)i=0;else i=(e[ie>>2]|0)<(e[Z>>2]|0);i=i&1}do if(!i)if(!(e[le>>2]|0)){i=Y+1|0;if((Y|0)>=(N|0)&o){_=167;break e}o=pe&(e[W>>2]|0)==3;if((Y|0)>29&o){_=167;break e}if(!o)break;if(((e[T>>2]|0)-ne|0)>15){_=167;break e}}else i=Y;else{U=e[Q>>2]|0;e[k>>2]=e[g>>2];e[k+4>>2]=e[g+4>>2];e[k+8>>2]=e[g+8>>2];e[k+12>>2]=e[g+12>>2];e[k+16>>2]=e[g+16>>2];e[k+20>>2]=e[g+20>>2];l(F|0,h|0,5252)|0;l(X|0,M|0,2304)|0;i=0}while(0);if(((e[x>>2]|0)+(e[T>>2]|0)|0)<255)Y=i;else{_=167;break}}if((_|0)==167){_=0;i=e[W>>2]|0}if(!((K|0)==0&(i|0)==3))break;l(h|0,F|0,5252)|0;l(M|0,X|0,2304)|0;K=1;ne=e[T>>2]|0}O=e[v+104>>2]|0;if(!((O|0)==1|(O|0)==4|(O|0)==2)){if(e[$>>2]&1)kr(v,F,G,M)}else l(M|0,X|0,2304)|0;O=e[z>>2]|0;t=B;return O|0}function kr(S,s,v,l){S=S|0;s=s|0;v=v|0;l=l|0;var a=0,n=0,o=0,u=0,i=0,f=0,w=0,m=0,k=0,y=0,b=0,_=0,E=0,M=0,c=0,d=0,g=0,h=0;h=t;t=t+192|0;g=h+24|0;n=h;a=e[S+85096>>2]|0;if(!(a&4)){if(!((a&128|0)==0?(e[s+4788>>2]|0)!=2:0)){t=h;return}}else if(a&128){t=h;return}Fe(s,v,g,n,0)|0;n=0;do{if(!(e[s+2304+(n<<2)>>2]|0))o=0;else o=+p(+ +r[s+(n<<2)>>2]);r[l+(n<<2)>>2]=o;n=n+1|0}while((n|0)!=576);M=s+4864|0;c=0;d=(e[s+4788>>2]|0)==2?6:8;do{a=e[s+4872+(d<<2)>>2]|0;E=c;c=a+c|0;u=g+(d<<2)|0;e:do if(!(+r[u>>2]>=1)){$i(l+(E<<2)|0,a,4,1);o=+r[l+(c+-1<<2)>>2];i=+p(+o);if(o!=o|0!=0|o==0){if(o==0)break}else if(i<=i*9.999999974752427e-7)break;_=(1-+r[u>>2])*+r[v+(d<<2)>>2];n=0;while(1){f=n+1|0;r:do if((f|0)<(a|0)){k=+r[l+(n+c-a<<2)>>2];b=+p(+k);u=n+E|0;y=b*9.999999974752427e-7;w=f;f=1;while(1){i=+r[l+(u+f<<2)>>2];o=+p(+i);i=+p(+(k-i));if(b>o){if(!(i<=y)){m=1;break r}}else if(!(i<=o*9.999999974752427e-7)){m=1;break r}f=f+1|0;w=f+n|0;if((w|0)>=(a|0)){m=0;break}}}else{w=f;m=0;u=E+n|0;f=1}while(0);i=+r[l+(u<<2)>>2];i=i*i*+(f|0);if(_<i)break;if(m){_=_-i;n=w}else break e}if(n){i=+r[l+(u+-1<<2)>>2];o=+p(+i);if(i!=i|0!=0|i==0){if(i==0)break}else if(o<=o*9.999999974752427e-7)break;while(1){n=c-a|0;if(+p(+ +r[s+(n<<2)>>2])<=i)e[s+2304+(n<<2)>>2]=0;if((a|0)>1)a=a+-1|0;else break}}}while(0);d=d+1|0}while((d|0)<(e[M>>2]|0));e[s+4768>>2]=mr(S,s,0)|0;t=h;return}function qr(e,i){e=e|0;i=i|0;var t=0,n=0;n=+r[e>>2];t=+r[i>>2];return(n>t?1:(n<t)<<31>>31)|0}function zr(t){t=t|0;var o=0,i=0,l=0,a=0,f=0,u=0,c=0,m=0,_=0,p=0,w=0,E=0,n=0,s=0,h=0;o=t+8|0;if(e[o>>2]|0)return;e[o>>2]=1;e[t+21312>>2]=0;w=t+16|0;E=t+85796|0;n=e[E>>2]|0;m=+(e[t+64>>2]|0);i=m*.0008680555620230734;_=t+224|0;p=t+196|0;f=0;do{o=e[t+21360+(f<<2)>>2]|0;a=f;f=f+1|0;l=e[t+21360+(f<<2)>>2]|0;a=n+24+(a<<2)|0;r[a>>2]=9.999999933815813e36;if((o|0)<(l|0))do{h=+L(w,+(o|0)*i);s=+r[_>>2];s=+d(10,+((+r[p>>2]+h+(s>0?-s:-100))*.10000000149011612));h=+r[a>>2];r[a>>2]=h<s?h:s;o=o+1|0}while((o|0)!=(l|0))}while((f|0)!=22);f=0;do{o=e[t+21508+(f<<2)>>2]|0;l=f;f=f+1|0;a=e[t+21508+(f<<2)>>2]|0;l=n+164+(l<<2)|0;r[l>>2]=9.999999933815813e36;if((o|0)<(a|0))do{h=+L(w,+(o|0)*i);s=+r[_>>2];s=+d(10,+((+r[p>>2]+h+(s>0?-s:-100))*.10000000149011612));h=+r[l>>2];r[l>>2]=h<s?h:s;o=o+1|0}while((o|0)!=(a|0))}while((f|0)!=6);m=m*.0026041667442768812;a=e[t+21452>>2]|0;o=0;do{c=t+21452+(o<<2)|0;u=o;o=o+1|0;l=t+21452+(o<<2)|0;f=e[l>>2]|0;u=n+112+(u<<2)|0;r[u>>2]=9.999999933815813e36;if((a|0)<(f|0)){do{s=+L(w,+(a|0)*m);i=+r[_>>2];i=+d(10,+((+r[p>>2]+s+(i>0?-i:-100))*.10000000149011612));s=+r[u>>2];i=s<i?s:i;r[u>>2]=i;a=a+1|0}while((a|0)!=(f|0));a=e[l>>2]|0}else{a=f;i=9.999999933815813e36}r[u>>2]=+(a-(e[c>>2]|0)|0)*i}while((o|0)!=13);l=t+21504|0;o=t+21500|0;c=0;do{a=e[t+21536+(c<<2)>>2]|0;u=c;c=c+1|0;f=e[t+21536+(c<<2)>>2]|0;u=n+188+(u<<2)|0;r[u>>2]=9.999999933815813e36;if((a|0)<(f|0)){do{s=+L(w,+(a|0)*m);i=+r[_>>2];i=+d(10,+((+r[p>>2]+s+(i>0?-i:-100))*.10000000149011612));s=+r[u>>2];i=s<i?s:i;r[u>>2]=i;a=a+1|0}while((a|0)!=(f|0))}else i=9.999999933815813e36;r[u>>2]=+((e[l>>2]|0)-(e[o>>2]|0)|0)*i}while((c|0)!=6);if(e[t+220>>2]|0){r[n+24>>2]=9.999999682655225e-21;r[n+28>>2]=9.999999682655225e-21;r[n+32>>2]=9.999999682655225e-21;r[n+36>>2]=9.999999682655225e-21;r[n+40>>2]=9.999999682655225e-21;r[n+44>>2]=9.999999682655225e-21;r[n+48>>2]=9.999999682655225e-21;r[n+52>>2]=9.999999682655225e-21;r[n+56>>2]=9.999999682655225e-21;r[n+60>>2]=9.999999682655225e-21;r[n+64>>2]=9.999999682655225e-21;r[n+68>>2]=9.999999682655225e-21;r[n+72>>2]=9.999999682655225e-21;r[n+76>>2]=9.999999682655225e-21;r[n+80>>2]=9.999999682655225e-21;r[n+84>>2]=9.999999682655225e-21;r[n+88>>2]=9.999999682655225e-21;r[n+92>>2]=9.999999682655225e-21;r[n+96>>2]=9.999999682655225e-21;r[n+100>>2]=9.999999682655225e-21;r[n+104>>2]=9.999999682655225e-21;r[n+108>>2]=9.999999682655225e-21;r[n+164>>2]=9.999999682655225e-21;r[n+168>>2]=9.999999682655225e-21;r[n+172>>2]=9.999999682655225e-21;r[n+176>>2]=9.999999682655225e-21;r[n+180>>2]=9.999999682655225e-21;r[n+184>>2]=9.999999682655225e-21;r[n+112>>2]=9.999999682655225e-21;r[n+116>>2]=9.999999682655225e-21;r[n+120>>2]=9.999999682655225e-21;r[n+124>>2]=9.999999682655225e-21;r[n+128>>2]=9.999999682655225e-21;r[n+132>>2]=9.999999682655225e-21;r[n+136>>2]=9.999999682655225e-21;r[n+140>>2]=9.999999682655225e-21;r[n+144>>2]=9.999999682655225e-21;r[n+148>>2]=9.999999682655225e-21;r[n+152>>2]=9.999999682655225e-21;r[n+156>>2]=9.999999682655225e-21;r[n+160>>2]=9.999999682655225e-21;r[n+188>>2]=9.999999682655225e-21;r[n+192>>2]=9.999999682655225e-21;r[n+196>>2]=9.999999682655225e-21;r[n+200>>2]=9.999999682655225e-21;r[n+204>>2]=9.999999682655225e-21;r[n+208>>2]=9.999999682655225e-21}m=+L(w,-1);i=+r[_>>2];i=+Mr(+d(10,+((+r[p>>2]+m+(i>0?-i:-100))*.10000000149011612)))*10;r[(e[E>>2]|0)+20>>2]=i;r[3510]=0;o=1;do{r[14040+(o<<2)>>2]=+d(+ +(o|0),1.3333333333333333);o=o+1|0}while((o|0)!=8208);r[11718]=0;i=+r[3510];o=1;do{m=i;i=+r[14040+(o<<2)>>2];r[46872+(o<<2)>>2]=+(o|0)+-.5-+d(+((i+m)*.5),.75);o=o+1|0}while((o|0)!=8208);o=0;do{r[79704+(o<<2)>>2]=+Or(+(o+-210|0)*-.1875);o=o+1|0}while((o|0)!=257);o=0;do{r[80736+(o<<2)>>2]=+Or(+(o+-326|0)*.25);o=o+1|0}while((o|0)!=374);yi(t);Jr(t);c=t+232|0;i=+d(10,+((+r[c>>2]+-.5)*.10000000149011612));r[t+84768>>2]=i;r[t+84772>>2]=i;r[t+84776>>2]=i;r[t+84780>>2]=i;r[t+84784>>2]=i;r[t+84788>>2]=i;r[t+84792>>2]=i;_=t+228|0;i=+d(10,+((+r[_>>2]+-.25)*.10000000149011612));r[t+84796>>2]=i;r[t+84800>>2]=i;r[t+84804>>2]=i;r[t+84808>>2]=i;r[t+84812>>2]=i;r[t+84816>>2]=i;r[t+84820>>2]=i;p=t+236|0;i=+d(10,+((+r[p>>2]+-.02500000037252903)*.10000000149011612));r[t+84824>>2]=i;r[t+84828>>2]=i;r[t+84832>>2]=i;r[t+84836>>2]=i;r[t+84840>>2]=i;r[t+84844>>2]=i;r[t+84848>>2]=i;w=t+240|0;r[t+84852>>2]=+d(10,+((+r[w>>2]+.5)*.10000000149011612));i=+d(10,+((+r[c>>2]+-2)*.10000000149011612));r[t+84856>>2]=i;r[t+84860>>2]=i;r[t+84864>>2]=i;i=+d(10,+((+r[_>>2]+-1)*.10000000149011612));r[t+84868>>2]=i;r[t+84872>>2]=i;r[t+84876>>2]=i;r[t+84880>>2]=i;i=+d(10,+((+r[p>>2]+-.05000000074505806)*.10000000149011612));r[t+84884>>2]=i;r[t+84888>>2]=i;r[t+84892>>2]=i;r[t+84896>>2]=i;r[t+84900>>2]=i;r[t+84904>>2]=+d(10,+((+r[w>>2]+.5)*.10000000149011612));return}function ze(a,u,m,n,_,o){a=a|0;u=u|0;m=m|0;n=n|0;_=_|0;o=o|0;var i=0,d=0,E=0,h=0,c=0,w=0,p=0,f=0,l=0;l=t;t=t+16|0;w=l+12|0;h=l+8|0;c=l;e[w>>2]=0;f=c;e[f>>2]=0;e[f+4>>2]=0;Pr(a,n,h,w,o);h=e[h>>2]|0;o=e[w>>2]|0;f=o+h|0;f=(f|0)>7680?7680:f;p=a+72|0;i=e[p>>2]|0;if((i|0)<=0){t=l;return f|0}E=(n*3|0)/4|0;a=0;d=0;do{i=(h|0)/(i|0)|0;i=(i|0)>4095?4095:i;e[m+(d<<2)>>2]=i;n=~~(+(i|0)*+r[u+(_<<3)+(d<<2)>>2]*.0014285714285714286-+(i|0));n=(n|0)>(E|0)?E:n;n=(n|0)<0?0:n;if((n+i|0)>4095){n=4095-i|0;n=(n|0)<0?0:n}e[c+(d<<2)>>2]=n;a=n+a|0;d=d+1|0;i=e[p>>2]|0}while((d|0)<(i|0));if((a|0)>0&(a|0)>(o|0))if((i|0)>0){n=0;do{u=c+(n<<2)|0;e[u>>2]=(s(e[u>>2]|0,o)|0)/(a|0)|0;n=n+1|0}while((n|0)<(i|0))}else{t=l;return f|0}if((i|0)>0)i=0;else{t=l;return f|0}do{n=e[c+(i<<2)>>2]|0;u=m+(i<<2)|0;e[u>>2]=(e[u>>2]|0)+n;o=o-n|0;i=i+1|0;n=e[p>>2]|0}while((i|0)<(n|0));a=n;e[w>>2]=o;n=(a|0)>0;if(n){o=0;i=0}else{t=l;return f|0}do{o=(e[m+(i<<2)>>2]|0)+o|0;i=i+1|0}while((i|0)<(a|0));if((o|0)<7681|n^1){t=l;return f|0}else i=0;do{c=m+(i<<2)|0;e[c>>2]=((e[c>>2]|0)*7680|0)/(o|0)|0;i=i+1|0}while((i|0)<(e[p>>2]|0));t=l;return f|0}function ge(o,n,u,f){o=o|0;n=+n;u=u|0;f=f|0;var i=0,r=0,t=0,a=0,l=0;n=(.5-n)*.66;n=n<0?0:n;i=e[o>>2]|0;l=o+4|0;a=e[l>>2]|0;r=~~(+(a+i|0)*(n>.5?.25:n*.5));t=4095-i|0;r=(r|0)>(t|0)?t:r;r=(r|0)<0?0:r;do if((a|0)>124){t=a-r|0;if((t|0)<=125){i=i+-125+a|0;e[o>>2]=i;e[l>>2]=125;t=125;break}if((i|0)<(u|0)){i=r+i|0;e[o>>2]=i}e[l>>2]=t}else t=a;while(0);r=t+i|0;if((r|0)<=(f|0))return;e[o>>2]=(s(i,f)|0)/(r|0)|0;e[l>>2]=(s(t,f)|0)/(r|0)|0;return}function ye(e,r,i,t){e=+e;r=+r;i=+i;t=+t;e=e*e;r=+b(r)*3.0102999566398116-i;if(e>9.999999682655225e-21)e=+b(e)*.03333343265598758+1;else e=0;return+ +d(10,+((i+90.30873107910156+(t<1?-94.82444763183594:-t)+(e<0?0:e)*r)*.10000000149011612))}function J(S,v,h,f){S=S|0;v=v|0;h=h|0;f=f|0;var E=0,a=0,s=0,t=0,l=0,c=0,o=0,n=0,w=0,m=0,g=0,M=0,O=0,_=0,y=0,u=0,R=0,k=0,C=0,L=0,P=0,B=0,D=0,F=0,A=0,N=0,T=0;F=e[S+85796>>2]|0;O=h+4856|0;if((e[O>>2]|0)>0){_=F+8|0;y=F+20|0;R=S+224|0;E=0;a=0;g=0;while(1){t=+r[_>>2];c=+r[y>>2];o=+r[R>>2];t=t*t;n=+b(+r[F+24+(a<<2)>>2])*3.0102999566398116-c;if(t>9.999999682655225e-21)l=+b(t)*.03333343265598758+1;else l=0;l=+d(10,+((c+90.30873107910156+(o<1?-94.82444763183594:-o)+(l<0?0:l)*n)*.10000000149011612));M=+r[S+84768+(a<<2)>>2];l=M*l;m=e[h+4872+(a<<2)>>2]|0;c=l/+(m|0);if((m|0)>0){o=0;s=g;w=0;n=2.220446049250313e-16;while(1){t=+r[h+(s<<2)>>2];t=t*t;o=t+o;n=(t<c?t:c)+n;w=w+1|0;if((w|0)==(m|0))break;else s=s+1|0}g=g+m|0}else{o=0;n=2.220446049250313e-16}E=(o>l&1)+E|0;t=o<l?o:n<l?l:n;l=+r[v+244+(a<<2)>>2];if(l>9.999999960041972e-13?(u=M*(+r[v+(a<<2)>>2]*o/l),t<u):0)t=u;t=t>2.220446049250313e-16?t:2.220446049250313e-16;i[h+5212+a>>0]=o>t+9.9999998245167e-15&1;s=f+4|0;r[f>>2]=t;a=a+1|0;if((a|0)<(e[O>>2]|0))f=s;else{w=s;m=a;break}}}else{w=f;E=0;m=0;g=0}a=575;while(1){if(+p(+ +r[h+(a<<2)>>2])>9.999999960041972e-13)break;if((a|0)>1)a=a+-1|0;else{a=0;break}}s=(e[h+4788>>2]|0)==2;if(s)a=a+5-((a|0)%6|0)|0;else a=a|1;if((e[S+85092>>2]|0)==0?(k=e[S+64>>2]|0,(k|0)<44e3):0){f=(k|0)<8001;if(s)f=(e[S+21452+((f?9:12)<<2)>>2]|0)*3|0;else f=e[S+21360+((f?17:21)<<2)>>2]|0;y=f+-1|0;a=(a|0)>(y|0)?y:a}e[h+5208>>2]=a;y=h+4864|0;if((m|0)>=(e[y>>2]|0)){y=E;return y|0}C=F+8|0;L=F+20|0;P=S+224|0;B=S+92|0;D=S+85800|0;a=g;_=e[h+4852>>2]|0;while(1){o=+r[C>>2];c=+r[L>>2];l=+r[P>>2];o=o*o;t=+b(+r[F+112+(_<<2)>>2])*3.0102999566398116-c;if(o>9.999999682655225e-21)n=+b(o)*.03333343265598758+1;else n=0;u=+d(10,+((c+90.30873107910156+(l<1?-94.82444763183594:-l)+(n<0?0:n)*t)*.10000000149011612));R=S+84856+(_<<2)|0;l=+r[R>>2];u=l*u;k=e[h+4872+(m<<2)>>2]|0;M=u/+(k|0);if((k|0)>0){o=0;s=a;f=0;n=2.220446049250313e-16;while(1){t=+r[h+(s<<2)>>2];t=t*t;o=t+o;n=(t<M?t:M)+n;f=f+1|0;if((f|0)==(k|0)){c=o;break}else s=s+1|0}g=k+a|0;O=(c>u&1)+E|0;n=c<u?c:n<u?u:n;o=+r[v+332+(_*12|0)>>2];if(o>9.999999960041972e-13?(A=l*(+r[v+88+(_*12|0)>>2]*c/o),n<A):0)n=A;o=n>2.220446049250313e-16?n:2.220446049250313e-16;i[h+5212+m>>0]=c>o+9.9999998245167e-15&1;a=w+4|0;r[w>>2]=o;o=0;s=g;f=0;n=2.220446049250313e-16;while(1){t=+r[h+(s<<2)>>2];t=t*t;o=t+o;n=(t<M?t:M)+n;f=f+1|0;if((f|0)==(k|0)){c=o;break}else s=s+1|0}E=k+g|0;O=(c>u&1)+O|0;n=c<u?c:n<u?u:n;o=+r[v+332+(_*12|0)+4>>2];if(o>9.999999960041972e-13?(N=+r[R>>2]*(+r[v+88+(_*12|0)+4>>2]*c/o),n<N):0)n=N;o=n>2.220446049250313e-16?n:2.220446049250313e-16;i[m+1+(h+5212)>>0]=c>o+9.9999998245167e-15&1;g=w+8|0;r[a>>2]=o;o=0;s=E;f=0;n=2.220446049250313e-16;while(1){t=+r[h+(s<<2)>>2];t=t*t;o=t+o;n=(t<M?t:M)+n;f=f+1|0;if((f|0)==(k|0))break;else s=s+1|0}a=k+E|0;E=(o>u&1)+O|0;l=o<u?o:n<u?u:n;n=+r[v+332+(_*12|0)+8>>2];if(n>9.999999960041972e-13?(T=+r[R>>2]*(+r[v+88+(_*12|0)+8>>2]*o/n),l<T):0)l=T;n=l>2.220446049250313e-16?l:2.220446049250313e-16;i[m+2+(h+5212)>>0]=o>n+9.9999998245167e-15&1;r[g>>2]=n}else{s=u<0&1;n=u>0?0:u>2.220446049250313e-16?u:2.220446049250313e-16;t=(n<0?+r[v+332+(_*12|0)>>2]>9.999999960041972e-13:0)?0:n;t=t>2.220446049250313e-16?t:2.220446049250313e-16;i[h+5212+m>>0]=t+9.9999998245167e-15<0&1;r[w>>2]=t;t=(n<0?+r[v+332+(_*12|0)+4>>2]>9.999999960041972e-13:0)?0:n;t=t>2.220446049250313e-16?t:2.220446049250313e-16;i[m+1+(h+5212)>>0]=t+9.9999998245167e-15<0&1;r[w+4>>2]=t;n=(n<0?+r[v+332+(_*12|0)+8>>2]>9.999999960041972e-13:0)?0:n;n=n>2.220446049250313e-16?n:2.220446049250313e-16;i[m+2+(h+5212)>>0]=n+9.9999998245167e-15<0&1;r[w+8>>2]=n;E=s+(s+(s+E))|0}f=w+8|0;if(e[B>>2]|0){o=+r[w>>2];s=w+4|0;t=+r[s>>2];if(o>t){t=+r[(e[D>>2]|0)+6496>>2]*(o-t)+t;r[s>>2]=t;n=+r[f>>2]}if(t>n)r[f>>2]=+r[(e[D>>2]|0)+6496>>2]*(t-n)+n}w=w+12|0;m=m+3|0;if((m|0)>=(e[y>>2]|0))break;else _=_+1|0}return E|0}function Fe(n,A,E,w,_){n=n|0;A=A|0;E=E|0;w=w|0;_=_|0;var k=0,g=0,R=0,i=0,a=0,f=0,o=0,l=0,L=0,y=0,u=0,d=0,T=0,c=0,M=0,P=0,B=0,U=0,H=0,I=0,C=0,x=0,v=0,N=0,m=0,O=0,D=0,h=0,S=0,F=0;D=t;t=t+16|0;O=D;P=w+16|0;e[P>>2]=0;B=n+4864|0;if((e[B>>2]|0)<=0){k=-20;m=0;y=0;g=0;v=w+12|0;e[v>>2]=m;v=w+4|0;r[v>>2]=g;r[w>>2]=y;v=w+8|0;r[v>>2]=k;t=D;return m|0}C=n+4780|0;x=n+4832|0;v=n+4836|0;N=(_|0)!=0;m=n+5208|0;U=n+4776|0;H=n+4772|0;I=O+4|0;M=E;u=0;R=-20;E=0;g=0;T=n+4608|0;c=0;k=0;while(1){f=e[C>>2]|0;if(!(e[x>>2]|0))i=0;else i=e[12112+(c<<2)>>2]|0;L=f-(i+(e[T>>2]|0)<<(e[v>>2]|0)+1)-(e[n+4808+(e[n+5028+(c<<2)>>2]<<2)>>2]<<3)|0;T=T+4|0;y=1/+r[A>>2];A=A+4|0;if(N?(e[_+8+(c<<2)>>2]|0)==(L|0):0){i=(e[n+4872+(c<<2)>>2]|0)+u|0;a=+r[_+164+(c<<2)>>2]*y;o=+r[_+320+(c<<2)>>2];d=27}else d=8;do if((d|0)==8){d=0;o=+r[80736+(L+116<<2)>>2];l=e[n+4872+(c<<2)>>2]|0;f=l>>1;i=e[m>>2]|0;if((l+u|0)>(i|0)){f=i-u|0;if((f|0)>-1)f=f+1>>1;else f=0}do if((u|0)>(e[U>>2]|0))if(!f){i=u;a=0}else{i=f;l=u;a=0;while(1){i=i+-1|0;h=+r[n+(l<<2)>>2];o=+r[n+(l+1<<2)>>2];a=h*h+a+o*o;if(!i)break;else l=l+2|0}i=(f<<1)+u|0}else if((u|0)>(e[H>>2]|0)){r[O>>2]=0;r[I>>2]=o;if(!f){i=u;a=0;break}else{i=f;l=u;a=0}while(1){i=i+-1|0;h=+p(+ +r[n+(l<<2)>>2]);h=h-+r[O+(e[n+2304+(l<<2)>>2]<<2)>>2];S=l+1|0;o=+p(+ +r[n+(S<<2)>>2]);o=o-+r[O+(e[n+2304+(S<<2)>>2]<<2)>>2];a=h*h+a+o*o;if(!i)break;else l=l+2|0}i=(f<<1)+u|0;break}else{if(!f){i=u;a=0;break}else{l=f;i=u;a=0}while(1){l=l+-1|0;F=+p(+ +r[n+(i<<2)>>2]);F=F-+r[14040+(e[n+2304+(i<<2)>>2]<<2)>>2]*o;S=i+1|0;h=+p(+ +r[n+(S<<2)>>2]);h=h-+r[14040+(e[n+2304+(S<<2)>>2]<<2)>>2]*o;a=F*F+a+h*h;if(!l)break;else i=i+2|0}i=(f<<1)+u|0;break}while(0);if(N){e[_+8+(c<<2)>>2]=L;r[_+164+(c<<2)>>2]=a}a=a*y;o=+b(a>9.999999682655225e-21?a:9.999999682655225e-21)*.30102999566398114;if(N){r[_+320+(c<<2)>>2]=o;f=e[C>>2]|0;d=27;break}else{r[M>>2]=a;break}}while(0);if((d|0)==27){r[M>>2]=a;e[_>>2]=f}k=o+k;if(o>0){d=~~(o*10+.5);d=(d|0)>1?d:1;d=s(d,d)|0;e[P>>2]=(e[P>>2]|0)+d;E=E+1|0;g=o+g}R=R>o?R:o;c=c+1|0;if((c|0)>=(e[B>>2]|0))break;else{M=M+4|0;u=i}}m=w+12|0;e[m>>2]=E;m=w+4|0;r[m>>2]=k;r[w>>2]=g;m=w+8|0;r[m>>2]=R;t=D;return E|0}function Ur(u,_){u=u|0;_=_|0;var m=0,d=0,a=0,p=0,h=0,n=0,P=0,A=0,S=0,v=0,c=0,y=0,g=0,D=0,b=0,E=0,C=0,N=0,w=0,L=0,ie=0,te=0,ne=0,G=0,T=0,R=0,z=0,re=0,i=0,o=0,ee=0,Y=0,$=0,x=0,X=0,V=0,U=0,W=0,H=0,K=0,j=0,B=0,Z=0,Q=0,k=0,F=0,q=0,O=0,I=0,M=0;M=t;t=t+496|0;k=M+340|0;O=M+184|0;F=M+160|0;q=M;Y=u+76|0;m=e[Y>>2]|0;if((m|0)<=0){t=M;return}W=u+72|0;H=u+85804|0;K=u+212|0;j=u+85796|0;ee=u+21360|0;B=u+216|0;Z=F+12|0;Q=F+8|0;$=F+4|0;X=F+16|0;d=e[W>>2]|0;o=0;do{if((d|0)>0){re=(o|0)==1;i=0;do{p=u+304+(o*10504|0)+(i*5252|0)|0;z=u+304+(o*10504|0)+(i*5252|0)+4608|0;l(q|0,z|0,156)|0;if(re?(V=u+10808+(i*5252|0)+4848|0,U=e[V>>2]|0,(U|0)>0):0){d=U;a=0;do{m=u+10808+(i*5252|0)+4608+(a<<2)|0;if((e[m>>2]|0)<0){e[m>>2]=e[u+304+(i*5252|0)+4608+(a<<2)>>2];d=e[V>>2]|0}a=a+1|0}while((a|0)<(d|0))}R=(e[u+304+(o*10504|0)+(i*5252|0)+4836>>2]|0)==0?.5:1;J(u,_+(o*976|0)+(i*488|0)|0,p,k)|0;Fe(p,k,O,F,0)|0;d=e[u+304+(o*10504|0)+(i*5252|0)+4848>>2]|0;y=(e[u+304+(o*10504|0)+(i*5252|0)+4788>>2]|0)==2;if(!y?(e[u+304+(o*10504|0)+(i*5252|0)+4792>>2]|0)==0:0){d=22;I=13}else if((d|0)>0)I=13;else{p=0;d=0}if((I|0)==13){I=0;m=e[H>>2]|0;P=e[j>>2]|0;A=(e[u+304+(o*10504|0)+(i*5252|0)+4832>>2]|0)!=0;S=e[ee>>2]|0;p=0;v=0;do{c=v;v=v+1|0;a=S;S=e[u+21360+(v<<2)>>2]|0;a=S-a|0;if((p|0)<(S|0)){h=0;do{n=+r[u+304+(o*10504|0)+(i*5252|0)+(p<<2)>>2];h=n*n+h;p=p+1|0}while((p|0)!=(S|0));p=S}else h=0;n=+(a|0);h=h/n;f[m+190712+(o*704|0)+(i*176|0)+(c<<3)>>3]=h*999999986991104;f[m+201208+(o*352|0)+(i*176|0)+(c<<3)>>3]=+r[k+(c<<2)>>2]*999999986991104*+r[O+(c<<2)>>2]/n;n=+r[_+(o*976|0)+(i*488|0)+244+(c<<2)>>2];if(n>0)h=(e[K>>2]|0)==0?h/n:0;else h=0;n=+r[_+(o*976|0)+(i*488|0)+(c<<2)>>2]*h;h=+r[P+24+(c<<2)>>2];f[m+189304+(o*704|0)+(i*176|0)+(c<<3)>>3]=(n>h?n:h)*999999986991104;a=m+199160+(o*352|0)+(i*176|0)+(c<<3)|0;f[a>>3]=0;if(A&(c|0)>10){h=-(R*+(e[12112+(c<<2)>>2]|0));f[a>>3]=h}else h=0;if((c|0)<21)f[a>>3]=h-+(e[u+304+(o*10504|0)+(i*5252|0)+4608+(c<<2)>>2]|0)*R}while((v|0)!=(d|0))}if(y?(x=e[u+304+(o*10504|0)+(i*5252|0)+4852>>2]|0,(x|0)<13):0){w=e[H>>2]|0;L=(e[K>>2]|0)==0;ie=e[j>>2]|0;te=u+304+(o*10504|0)+(i*5252|0)+4808|0;ne=u+304+(o*10504|0)+(i*5252|0)+4812|0;G=u+304+(o*10504|0)+(i*5252|0)+4816|0;T=e[u+21452+(x<<2)>>2]|0;N=x;while(1){E=N;N=N+1|0;A=T;T=e[u+21452+(N<<2)>>2]|0;P=T-A|0;D=+(P|0);g=E*3|0;b=+r[ie+112+(E<<2)>>2];C=(E|0)<12;if((T|0)<=(A|0)){f[w+194616+(o*1248|0)+(i*312|0)+(g<<3)>>3]=9999999747378752e-21;f[w+201912+(o*624|0)+(i*312|0)+(g<<3)>>3]=+r[k+(d<<2)>>2]*999999986991104*+r[O+(d<<2)>>2]/D;n=+r[_+(o*976|0)+(i*488|0)+332+(E*12|0)>>2];if(L?(e[B>>2]|0)==0:0)n=n>0?9.999999682655225e-21/n:0;else n=0;n=+r[_+(o*976|0)+(i*488|0)+88+(E*12|0)>>2]*n;f[w+192120+(o*1248|0)+(i*312|0)+(g<<3)>>3]=(n>b?n:b)*999999986991104;n=+(e[te>>2]|0)*-2;a=w+199864+(o*624|0)+(i*312|0)+(g<<3)|0;f[a>>3]=n;if(C)f[a>>3]=n-+(e[u+304+(o*10504|0)+(i*5252|0)+4608+(d<<2)>>2]|0)*R;c=d+1|0;a=g+1|0;f[w+194616+(o*1248|0)+(i*312|0)+(a<<3)>>3]=9999999747378752e-21;f[w+201912+(o*624|0)+(i*312|0)+(a<<3)>>3]=+r[k+(c<<2)>>2]*999999986991104*+r[O+(c<<2)>>2]/D;n=+r[_+(o*976|0)+(i*488|0)+332+(E*12|0)+4>>2];if(L?(e[B>>2]|0)==0:0)n=n>0?9.999999682655225e-21/n:0;else n=0;n=+r[_+(o*976|0)+(i*488|0)+88+(E*12|0)+4>>2]*n;f[w+192120+(o*1248|0)+(i*312|0)+(a<<3)>>3]=(n>b?n:b)*999999986991104;n=+(e[ne>>2]|0)*-2;a=w+199864+(o*624|0)+(i*312|0)+(a<<3)|0;f[a>>3]=n;if(C)f[a>>3]=n-+(e[u+304+(o*10504|0)+(i*5252|0)+4608+(c<<2)>>2]|0)*R;c=d+2|0;a=g+2|0;f[w+194616+(o*1248|0)+(i*312|0)+(a<<3)>>3]=9999999747378752e-21;f[w+201912+(o*624|0)+(i*312|0)+(a<<3)>>3]=+r[k+(c<<2)>>2]*999999986991104*+r[O+(c<<2)>>2]/D;n=+r[_+(o*976|0)+(i*488|0)+332+(E*12|0)+8>>2];if(L?(e[B>>2]|0)==0:0)n=n>0?9.999999682655225e-21/n:0;else n=0;n=+r[_+(o*976|0)+(i*488|0)+88+(E*12|0)+8>>2]*n;f[w+192120+(o*1248|0)+(i*312|0)+(a<<3)>>3]=(n>b?n:b)*999999986991104;n=+(e[G>>2]|0)*-2;a=w+199864+(o*624|0)+(i*312|0)+(a<<3)|0;f[a>>3]=n;if(C)f[a>>3]=n-+(e[u+304+(o*10504|0)+(i*5252|0)+4608+(c<<2)>>2]|0)*R}else{S=T*3|0;a=0;y=p;m=d;while(1){n=0;c=y;v=A;while(1){h=+r[u+304+(o*10504|0)+(i*5252|0)+(c<<2)>>2];n=h*h+n;v=v+1|0;if((v|0)==(T|0))break;else c=c+1|0}y=y+P|0;n=n/D;n=n>1e-20?n:9.999999682655225e-21;c=a+g|0;f[w+194616+(o*1248|0)+(i*312|0)+(c<<3)>>3]=n*999999986991104;f[w+201912+(o*624|0)+(i*312|0)+(c<<3)>>3]=+r[k+(m<<2)>>2]*999999986991104*+r[O+(m<<2)>>2]/D;h=+r[_+(o*976|0)+(i*488|0)+332+(E*12|0)+(a<<2)>>2];if(L?(e[B>>2]|0)==0:0)n=h>0?n/h:0;else n=0;n=+r[_+(o*976|0)+(i*488|0)+88+(E*12|0)+(a<<2)>>2]*n;f[w+192120+(o*1248|0)+(i*312|0)+(c<<3)>>3]=(n>b?n:b)*999999986991104;n=+(e[u+304+(o*10504|0)+(i*5252|0)+4808+(a<<2)>>2]|0)*-2;c=w+199864+(o*624|0)+(i*312|0)+(c<<3)|0;f[c>>3]=n;if(C)f[c>>3]=n-+(e[u+304+(o*10504|0)+(i*5252|0)+4608+(m<<2)>>2]|0)*R;a=a+1|0;if((a|0)==3)break;else m=m+1|0}p=p+S+(s(A,-3)|0)|0}if((N|0)==13)break;else d=d+3|0}}d=e[H>>2]|0;e[d+201112+(o<<3)+(i<<2)>>2]=e[u+304+(o*10504|0)+(i*5252|0)+4780>>2];c=u+304+(o*10504|0)+(i*5252|0)+4844|0;e[d+203400+(o<<3)+(i<<2)>>2]=(e[c>>2]|0)+(e[u+304+(o*10504|0)+(i*5252|0)+4768>>2]|0);e[d+203416+(o<<3)+(i<<2)>>2]=e[c>>2];e[d+203160+(o<<3)+(i<<2)>>2]=e[Z>>2];f[d+203208+(o<<4)+(i<<3)>>3]=+r[Q>>2]*10;f[d+203240+(o<<4)+(i<<3)>>3]=+r[F>>2]*10;f[d+203176+(o<<4)+(i<<3)>>3]=+r[$>>2]*10;e[d+203272+(o<<3)+(i<<2)>>2]=e[X>>2];l(z|0,q|0,156)|0;i=i+1|0;d=e[W>>2]|0}while((i|0)<(d|0));m=e[Y>>2]|0}o=o+1|0}while((o|0)<(m|0));t=M;return}function T(i,a){i=i|0;a=a|0;var t=0,r=0,n=0,f=0,o=0,l=0;r=ee(i)|0;n=e[i+76>>2]|0;o=(r-(e[i+24>>2]<<3)|0)/(n|0)|0;l=(n<<11)+-8|0;f=e[i+148>>2]|0;r=f-r|0;t=i+52144|0;r=(r|0)>(l|0)?l:r;e[t>>2]=r;if(!((r|0)>=0?(e[i+144>>2]|0)==0:0)){e[t>>2]=0;r=0}t=s(n,o)|0;n=e[i+52140>>2]|0;r=((n|0)<(r|0)?n:r)+t|0;r=(r|0)>(f|0)?f:r;e[i+21320>>2]=0;t=e[i+85804>>2]|0;if(!t){e[a>>2]=o;return r|0}e[t+203484>>2]=(o|0)/2|0;e[t+203488>>2]=n;e[a>>2]=o;return r|0}function Pr(n,o,l,u,i){n=n|0;o=o|0;l=l|0;u=u|0;i=i|0;var r=0,t=0,a=0,s=0,f=0;f=e[n+52144>>2]|0;s=(e[n+52140>>2]|0)+((i|0)==0?0:o)|0;i=n+85096|0;t=e[i>>2]|0;a=t&1;if(!a)r=f;else r=~~(+(f|0)*.9);r=r*9|0;if((s*10|0)<=(r|0)){e[i>>2]=t&127;if(!(e[n+144>>2]|a)){r=0;i=~~(+(o|0)*.9)}else{r=0;i=o}}else{a=s-((r|0)/10|0)|0;e[i>>2]=t|128;r=a;i=a+o|0}t=(f*6|0)/10|0;r=((s|0)<(t|0)?s:t)-r|0;e[l>>2]=i;e[u>>2]=(r|0)<0?0:r;return}function le(r,i){r=r|0;i=i|0;r=r+52140|0;e[r>>2]=(e[r>>2]|0)-((e[i+4844>>2]|0)+(e[i+4768>>2]|0));return}function P(i,t){i=i|0;t=t|0;var r=0,f=0,n=0,o=0,a=0,l=0;n=s(e[i+76>>2]|0,t)|0;t=i+52140|0;n=(e[t>>2]|0)+n|0;r=(n|0)%8|0;o=n-r-(e[i+52144>>2]|0)|0;r=((o|0)>0?o:0)+r|0;o=i+21312|0;l=e[o>>2]|0;a=l<<3;a=(((a|0)<(r|0)?a:r)|0)/8|0;f=a<<3;e[i+21320>>2]=f;r=r-f|0;e[o>>2]=l-a;e[i+21324>>2]=r;e[t>>2]=n-f-r;return}function Cr(r,i){r=r|0;i=i|0;if(!(w(r)|0)){r=-1;return r|0}e[r+12>>2]=i;r=0;return r|0}function Br(r,i){r=r|0;i=i|0;if(!(w(r)|0)){r=-1;return r|0}if((i|0)>2|(i|0)==0){r=-1;return r|0}e[r+8>>2]=i;r=0;return r|0}function Ir(e,i){e=e|0;i=+i;if(!(w(e)|0)){e=-1;return e|0}r[e+20>>2]=i;e=0;return e|0}function xr(e){e=e|0;var i=0;if(!(w(e)|0)){i=0;return+i}i=+r[e+20>>2];return+i}function Hr(r,i){r=r|0;i=i|0;if(i>>>0>4|(w(r)|0)==0){r=-1;return r|0}e[r+48>>2]=i;r=0;return r|0}function Tr(i,r){i=i|0;r=r|0;if(!(w(i)|0)){r=-1;return r|0}e[i+96>>2]=r;if((r|0)<=320){r=0;return r|0}e[i+128>>2]=1;r=0;return r|0}function Z(r,i){r=r|0;i=i|0;if(!(w(r)|0)){r=-1;return r|0}e[r+132>>2]=i;r=0;return r|0}function X(r,i){r=r|0;i=i|0;if(!(w(r)|0)){r=-1;return r|0}e[r+136>>2]=i;r=0;return r|0}function Be(r){r=r|0;if(!(w(r)|0)){r=0;return r|0}r=e[r+132>>2]|0;return r|0}function Ce(r){r=r|0;if(!(w(r)|0)){r=0;return r|0}r=e[r+136>>2]|0;return r|0}function Wr(i,r){i=i|0;r=r|0;if(!(w(i)|0)){r=-1;return r|0}e[i+140>>2]=r;r=0;return r|0}function ve(i,r){i=i|0;r=r|0;if(!(w(i)|0)){r=-1;return r|0}e[i+148>>2]=r;r=0;return r|0}function Ee(r){r=r|0;if(!(w(r)|0)){r=0;return r|0}r=e[r+148>>2]|0;return r|0}function z(i,r){i=i|0;r=r|0;if(r>>>0>4|(w(i)|0)==0){r=-1;return r|0}e[i+156>>2]=r;r=0;return r|0}function De(r){r=r|0;if(!(w(r)|0)){r=0;return r|0}r=e[r+156>>2]|0;return r|0}function Zr(t,i){t=t|0;i=i|0;var n=0,o=0;if(!(w(t)|0)){i=-1;return i|0}o=(i|0)<0?0:i;n=(o|0)>9;e[t+164>>2]=n?9:o;r[t+160>>2]=0;i=n?-1:i>>31;return i|0}function _e(i,r){
- i=i|0;r=r|0;if(!(w(i)|0)){r=-1;return r|0}e[i+168>>2]=r;r=0;return r|0}function He(r){r=r|0;if(!(w(r)|0)){r=0;return r|0}r=e[r+168>>2]|0;return r|0}function pe(e,i){e=e|0;i=+i;if(!(w(e)|0)){e=-1;return e|0}r[e+200>>2]=i;e=0;return e|0}function fr(e){e=e|0;var i=0;if(!(w(e)|0)){i=0;return+i}i=+r[e+200>>2];return+i}function we(e,i){e=e|0;i=+i;if(!(w(e)|0)){e=-1;return e|0}r[e+204>>2]=i;e=0;return e|0}function ar(e){e=e|0;var i=0;if(!(w(e)|0)){i=0;return+i}i=+r[e+204>>2];return+i}function ti(i,r){i=i|0;r=r|0;if(!(w(i)|0)){r=-1;return r|0}e[i+220>>2]=r;r=0;return r|0}function me(e,i){e=e|0;i=+i;if(!(w(e)|0)){e=-1;return e|0}r[e+224>>2]=i;e=0;return e|0}function nr(e){e=e|0;var i=0;if(!(w(e)|0)){i=0;return+i}i=+r[e+224>>2];return+i}function he(e,i){e=e|0;i=+i;if(!(w(e)|0)){e=-1;return e|0}r[e+228>>2]=i;e=0;return e|0}function ir(e){e=e|0;var i=0;if(!(w(e)|0)){i=0;return+i}i=+r[e+228>>2];return+i}function rr(e,i){e=e|0;i=+i;if(!(w(e)|0)){e=-1;return e|0}r[e+236>>2]=i;e=0;return e|0}function li(e){e=e|0;var i=0;if(!(w(e)|0)){i=0;return+i}i=+r[e+236>>2];return+i}function de(e,i){e=e|0;i=+i;if(!(i<=1)|(!(i>=0)|(w(e)|0)==0)){e=-1;return e|0}r[e+248>>2]=i;e=0;return e|0}function $e(e){e=e|0;var i=0;if(!(w(e)|0)){i=0;return+i}i=+r[e+248>>2];return+i}function di(r,i){r=r|0;i=i|0;if(!(w(r)|0)){r=-1;return r|0}e[r+84>>2]=(i|0)!=0?2:1;r=0;return r|0}function ce(e,i){e=e|0;i=+i;if(!(w(e)|0)){e=-1;return e|0}r[e+264>>2]=i;e=0;return e|0}function Je(e){e=e|0;var i=0;if(!(w(e)|0)){i=0;return+i}i=+r[e+264>>2];return+i}function ue(e,i){e=e|0;i=+i;if(!(w(e)|0)){e=-1;return e|0}r[e+268>>2]=i;e=0;return e|0}function Xe(e){e=e|0;var i=0;if(!(w(e)|0)){i=0;return+i}i=+r[e+268>>2];return+i}function G(e,i){e=e|0;i=+i;if(!(w(e)|0))return;r[e+252>>2]=i;return}function Ie(e){e=e|0;var i=0;if(!(w(e)|0)){i=0;return+i}i=+r[e+252>>2];return+i}function mr(l,a,p){l=l|0;a=a|0;p=p|0;var r=0,n=0,s=0,E=0,h=0,f=0,_=0,w=0,d=0,c=0,v=0,u=0,m=0;m=t;t=t+16|0;u=m;e[u>>2]=0;c=a+2304|0;n=(e[a+5208>>2]|0)+2&-2;n=(n|0)>576?576:n;v=(p|0)!=0;if(v)e[p+4>>2]=0;while(1){if((n|0)<=1){d=4;break}r=n+-2|0;if(!(e[a+2304+(r<<2)>>2]|e[a+2304+(n+-1<<2)>>2]))n=r;else{d=6;break}}if((d|0)==4){e[a+4776>>2]=n;d=9}else if((d|0)==6){e[a+4776>>2]=n;if((n|0)>3){_=0;r=0;while(1){w=n+-4|0;s=e[a+2304+(w<<2)>>2]|0;E=e[a+2304+(n+-3<<2)>>2]|0;h=e[a+2304+(n+-2<<2)>>2]|0;f=e[a+2304+(n+-1<<2)>>2]|0;if((E|s|h|f)>>>0>1){f=_;s=r;break}f=(((s<<1)+E<<1)+h<<1)+f|0;n=(o[82240+f>>0]|0)+_|0;r=(o[82256+f>>0]|0)+r|0;if((w|0)>3){_=n;n=w}else{f=n;s=r;n=w;break}}e[u>>2]=f;r=a+4840|0;e[r>>2]=0;if((f|0)>(s|0)){e[u>>2]=s;e[r>>2]=1;r=s}else r=f}else d=9}if((d|0)==9){e[u>>2]=0;e[a+4840>>2]=0;r=0}e[a+5184>>2]=r;f=a+4772|0;e[f>>2]=n;if(!n){c=e[u>>2]|0;t=m;return c|0}h=a+4788|0;r=e[h>>2]|0;if(!r){r=i[n+-2+(l+85100)>>0]|0;e[a+4824>>2]=r;s=i[n+-1+(l+85100)>>0]|0;e[a+4828>>2]=s;s=e[l+21360+(r+2+s<<2)>>2]|0;r=e[l+21360+(r+1<<2)>>2]|0;if((s|0)<(n|0))e[a+4804>>2]=y[e[l+85816>>2]&3](a+2304+(s<<2)|0,a+2304+(n<<2)|0,u)|0}else if((r|0)==2){r=(e[l+21464>>2]|0)*3|0;r=(r|0)>(n|0)?n:r;s=n}else{e[a+4824>>2]=7;e[a+4828>>2]=13;r=e[l+21392>>2]|0;r=(r|0)>(n|0)?n:r;s=n}r=(r|0)<(n|0)?r:n;n=(s|0)<(n|0)?s:n;if((r|0)>0)e[a+4796>>2]=y[e[l+85816>>2]&3](c,a+2304+(r<<2)|0,u)|0;if((r|0)<(n|0))e[a+4800>>2]=y[e[l+85816>>2]&3](a+2304+(r<<2)|0,a+2304+(n<<2)|0,u)|0;if((e[l+36>>2]|0)==2){c=a+4768|0;e[c>>2]=e[u>>2];oe(l,a);e[u>>2]=e[c>>2]}if(!v){c=e[u>>2]|0;t=m;return c|0}if(e[h>>2]|0){c=e[u>>2]|0;t=m;return c|0}n=e[f>>2]|0;r=0;while(1)if((e[l+21360+(r<<2)>>2]|0)<(n|0))r=r+1|0;else break;e[p+4>>2]=r;c=e[u>>2]|0;t=m;return c|0}function oe(p,r){p=p|0;r=r|0;var n=0,i=0,s=0,c=0,w=0,m=0,v=0,O=0,F=0,M=0,E=0,f=0,d=0,_=0,k=0,S=0,g=0,b=0,a=0,R=0,A=0,T=0,u=0,h=0;h=t;t=t+5632|0;b=h+5624|0;d=h+5620|0;u=h+368|0;a=h+276|0;R=h+184|0;A=h+92|0;T=h;g=r+2304|0;i=e[r+4788>>2]|0;do if((i|0)==2)if((e[p+76>>2]|0)==1){t=h;return}else{l(u|0,r|0,5252)|0;i=r;S=5;break}else{l(u|0,r|0,5252)|0;if(!i){f=e[r+4772>>2]|0;e[a>>2]=1e5;e[a+4>>2]=1e5;e[a+8>>2]=1e5;e[a+12>>2]=1e5;e[a+16>>2]=1e5;e[a+20>>2]=1e5;e[a+24>>2]=1e5;e[a+28>>2]=1e5;e[a+32>>2]=1e5;e[a+36>>2]=1e5;e[a+40>>2]=1e5;e[a+44>>2]=1e5;e[a+48>>2]=1e5;e[a+52>>2]=1e5;e[a+56>>2]=1e5;e[a+60>>2]=1e5;e[a+64>>2]=1e5;e[a+68>>2]=1e5;e[a+72>>2]=1e5;e[a+76>>2]=1e5;e[a+80>>2]=1e5;e[a+84>>2]=1e5;e[a+88>>2]=1e5;k=p+85816|0;E=0;do{O=E;E=E+1|0;i=e[p+21360+(E<<2)>>2]|0;if((i|0)>=(f|0))break;e[d>>2]=0;s=r+2304+(i<<2)|0;i=y[e[k>>2]&3](g,s,d)|0;v=0;do{n=v+O|0;c=e[p+21360+(n+2<<2)>>2]|0;if((c|0)>=(f|0))break;e[b>>2]=e[d>>2];m=y[e[k>>2]&3](s,r+2304+(c<<2)|0,b)|0;w=a+(n<<2)|0;c=e[b>>2]|0;if((e[w>>2]|0)>(c|0)){e[w>>2]=c;e[R+(n<<2)>>2]=O;e[A+(n<<2)>>2]=i;e[T+(n<<2)>>2]=m}v=v+1|0}while((v|0)<8)}while((E|0)<16);_=u+4772|0;E=e[_>>2]|0;n=u+5184|0;i=r+4768|0;s=r+2304+(E<<2)|0;c=r+4824|0;w=r+4828|0;m=r+4796|0;v=r+4800|0;O=r+4804|0;M=2;do{f=e[p+21360+(M<<2)>>2]|0;if((f|0)>=(E|0))break;F=M+-2|0;d=(e[n>>2]|0)+(e[a+(F<<2)>>2]|0)|0;e[b>>2]=d;if((e[i>>2]|0)<=(d|0))break;d=y[e[k>>2]&3](r+2304+(f<<2)|0,s,b)|0;f=e[b>>2]|0;if((e[i>>2]|0)>(f|0)){l(r|0,u|0,5252)|0;e[i>>2]=f;f=e[R+(F<<2)>>2]|0;e[c>>2]=f;e[w>>2]=F-f;e[m>>2]=e[A+(F<<2)>>2];e[v>>2]=e[T+(F<<2)>>2];e[O>>2]=d}M=M+1|0}while((M|0)<23);k=r}else{i=r;S=5}}while(0);if((S|0)==5){_=u+4772|0;k=i}i=e[_>>2]|0;if(!i){t=h;return}if((e[r+2304+(i+-1<<2)>>2]|e[r+2304+(i+-2<<2)>>2])>>>0>1){t=h;return}w=e[r+4776>>2]|0;s=w+2|0;if((s|0)>576){t=h;return}l(u|0,k|0,5252)|0;e[u+4776>>2]=s;c=e[_>>2]|0;if((s|0)>(c|0)){m=w+-2|0;m=w+~((c|0)>(m|0)?m:c)+2&-4;n=0;i=0;do{S=s;s=s+-4|0;S=(((e[r+2304+(s<<2)>>2]<<1)+(e[r+2304+(S+-3<<2)>>2]|0)<<1)+(e[r+2304+(S+-2<<2)>>2]|0)<<1)+(e[r+2304+(S+-1<<2)>>2]|0)|0;n=(o[82240+S>>0]|0)+n|0;i=(o[82256+S>>0]|0)+i|0}while((s|0)>(c|0));s=w+-2-m|0}else{n=0;i=0}e[_>>2]=s;_=(n|0)>(i|0);n=_?i:n;e[u+4840>>2]=_&1;_=u+5184|0;e[_>>2]=n;if(!(e[u+4788>>2]|0)){v=r+4768|0;c=p+85816|0;i=r+2304+(s<<2)|0;n=r+4824|0;O=r+4828|0;F=r+4796|0;M=r+4800|0;E=r+4804|0;d=2;do{m=e[p+21360+(d<<2)>>2]|0;if((m|0)>=(s|0))break;f=d+-2|0;g=(e[_>>2]|0)+(e[a+(f<<2)>>2]|0)|0;e[b>>2]=g;if((e[v>>2]|0)<=(g|0))break;m=y[e[c>>2]&3](r+2304+(m<<2)|0,i,b)|0;w=e[b>>2]|0;if((e[v>>2]|0)>(w|0)){l(k|0,u|0,5252)|0;e[v>>2]=w;g=e[R+(f<<2)>>2]|0;e[n>>2]=g;e[O>>2]=f-g;e[F>>2]=e[A+(f<<2)>>2];e[M>>2]=e[T+(f<<2)>>2];e[E>>2]=m}d=d+1|0}while((d|0)<23);t=h;return}else{i=u+4768|0;e[i>>2]=n;n=e[p+21392>>2]|0;n=(n|0)>(s|0)?s:n;if((n|0)>0)e[u+4796>>2]=y[e[p+85816>>2]&3](g,r+2304+(n<<2)|0,i)|0;if((s|0)>(n|0))e[u+4800>>2]=y[e[p+85816>>2]&3](r+2304+(n<<2)|0,r+2304+(s<<2)|0,i)|0;if((e[r+4768>>2]|0)<=(e[i>>2]|0)){t=h;return}l(k|0,u|0,5252)|0;t=h;return}}function I(y,k,f,w){y=y|0;k=k|0;f=f|0;w=w|0;var v=0,o=0,i=0,s=0,t=0,l=0,n=0,u=0,d=0,g=0,_=0,b=0,E=0,M=0,R=0,N=0,F=0,C=0,D=0,L=0,S=0,a=0,A=0,h=0,p=0,O=0,P=0,T=0,m=0;O=f+4780|0;i=e[O>>2]|0;p=+r[79704+(i<<2)>>2];if(+r[f+4764>>2]>8206/p){a=1e5;return a|0}n=f+2304|0;S=(w|0)!=0;if(S)F=(i|0)==(e[w>>2]|0);else F=0;R=f+4788|0;M=(e[R>>2]|0)==2?38:21;N=f+4832|0;A=f+4836|0;h=.5945999622344971/p;C=f+5208|0;D=M+1|0;L=w+4|0;E=k;l=n;o=k;t=0;s=0;_=n;b=0;d=0;while(1){if(!F?(e[R>>2]|0)!=0:0){n=-1;a=15}else{if(!(e[N>>2]|0))n=0;else n=e[12112+(d<<2)>>2]|0;n=(e[O>>2]|0)-(n+(e[f+4608+(d<<2)>>2]|0)<<(e[A>>2]|0)+1)-(e[f+4808+(e[f+5028+(d<<2)>>2]<<2)>>2]<<3)|0;if(F?(e[w+8+(d<<2)>>2]|0)==(n|0):0){if(t)ne(t,p,o,l);if(!s){t=0;s=0;i=d}else{n=0;do{i=n|1;t=!(h>+r[o+(i<<2)>>2])&1;e[l+(n<<2)>>2]=!(h>+r[o+(n<<2)>>2])&1;e[l+(i<<2)>>2]=t;n=n+2|0}while(n>>>0<s>>>0);t=0;s=0;i=d}}else a=15}if((a|0)==15){a=0;i=e[f+4872+(d<<2)>>2]|0;u=e[C>>2]|0;if((i+b|0)>(u|0)){i=u-b+1|0;c(f+2304+(u<<2)|0,0,576-u<<2|0)|0;i=(i|0)<0?0:i;g=D}else g=d;u=(t|0)==0;d=(s|0)==0;m=(t|s|0)==0;l=m?_:l;o=m?E:o;if((S?(m=e[L>>2]|0,!((m|0)<1|(g|0)<(m|0))):0)?(m=e[w+8+(g<<2)>>2]|0,!((m|0)<1|(n|0)<(m|0))):0){if(!u){ne(t,p,o,l);l=_;o=E}t=0;s=i+s|0}else{if(!d){n=0;do{u=n|1;d=!(h>+r[o+(u<<2)>>2])&1;e[l+(n<<2)>>2]=!(h>+r[o+(n<<2)>>2])&1;e[l+(u<<2)>>2]=d;n=n+2|0}while(n>>>0<s>>>0);l=_;o=E}t=i+t|0;s=0}if((i|0)<1){i=t;a=27;break}else i=g}if((i|0)>(M|0)){n=E;d=_;u=b}else{u=e[f+4872+(i<<2)>>2]|0;n=E+(u<<2)|0;d=_+(u<<2)|0;u=u+b|0}if((i|0)<(M|0)){E=n;_=d;b=u;d=i+1|0}else{a=34;break}}if((a|0)==27){if(s){t=0;do{a=t|1;S=!(h>+r[o+(a<<2)>>2])&1;e[l+(t<<2)>>2]=!(h>+r[o+(t<<2)>>2])&1;e[l+(a<<2)>>2]=S;t=t+2|0}while(t>>>0<s>>>0)}if(i)ne(i,p,o,l)}else if((a|0)==34){if(t)ne(t,p,o,l);if(s){i=0;do{a=i|1;S=!(h>+r[o+(a<<2)>>2])&1;e[l+(i<<2)>>2]=!(h>+r[o+(i<<2)>>2])&1;e[l+(a<<2)>>2]=S;i=i+2|0}while(i>>>0<s>>>0)}}if((e[y+85096>>2]&2|0)!=0?(P=.634521682242439/+r[79704+((e[A>>2]|0)+(e[O>>2]|0)<<2)>>2],T=f+4860|0,v=e[T>>2]|0,(v|0)>0):0){s=0;t=0;do{a=e[f+4872+(t<<2)>>2]|0;o=s;s=a+s|0;if((a|0)>0?(e[y+84936+(t<<2)>>2]|0)!=0:0){do{v=f+2304+(o<<2)|0;if(!(+r[k+(o<<2)>>2]>=P))i=0;else i=e[v>>2]|0;e[v>>2]=i;o=o+1|0}while((o|0)<(s|0));v=e[T>>2]|0}t=t+1|0}while((t|0)<(v|0))}a=mr(y,f,w)|0;return a|0}function Oe(g,d,n,t){g=g|0;d=d|0;n=n|0;t=t|0;var i=0,l=0,r=0,a=0,o=0,m=0,u=0,f=0,M=0,V=0,U=0,E=0,B=0,P=0,b=0,T=0,I=0,y=0,W=0,R=0,F=0,h=0,A=0,k=0,N=0,D=0,S=0,L=0,C=0,v=0,O=0,x=0,H=0,_=0,z=0,q=0,p=0,j=0,Y=0,w=0;Y=t+(d*10504|0)+(n*5252|0)|0;w=t+(d*10504|0)+(n*5252|0)+4860|0;f=e[w>>2]|0;if((f|0)>0){m=0;i=0;o=0;do{r=e[t+(d*10504|0)+(n*5252|0)+4872+(o<<2)>>2]|0;u=m;m=r+m|0;e:do if((r|0)>0)do{if(e[t+(d*10504|0)+(n*5252|0)+2304+(u<<2)>>2]|0)break e;u=u+1|0}while((u|0)<(m|0));while(0);if((u|0)==(m|0)){e[t+(d*10504|0)+(n*5252|0)+4608+(o<<2)>>2]=-2;f=e[w>>2]|0;i=-2}o=o+1|0}while((o|0)<(f|0))}else i=0;a=t+(d*10504|0)+(n*5252|0)+4836|0;r=t+(d*10504|0)+(n*5252|0)+4832|0;if(((e[a>>2]|0)==0?(e[r>>2]|0)==0:0)?(l=(f|0)>0,l):0){u=0;m=0;do{o=e[t+(d*10504|0)+(n*5252|0)+4608+(m<<2)>>2]|0;u=((o|0)>0?o:0)|u;m=m+1|0}while((m|0)<(f|0));if((u|0)!=0&(u&1|0)==0){if(l){o=0;do{u=t+(d*10504|0)+(n*5252|0)+4608+(o<<2)|0;m=e[u>>2]|0;if((m|0)>0){e[u>>2]=m>>1;f=e[w>>2]|0}o=o+1|0}while((o|0)<(f|0))}e[a>>2]=1;i=1}}if(((((((((((((e[r>>2]|0)==0?(e[t+(d*10504|0)+(n*5252|0)+4788>>2]|0)!=2:0)?(e[g+76>>2]|0)==2:0)?(H=t+(d*10504|0)+(n*5252|0)+4652|0,_=e[H>>2]|0,z=e[3039]|0,(_|0)==-2|(_|0)>=(z|0)):0)?(q=t+(d*10504|0)+(n*5252|0)+4656|0,p=e[q>>2]|0,j=e[3040]|0,(p|0)==-2|(p|0)>=(j|0)):0)?(U=t+(d*10504|0)+(n*5252|0)+4660|0,M=e[U>>2]|0,V=e[3041]|0,(M|0)==-2|(M|0)>=(V|0)):0)?(P=t+(d*10504|0)+(n*5252|0)+4664|0,E=e[P>>2]|0,B=e[3042]|0,(E|0)==-2|(E|0)>=(B|0)):0)?(I=t+(d*10504|0)+(n*5252|0)+4668|0,b=e[I>>2]|0,T=e[3043]|0,(b|0)==-2|(b|0)>=(T|0)):0)?(R=t+(d*10504|0)+(n*5252|0)+4672|0,y=e[R>>2]|0,W=e[3044]|0,(y|0)==-2|(y|0)>=(W|0)):0)?(A=t+(d*10504|0)+(n*5252|0)+4676|0,F=e[A>>2]|0,h=e[3045]|0,(F|0)==-2|(F|0)>=(h|0)):0)?(D=t+(d*10504|0)+(n*5252|0)+4680|0,k=e[D>>2]|0,N=e[3046]|0,(k|0)==-2|(k|0)>=(N|0)):0)?(C=t+(d*10504|0)+(n*5252|0)+4684|0,S=e[C>>2]|0,L=e[3047]|0,(S|0)==-2|(S|0)>=(L|0)):0)?(x=t+(d*10504|0)+(n*5252|0)+4688|0,v=e[x>>2]|0,O=e[3048]|0,(v|0)==-2|(v|0)>=(O|0)):0){if((_|0)>0)e[H>>2]=_-z;if((p|0)>0)e[q>>2]=p-j;if((M|0)>0)e[U>>2]=M-V;if((E|0)>0)e[P>>2]=E-B;if((b|0)>0)e[I>>2]=b-T;if((y|0)>0)e[R>>2]=y-W;if((F|0)>0)e[A>>2]=F-h;if((k|0)>0)e[D>>2]=k-N;if((S|0)>0)e[C>>2]=S-L;if((v|0)>0)e[x>>2]=v-O;e[r>>2]=1;i=1}h=t+21008+((n<<2)+4<<2)|0;e[h>>2]=0;e[h+4>>2]=0;e[h+8>>2]=0;e[h+12>>2]=0;if((((d|0)==1?(e[g+76>>2]|0)==2:0)?(e[t+(n*5252|0)+4788>>2]|0)!=2:0)?(e[t+10504+(n*5252|0)+4788>>2]|0)!=2:0){o=e[21034]|0;m=t+10504+(n*5252|0)+4608|0;f=e[21035]|0;a=(f|0)>(o|0);e:do if(a){r=o;do{h=e[t+10504+(n*5252|0)+4608+(r<<2)>>2]|0;if((h|0)>-1?(e[t+(n*5252|0)+4608+(r<<2)>>2]|0)!=(h|0):0)break e;r=r+1|0}while((r|0)<(f|0))}else r=o;while(0);if((r|0)==(f|0)){if(a)c(t+10504+(n*5252|0)+4608+(o<<2)|0,-1,f-o<<2|0)|0;e[t+21024+(n<<4)>>2]=1}u=e[21036]|0;o=(u|0)>(f|0);e:do if(o){r=f;do{h=e[t+10504+(n*5252|0)+4608+(r<<2)>>2]|0;if((h|0)>-1?(e[t+(n*5252|0)+4608+(r<<2)>>2]|0)!=(h|0):0)break e;r=r+1|0}while((r|0)<(u|0))}else r=f;while(0);if((r|0)==(u|0)){if(o)c(t+10504+(n*5252|0)+4608+(f<<2)|0,-1,u-f<<2|0)|0;e[t+21024+(n<<4)+4>>2]=1}f=e[21037]|0;o=(f|0)>(u|0);e:do if(o){r=u;do{h=e[t+10504+(n*5252|0)+4608+(r<<2)>>2]|0;if((h|0)>-1?(e[t+(n*5252|0)+4608+(r<<2)>>2]|0)!=(h|0):0)break e;r=r+1|0}while((r|0)<(f|0))}else r=u;while(0);if((r|0)==(f|0)){if(o)c(t+10504+(n*5252|0)+4608+(u<<2)|0,-1,f-u<<2|0)|0;e[t+21024+(n<<4)+8>>2]=1}o=e[21038]|0;a=(o|0)>(f|0);e:do if(a){r=f;do{h=e[t+10504+(n*5252|0)+4608+(r<<2)>>2]|0;if((h|0)>-1?(e[t+(n*5252|0)+4608+(r<<2)>>2]|0)!=(h|0):0)break e;r=r+1|0}while((r|0)<(o|0))}else r=f;while(0);if((r|0)==(o|0)){if(a)c(t+10504+(n*5252|0)+4608+(f<<2)|0,-1,o-f<<2|0)|0;e[t+21024+(n<<4)+12>>2]=1}r=e[m>>2]|0;i=(r|0)==-1;l=i&1^1;r=i?0:(r|0)>0?r:0;i=e[t+10504+(n*5252|0)+4612>>2]|0;if((i|0)!=-1){l=l+1|0;r=(r|0)<(i|0)?i:r}i=e[t+10504+(n*5252|0)+4616>>2]|0;if((i|0)!=-1){l=l+1|0;r=(r|0)<(i|0)?i:r}i=e[t+10504+(n*5252|0)+4620>>2]|0;if((i|0)!=-1){l=l+1|0;r=(r|0)<(i|0)?i:r}i=e[t+10504+(n*5252|0)+4624>>2]|0;if((i|0)!=-1){l=l+1|0;r=(r|0)<(i|0)?i:r}i=e[t+10504+(n*5252|0)+4628>>2]|0;if((i|0)!=-1){l=l+1|0;r=(r|0)<(i|0)?i:r}i=e[t+10504+(n*5252|0)+4632>>2]|0;if((i|0)!=-1){l=l+1|0;r=(r|0)<(i|0)?i:r}i=e[t+10504+(n*5252|0)+4636>>2]|0;if((i|0)!=-1){l=l+1|0;r=(r|0)<(i|0)?i:r}i=e[t+10504+(n*5252|0)+4640>>2]|0;if((i|0)!=-1){l=l+1|0;r=(r|0)<(i|0)?i:r}i=e[t+10504+(n*5252|0)+4644>>2]|0;if((i|0)!=-1){l=l+1|0;r=(r|0)<(i|0)?i:r}i=e[t+10504+(n*5252|0)+4648>>2]|0;if((i|0)!=-1){l=l+1|0;r=(r|0)<(i|0)?i:r}o=e[t+10504+(n*5252|0)+4652>>2]|0;a=(o|0)==-1;i=a&1^1;o=a?0:(o|0)>0?o:0;a=e[t+10504+(n*5252|0)+4656>>2]|0;if((a|0)!=-1){i=i+1|0;o=(o|0)<(a|0)?a:o}a=e[t+10504+(n*5252|0)+4660>>2]|0;if((a|0)!=-1){i=i+1|0;o=(o|0)<(a|0)?a:o}a=e[t+10504+(n*5252|0)+4664>>2]|0;if((a|0)!=-1){i=i+1|0;o=(o|0)<(a|0)?a:o}a=e[t+10504+(n*5252|0)+4668>>2]|0;if((a|0)!=-1){i=i+1|0;o=(o|0)<(a|0)?a:o}a=e[t+10504+(n*5252|0)+4672>>2]|0;if((a|0)!=-1){i=i+1|0;o=(o|0)<(a|0)?a:o}a=e[t+10504+(n*5252|0)+4676>>2]|0;if((a|0)!=-1){i=i+1|0;o=(o|0)<(a|0)?a:o}a=e[t+10504+(n*5252|0)+4680>>2]|0;if((a|0)!=-1){i=i+1|0;o=(o|0)<(a|0)?a:o}a=e[t+10504+(n*5252|0)+4684>>2]|0;if((a|0)!=-1){i=i+1|0;o=(o|0)<(a|0)?a:o}a=e[t+10504+(n*5252|0)+4688>>2]|0;if((a|0)!=-1){i=i+1|0;o=(o|0)<(a|0)?a:o}m=t+10504+(n*5252|0)+4844|0;u=t+10504+(n*5252|0)+4784|0;f=0;do{do if((r|0)<(e[88776+(f<<2)>>2]|0)){if((o|0)>=(e[88840+(f<<2)>>2]|0))break;a=s(e[88648+(f<<2)>>2]|0,l)|0;a=(s(e[88712+(f<<2)>>2]|0,i)|0)+a|0;if((e[m>>2]|0)<=(a|0))break;e[m>>2]=a;e[u>>2]=f}while(0);f=f+1|0}while((f|0)!=16);i=0}l=e[w>>2]|0;if((l|0)>0){a=0;do{r=t+(d*10504|0)+(n*5252|0)+4608+(a<<2)|0;if((e[r>>2]|0)==-2){e[r>>2]=0;l=e[w>>2]|0}a=a+1|0}while((a|0)<(l|0))}if(!i)return;We(g,Y)|0;return}function We(w,i){w=w|0;i=i|0;var a=0,r=0,o=0,f=0,n=0,c=0,l=0,d=0,u=0,E=0,B=0,C=0,L=0,M=0,b=0,I=0,A=0,k=0,g=0,y=0,h=0,F=0,O=0,R=0,S=0,T=0,N=0,D=0,P=0,m=0,_=0,p=0,v=0;v=t;t=t+16|0;p=v;if((e[w+76>>2]|0)==2){if((e[i+4788>>2]|0)!=2){w=i+4832|0;if(((((((((((e[w>>2]|0)==0?(a=i+4652|0,r=e[a>>2]|0,o=e[3039]|0,(r|0)>=(o|0)):0)?(f=i+4656|0,n=e[f>>2]|0,c=e[3040]|0,(n|0)>=(c|0)):0)?(u=i+4660|0,d=e[u>>2]|0,l=e[3041]|0,(d|0)>=(l|0)):0)?(C=i+4664|0,B=e[C>>2]|0,E=e[3042]|0,(B|0)>=(E|0)):0)?(b=i+4668|0,M=e[b>>2]|0,L=e[3043]|0,(M|0)>=(L|0)):0)?(k=i+4672|0,A=e[k>>2]|0,I=e[3044]|0,(A|0)>=(I|0)):0)?(h=i+4676|0,y=e[h>>2]|0,g=e[3045]|0,(y|0)>=(g|0)):0)?(R=i+4680|0,O=e[R>>2]|0,F=e[3046]|0,(O|0)>=(F|0)):0)?(N=i+4684|0,T=e[N>>2]|0,S=e[3047]|0,(T|0)>=(S|0)):0)?(m=i+4688|0,P=e[m>>2]|0,D=e[3048]|0,(P|0)>=(D|0)):0){e[w>>2]=1;e[a>>2]=r-o;e[f>>2]=n-c;e[u>>2]=d-l;e[C>>2]=B-E;e[b>>2]=M-L;e[k>>2]=A-I;e[h>>2]=y-g;e[R>>2]=O-F;e[N>>2]=T-S;e[m>>2]=P-D;w=89032}else w=89032}else w=(e[i+4792>>2]|0)!=0?88904:88968;o=e[i+4868>>2]|0;if((o|0)>0){a=0;r=0;do{h=e[i+4608+(r<<2)>>2]|0;a=(a|0)<(h|0)?h:a;r=r+1|0}while((r|0)!=(o|0));u=a;r=(o|0)>1?o:1}else{u=0;r=0}o=e[i+4860>>2]|0;if((r|0)<(o|0)){a=0;do{h=e[i+4608+(r<<2)>>2]|0;a=(a|0)<(h|0)?h:a;r=r+1|0}while((r|0)!=(o|0));n=a}else n=0;f=i+4844|0;e[f>>2]=1e5;o=i+4784|0;a=1e5;r=0;do{if(((u|0)<(e[88776+(r<<2)>>2]|0)?(n|0)<(e[88840+(r<<2)>>2]|0):0)?(_=e[w+(r<<2)>>2]|0,(a|0)>(_|0)):0){e[f>>2]=_;e[o>>2]=r;a=_}r=r+1|0}while((r|0)!=16);h=(a|0)==1e5&1;t=v;return h|0}_=(e[i+4832>>2]|0)==0;e[p>>2]=0;e[p+4>>2]=0;e[p+8>>2]=0;e[p+12>>2]=0;m=_?0:2;if((e[i+4788>>2]|0)!=2){f=e[11824+(m*48|0)>>2]|0;if((f|0)>0){a=0;o=0;do{r=e[i+4608+(o<<2)>>2]|0;if((r|0)>(a|0)){e[p>>2]=r;a=r}o=o+1|0}while((o|0)!=(f|0))}else{a=0;f=0}d=e[11824+(m*48|0)+4>>2]|0;if((d|0)>0){o=p+4|0;n=0;c=0;l=f;while(1){r=e[i+4608+(l<<2)>>2]|0;if((r|0)>(n|0))e[o>>2]=r;else r=n;c=c+1|0;if((c|0)==(d|0))break;else{n=r;l=l+1|0}}f=d+f|0}else r=0;u=e[11824+(m*48|0)+8>>2]|0;if((u|0)>0){l=p+8|0;o=0;c=0;d=f;while(1){n=e[i+4608+(d<<2)>>2]|0;if((n|0)>(o|0)){e[l>>2]=n;o=n}c=c+1|0;if((c|0)==(u|0))break;else d=d+1|0}f=u+f|0}else o=0;u=e[11824+(m*48|0)+12>>2]|0;if((u|0)>0){l=p+12|0;c=0;d=0;while(1){n=e[i+4608+(f<<2)>>2]|0;if((n|0)>(c|0))e[l>>2]=n;else n=c;d=d+1|0;if((d|0)==(u|0)){u=0;break}else{c=n;f=f+1|0}}}else{n=0;u=0}}else{w=0;a=0;do{h=e[11824+(m*48|0)+16+(w<<2)>>2]|0;d=(h|0)/3|0;if((h|0)>2){c=p+(w<<2)|0;o=(d|0)>1;n=e[c>>2]|0;r=0;E=a;while(1){u=E*3|0;l=e[i+4608+(u<<2)>>2]|0;if((l|0)>(n|0)){e[c>>2]=l;n=l}l=e[i+4608+(u+1<<2)>>2]|0;if((l|0)>(n|0)){e[c>>2]=l;n=l}f=e[i+4608+(u+2<<2)>>2]|0;if((f|0)>(n|0)){e[c>>2]=f;n=f}r=r+1|0;if((r|0)>=(d|0))break;else E=E+1|0}a=(o?d:1)+a|0}w=w+1|0}while((w|0)!=4);a=e[p>>2]|0;r=e[p+4>>2]|0;o=e[p+8>>2]|0;n=e[p+12>>2]|0;u=1}d=((r|0)>(e[89096+(m<<4)+4>>2]|0)&1)+((a|0)>(e[89096+(m<<4)>>2]|0)&1)+((o|0)>(e[89096+(m<<4)+8>>2]|0)&1)+((n|0)>(e[89096+(m<<4)+12>>2]|0)&1)|0;if(!d){c=11824+(m*48|0)+(u<<4)|0;e[i+5188>>2]=c;l=e[89192+(a<<2)>>2]|0;e[i+5192>>2]=l;r=e[89192+(r<<2)>>2]|0;e[i+5196>>2]=r;f=e[89192+(o<<2)>>2]|0;e[i+5200>>2]=f;n=e[89192+(n<<2)>>2]|0;e[i+5204>>2]=n;if(_)o=(f<<2)+((l*5|0)+r<<4)+n|0;else o=(l*3|0)+500+r|0;e[i+4784>>2]=o;h=s(e[c>>2]|0,l)|0;h=(s(e[11824+(m*48|0)+(u<<4)+4>>2]|0,r)|0)+h|0;h=h+(s(e[11824+(m*48|0)+(u<<4)+8>>2]|0,f)|0)|0;e[i+4844>>2]=h+(s(e[11824+(m*48|0)+(u<<4)+12>>2]|0,n)|0)}h=d;t=v;return h|0}function yi(o){o=o|0;var r=0,t=0,a=0,n=0;e[o+85816>>2]=2;n=2;do{r=0;do r=r+1|0;while((e[o+21360+(r<<2)>>2]|0)<(n|0));a=e[89256+(r<<3)>>2]|0;t=a;while(1)if((e[o+21360+(t+1<<2)>>2]|0)>(n|0))t=t+-1|0;else break;t=(t|0)<0?a:t;i[n+-2+(o+85100)>>0]=t;a=e[89256+(r<<3)+4>>2]|0;t=t<<24>>24;r=a;while(1)if((e[o+21360+(r+2+t<<2)>>2]|0)>(n|0))r=r+-1|0;else break;i[n+-1+(o+85100)>>0]=(r|0)<0?a:r;n=n+2|0}while((n|0)<577);return}function ne(a,i,s,t){a=a|0;i=+i;s=s|0;t=t|0;var l=0,f=0,h=0,m=0,o=0,d=0,u=0,c=0;m=a&2;l=a>>>2;if(!l)a=t;else{h=l<<2;a=t+(h<<2)|0;f=s;while(1){l=l+-1|0;c=+r[f>>2]*i+8388608;u=+r[f+4>>2]*i+8388608;d=+r[f+8>>2]*i+8388608;o=+r[f+12>>2]*i+8388608;c=+r[46872+((r[n>>2]=c,e[n>>2]|0)+-1258291200<<2)>>2]+c;u=+r[46872+((r[n>>2]=u,e[n>>2]|0)+-1258291200<<2)>>2]+u;d=+r[46872+((r[n>>2]=d,e[n>>2]|0)+-1258291200<<2)>>2]+d;o=+r[46872+((r[n>>2]=o,e[n>>2]|0)+-1258291200<<2)>>2]+o;e[t>>2]=(r[n>>2]=c,e[n>>2]|0)+-1258291200;e[t+4>>2]=(r[n>>2]=u,e[n>>2]|0)+-1258291200;e[t+8>>2]=(r[n>>2]=d,e[n>>2]|0)+-1258291200;e[t+12>>2]=(r[n>>2]=o,e[n>>2]|0)+-1258291200;if(!l)break;else{f=f+16|0;t=t+16|0}}s=s+(h<<2)|0}if(!m)return;o=+r[s>>2]*i+8388608;i=+r[s+4>>2]*i+8388608;o=+r[46872+((r[n>>2]=o,e[n>>2]|0)+-1258291200<<2)>>2]+o;i=+r[46872+((r[n>>2]=i,e[n>>2]|0)+-1258291200<<2)>>2]+i;e[a>>2]=(r[n>>2]=o,e[n>>2]|0)+-1258291200;e[a+4>>2]=(r[n>>2]=i,e[n>>2]|0)+-1258291200;return}function Fi(o,a,u){o=o|0;a=a|0;u=u|0;var r=0,i=0,t=0,s=0,f=0,n=0,l=0,c=0;t=o;i=0;r=0;do{f=e[t>>2]|0;s=e[t+4>>2]|0;t=t+8|0;i=(i|0)<(f|0)?f:i;r=(r|0)<(s|0)?s:r}while(t>>>0<a>>>0);r=(i|0)<(r|0)?r:i;if(r>>>0<16){r=wr[e[89440+(r<<2)>>2]&7](o,a,r,u)|0;return r|0}if(r>>>0>8206){e[u>>2]=1e5;r=-1;return r|0}i=r+-15|0;if((e[20665]|0)>>>0<i>>>0)if((e[20669]|0)>>>0<i>>>0)if((e[20673]|0)>>>0<i>>>0)if((e[20677]|0)>>>0<i>>>0)if((e[20681]|0)>>>0<i>>>0)if((e[20685]|0)>>>0<i>>>0)if((e[20689]|0)>>>0<i>>>0)if((e[20693]|0)>>>0<i>>>0){f=24;s=32}else{t=31;n=9}else{t=30;n=9}else{t=29;n=9}else{t=28;n=9}else{t=27;n=9}else{t=26;n=9}else{t=25;n=9}else{t=24;n=9}e:do if((n|0)==9){r=t+-8|0;while(1){if((e[82272+(r<<4)+4>>2]|0)>>>0>=i>>>0){f=r;s=t;break e}r=r+1|0;if((r|0)>=24){f=r;s=t;break}}}while(0);t=(e[82272+(f<<4)>>2]<<16)+(e[82272+(s<<4)>>2]|0)|0;i=o;r=0;do{o=e[i>>2]|0;c=e[i+4>>2]|0;i=i+8|0;l=o>>>0>14;n=c>>>0>14;r=(l?t:0)+r+(e[82816+((n?15:c)+(l?240:o<<4)<<2)>>2]|0)+(n?t:0)|0}while(i>>>0<a>>>0);o=r&65535;a=r>>>16;l=a>>>0>o>>>0;e[u>>2]=(e[u>>2]|0)+(l?o:a);l=l?s:f;return l|0}function Oi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;return 0}function Ri(r,n,i,t){r=r|0;n=n|0;i=i|0;t=t|0;var a=0;a=e[20575]|0;i=0;do{i=(o[a+((e[r>>2]<<1)+(e[r+4>>2]|0))>>0]|0)+i|0;r=r+8|0}while(r>>>0<n>>>0);e[t>>2]=(e[t>>2]|0)+i;return 1}function Ai(i,a,r,o){i=i|0;a=a|0;r=r|0;o=o|0;var t=0,n=0,f=0;n=r+-1|0;f=e[89504+(n<<2)>>2]|0;t=e[82272+(f<<4)>>2]|0;n=(n|0)==1?83840:83880;r=0;do{r=(e[n+((s(e[i>>2]|0,t)|0)+(e[i+4>>2]|0)<<2)>>2]|0)+r|0;i=i+8|0}while(i>>>0<a>>>0);t=r&65535;i=r>>>16;r=i>>>0>t>>>0;e[o>>2]=(e[o>>2]|0)+(r?t:i);return(r&1)+f|0}function Ti(r,a,i,d){r=r|0;a=a|0;i=i|0;d=d|0;var f=0,t=0,w=0,p=0,l=0,u=0,h=0,n=0,m=0,c=0;n=e[89504+(i+-1<<2)>>2]|0;p=e[82272+(n<<4)>>2]|0;l=e[82272+(n<<4)+12>>2]|0;m=n+1|0;u=e[82272+(m<<4)+12>>2]|0;h=n+2|0;w=e[82272+(h<<4)+12>>2]|0;t=r;r=0;f=0;i=0;do{c=(s(e[t>>2]|0,p)|0)+(e[t+4>>2]|0)|0;t=t+8|0;r=(o[l+c>>0]|0)+r|0;f=(o[u+c>>0]|0)+f|0;i=(o[w+c>>0]|0)+i|0}while(t>>>0<a>>>0);a=r>>>0>f>>>0;l=a?f:r;u=l>>>0>i>>>0;e[d>>2]=(e[d>>2]|0)+(u?i:l);return(u?h:a?m:n)|0}function Ni(t){t=t|0;var i=0,r=0,n=0,o=0;i=t+85704|0;r=e[i>>2]|0;if(r){_(r);e[i>>2]=0}r=t+85708|0;i=e[r>>2]|0;if(i){_(i);e[r>>2]=0}r=t+85712|0;i=e[r>>2]|0;if(i){_(i);e[r>>2]=0}i=t+85716|0;r=e[i>>2]|0;if(r){_(r);e[i>>2]=0}r=t+85728|0;i=e[r>>2]|0;if(i){_(i);e[r>>2]=0;e[t+85732>>2]=0;e[t+85740>>2]=0}i=t+85744|0;r=e[i>>2]|0;if(!r)return;do{o=e[r+24>>2]|0;n=r;r=e[r>>2]|0;_(e[n+12>>2]|0);_(o);_(n)}while((r|0)!=0);e[i>>2]=0;e[t+85748>>2]=0;return}function Y(t){t=t|0;var r=0,i=0,n=0;n=0;do{i=t+37192+(n<<2)|0;r=e[i>>2]|0;if(r){_(r);e[i>>2]=0}n=n+1|0}while((n|0)!=641);i=t+37184|0;r=e[i>>2]|0;if(r){_(r);e[i>>2]=0}i=t+37188|0;r=e[i>>2]|0;if(r){_(r);e[i>>2]=0}r=t+284|0;i=e[r>>2]|0;if(i){_(i);e[r>>2]=0}i=t+85780|0;r=e[i>>2]|0;if(r){_(r);e[i>>2]=0;e[t+85776>>2]=0}r=e[t+85796>>2]|0;if(r)_(r);r=e[t+85676>>2]|0;if(r)_(r);r=e[t+52152>>2]|0;if(r)_(r);r=e[t+52156>>2]|0;if(r)_(r);Ni(t);i=t+85808|0;r=e[i>>2]|0;if(r){vr(r|0)|0;e[i>>2]=0}n=t+85800|0;r=e[n>>2]|0;if(!r){_(t);return}i=e[r+2156>>2]|0;if(i){_(i);r=e[n>>2]|0}i=e[r+4316>>2]|0;if(i){_(i);r=e[n>>2]|0}_(r);_(t);return}function L(o,i){o=o|0;i=+i;var t=0,n=0;switch(e[o+192>>2]|0){case 3:{i=i<-.3?3.4100000858306885:i*.0010000000474974513;i=i<.10000000149011612?.10000000149011612:i;i=i>24?24:i;n=i+-3.4;t=i+-8.7;i=+d(+i,-.8)*3.64-+v(+(n*n*-.6))*6.8+ +v(+(t*t*-.15))*6+ +d(+i,4)*.0006399999999999999+6;return+i}case 1:{i=i<-.3?3.4100000858306885:i*.0010000000474974513;i=i<.10000000149011612?.10000000149011612:i;i=i>24?24:i;n=i+-3.4;t=i+-8.7;i=+d(+i,-.8)*3.64-+v(+(n*n*-.6))*6.8+ +v(+(t*t*-.15))*6+ +d(+i,4)*56e-5;return+i}case 4:{i=i<-.3?3.4100000858306885:i*.0010000000474974513;i=i<.10000000149011612?.10000000149011612:i;i=i>24?24:i;n=i+-3.4;t=i+-8.7;i=+d(+i,-.8)*3.64-+v(+(n*n*-.6))*6.8+ +v(+(t*t*-.15))*6+ +d(+i,4)*(+r[o+188>>2]*4e-5+6e-4);return+i}case 0:{i=i<-.3?3.4100000858306885:i*.0010000000474974513;i=i<.10000000149011612?.10000000149011612:i;i=i>24?24:i;n=i+-3.4;t=i+-8.7;i=+d(+i,-.8)*3.64-+v(+(n*n*-.6))*6.8+ +v(+(t*t*-.15))*6+ +d(+i,4)*.0009599999999999999;return+i}case 5:{i=i<-.3?3.4100000858306885:i*.0010000000474974513;i=i<3.4100000858306885?3.4100000858306885:i;i=i>16.100000381469727?16.100000381469727:i;n=i+-3.4;t=i+-8.7;i=+d(+i,-.8)*3.64-+v(+(n*n*-.6))*6.8+ +v(+(t*t*-.15))*6+ +d(+i,4)*(+r[o+188>>2]*4e-5+6e-4);return+i}case 2:{i=i<-.3?3.4100000858306885:i*.0010000000474974513;i=i<.10000000149011612?.10000000149011612:i;i=i>24?24:i;n=i+-3.4;t=i+-8.7;i=+d(+i,-.8)*3.64-+v(+(n*n*-.6))*6.8+ +v(+(t*t*-.15))*6+ +d(+i,4)*6e-4;return+i}default:{i=i<-.3?3.4100000858306885:i*.0010000000474974513;i=i<.10000000149011612?.10000000149011612:i;i=i>24?24:i;n=i+-3.4;t=i+-8.7;i=+d(+i,-.8)*3.64-+v(+(n*n*-.6))*6.8+ +v(+(t*t*-.15))*6+ +d(+i,4)*6e-4;return+i}}return 0}function F(e){e=+e;e=e<0?0:e*.001;return+(+cr(+(e*e*.017777777777777778))*3.5+ +cr(+(e*.76))*13)}function ie(n,i,r){n=n|0;i=i|0;r=r|0;var s=0,t=0,o=0,a=0;s=(r|0)<16e3?2:i;r=e[83944+(s<<6)+4>>2]|0;t=2;do{i=e[83944+(s<<6)+(t<<2)>>2]|0;if((i|0)>0){a=i-n|0;o=r-n|0;r=(((a|0)>0?a:0-a|0)|0)<(((o|0)>0?o:0-o|0)|0)?i:r}t=t+1|0}while((t|0)!=15);return r|0}function Ue(i){i=i|0;var n=0,r=0,o=0,t=0,a=0;t=i&65535;r=0;while(1){if((r|0)>=16){o=16;r=320;i=16;n=320;break}i=r+1|0;n=e[89568+(i<<2)>>2]|0;if((((t|0)>(n|0)?t:n)|0)==(t|0))r=i;else{a=4;break}}if((a|0)==4){o=r;r=e[89568+(r<<2)>>2]|0}return((n-t|0)>(t-r|0)?o:i)|0}function Ii(e){e=e|0;if((e|0)>=8001)if((e|0)>=11026)if((e|0)>=12001)if((e|0)>=16001)if((e|0)>=22051)if((e|0)>=24001)if((e|0)<32001)e=32e3;else e=(e|0)<44101?44100:48e3;else e=24e3;else e=22050;else e=16e3;else e=12e3;else e=11025;else e=8e3;return e|0}function re(t,i,r){t=t|0;i=i|0;r=r|0;r=(r|0)<16e3?2:i;i=e[83944+(r<<6)>>2]|0;if((i|0)>0&(i|0)==(t|0)){r=0;return r|0}i=e[83944+(r<<6)+4>>2]|0;if((i|0)>0&(i|0)==(t|0)){r=1;return r|0}i=e[83944+(r<<6)+8>>2]|0;if((i|0)>0&(i|0)==(t|0)){r=2;return r|0}i=e[83944+(r<<6)+12>>2]|0;if((i|0)>0&(i|0)==(t|0)){r=3;return r|0}i=e[83944+(r<<6)+16>>2]|0;if((i|0)>0&(i|0)==(t|0)){r=4;return r|0}i=e[83944+(r<<6)+20>>2]|0;if((i|0)>0&(i|0)==(t|0)){r=5;return r|0}i=e[83944+(r<<6)+24>>2]|0;if((i|0)>0&(i|0)==(t|0)){r=6;return r|0}i=e[83944+(r<<6)+28>>2]|0;if((i|0)>0&(i|0)==(t|0)){r=7;return r|0}i=e[83944+(r<<6)+32>>2]|0;if((i|0)>0&(i|0)==(t|0)){r=8;return r|0}i=e[83944+(r<<6)+36>>2]|0;if((i|0)>0&(i|0)==(t|0)){r=9;return r|0}i=e[83944+(r<<6)+40>>2]|0;if((i|0)>0&(i|0)==(t|0)){r=10;return r|0}i=e[83944+(r<<6)+44>>2]|0;if((i|0)>0&(i|0)==(t|0)){r=11;return r|0}i=e[83944+(r<<6)+48>>2]|0;if((i|0)>0&(i|0)==(t|0)){r=12;return r|0}i=e[83944+(r<<6)+52>>2]|0;if((i|0)>0&(i|0)==(t|0)){r=13;return r|0}else{r=e[83944+(r<<6)+56>>2]|0;return((r|0)>0&(r|0)==(t|0)?14:-1)|0}return 0}function _r(r,i){r=r|0;i=i|0;do if((r|0)==22050){e[i>>2]=0;r=0}else if((r|0)==8e3){e[i>>2]=0;r=2}else if((r|0)==16e3){e[i>>2]=0;r=2}else if((r|0)==48e3){e[i>>2]=1;r=1}else if((r|0)==12e3){e[i>>2]=0;r=1}else if((r|0)==44100){e[i>>2]=1;r=0}else if((r|0)==24e3){e[i>>2]=0;r=1}else if((r|0)==32e3){e[i>>2]=1;r=2}else if((r|0)==11025){e[i>>2]=0;r=0}else{e[i>>2]=0;r=-1}while(0);return r|0}function Ui(r){r=r|0;var i=0;i=+(e[r+48>>2]|0);r=e[r+44>>2]|0;if((r|0)<(~~(i*.9994999766349792)|0)){r=1;r=r&1;return r|0}r=(~~(i*1.000499963760376)|0)<(r|0);r=r&1;return r|0}function pr(c,A,C,E,D,T){c=c|0;A=A|0;C=C|0;E=E|0;D=D|0;T=T|0;var o=0,i=0,u=0,n=0,t=0,a=0,d=0,S=0,w=0,h=0,M=0,b=0,y=0,Y=0,F=0,G=0,j=0,R=0,g=0,K=0,s=0,_=0,v=0,P=0,W=0,H=0,U=0,V=0,q=0,m=0,L=0,I=0,B=0,z=0,O=0;B=e[c+84036>>2]|0;u=e[c+76>>2]|0;L=u*576|0;z=e[c+72>>2]|0;I=c+64|0;o=e[I>>2]|0;a=+(o|0);H=c+60|0;i=e[H>>2]|0;if((i|0)>=(~~(a*.9994999766349792)|0)?(~~(a*1.000499963760376)|0)>=(i|0):0){o=(L|0)<(E|0)?L:E;i=o<<2;u=0;do{l((e[A+(u<<2)>>2]|0)+(B<<2)|0,e[C+(u<<2)>>2]|0,i|0)|0;u=u+1|0}while((u|0)<(z|0));e[T>>2]=o;e[D>>2]=o;return}U=c+12|0;V=c+37184|0;q=c+37188|0;m=c+37168|0;W=(u|0)>0;u=0;while(1){K=e[A+(u<<2)>>2]|0;P=e[C+(u<<2)>>2]|0;v=+(i|0)/+(o|0);if(!i)i=o;else{t=o;while(1){n=(t|0)%(i|0)|0;if(!n)break;else{t=i;i=n}}}i=(o|0)/(i|0)|0;o=(i|0)>320?320:i;s=+p(+(v-+x(+(v+.5))))<1e-4;a=1/v;n=a>1;s=s?32:31;_=s+1|0;if(!(e[U>>2]|0)){e[V>>2]=k(_,4)|0;e[q>>2]=k(_,4)|0;b=o<<1;if((o|0)<0){e[m>>2]=0;e[m+4>>2]=0;e[m+8>>2]=0;e[m+12>>2]=0;t=0}else{t=0;while(1){e[c+37192+(t<<2)>>2]=k(_,4)|0;if((t|0)<(b|0))t=t+1|0;else break}e[m>>2]=0;e[m+4>>2]=0;e[m+8>>2]=0;e[m+12>>2]=0;j=+(o|0)*2;F=n?3.1415927410125732:a*3.141592653589793;y=+(s|0);Y=F*.3183098861837907;F=F*y;G=+(s|0)*3.141592653589793;w=(i|0)<320?-2-(i<<1^-2)|0:640;i=0;while(1){M=+(i-o|0)/j;n=e[c+37192+(i<<2)>>2]|0;h=0;d=0;while(1){a=(+(h|0)-M)/y;a=a<0?0:a;a=a>1?1:a;S=a+-.5;if(+p(+S)<1e-9)a=Y;else a=(.42-+N(+(a*2*3.141592653589793))*.5+ +N(+(a*4*3.141592653589793))*.08)*+Lr(+(F*S))/(G*S);r[n+(h<<2)>>2]=a;d=a+d;if((h|0)<(s|0))h=h+1|0;else break}t=0;while(1){h=n+(t<<2)|0;r[h>>2]=+r[h>>2]/d;if((t|0)<(s|0))t=t+1|0;else break}if((i|0)<(b|0))i=i+1|0;else break}t=(w|0)>0?w|1:1}e[U>>2]=1}else t=0;g=e[c+37184+(u<<2)>>2]|0;R=c+37168+(u<<3)|0;e:do if(W){b=s>>>1;n=s-b|0;y=+(s&1|0)*.5;M=+(o|0);S=M*2;a=+f[R>>3];o=0;do{d=+(o|0)*v-a;t=~~+x(+d);if((t+n|0)>=(E|0))break e;h=t-b|0;i=e[c+37192+(~~+x(+(S*(d-y-+(t|0))+M+.5))<<2)>>2]|0;w=0;d=0;while(1){O=w+h|0;d=+r[i+(w<<2)>>2]*+r[((O|0)<0?g+(O+_<<2)|0:P+(O<<2)|0)>>2]+d;if((w|0)<(s|0))w=w+1|0;else break}r[K+(o+B<<2)>>2]=d;o=o+1|0}while((o|0)<(L|0))}else{n=s-(s>>>1)|0;a=+f[R>>3];o=0}while(0);i=t+n|0;i=(i|0)>(E|0)?E:i;e[D>>2]=i;f[R>>3]=a-+(o|0)*v+ +(i|0);if((s|0)>=(i|0)){n=_-i|0;if((n|0)>0){t=0;do{e[g+(t<<2)>>2]=e[g+(t+i<<2)>>2];t=t+1|0}while((t|0)!=(n|0))}else n=0;if((s|0)>=(n|0)){t=_-n|0;i=0;while(1){e[g+(n<<2)>>2]=e[P+(i<<2)>>2];i=i+1|0;if((i|0)==(t|0))break;else n=n+1|0}}}else{i=i+~s|0;n=0;do{e[g+(n<<2)>>2]=e[P+(i+n<<2)>>2];n=n+1|0}while((n|0)<(_|0))}u=u+1|0;if((u|0)>=(z|0))break;i=e[H>>2]|0;o=e[I>>2]|0}e[T>>2]=o;return}function qi(r,i){r=r|0;i=i|0;var t=0;t=e[vi>>2]|0;at(t|0,r|0,i|0)|0;_t(t|0)|0;return}function Vi(r,n,o){r=r|0;n=n|0;o=o|0;var a=0,i=0;i=t;t=t+16|0;a=i;if(!r){t=i;return}r=r+85828|0;if(!(e[r>>2]|0)){t=i;return}e[a>>2]=o;K[e[r>>2]&3](n,a);t=i;return}function M(r,n,o){r=r|0;n=n|0;o=o|0;var a=0,i=0;i=t;t=t+16|0;a=i;if(!r){t=i;return}r=r+85836|0;if(!(e[r>>2]|0)){t=i;return}e[a>>2]=o;K[e[r>>2]&3](n,a);t=i;return}function Wi(){return 0}function Yi(){return 0}function Ki(){return 0}function Gi(){return 0}function en(){return}function Zi(){var i=0;if(!(e[22410]|0))i=0;else{e[22410]=1;return}do{r[89648+(i<<2)>>2]=+Ve(+(+(i|0)*.001953125+1))*1.4426950408889634;i=i+1|0}while((i|0)!=513);e[22410]=1;return}function b(i){i=+i;var o=0,t=0;t=(r[n>>2]=i,e[n>>2]|0);i=+(t&16383|0)*6103515625e-14;o=t>>>14&511;return+(+r[89648+(o<<2)>>2]*(1-i)+ +((t>>>23&255)+-127|0)+ +r[89648+(o+1<<2)>>2]*i)}function Qi(){return 91704}function $i(f,r,h,_){f=f|0;r=r|0;h=h|0;_=_|0;var n=0,o=0,i=0,a=0,m=0,w=0,p=0,S=0,c=0,u=0,O=0,R=0,T=0,A=0,k=0,v=0,d=0,y=0,M=0,E=0,b=0,F=0;F=t;t=t+688|0;y=F+424|0;d=F+192|0;E=F;n=s(h,r)|0;if(!n){t=F;return}a=n-h|0;e[E+4>>2]=h;e[E>>2]=h;o=h;r=h;i=2;while(1){o=o+h+r|0;e[E+(i<<2)>>2]=o;if(o>>>0<n>>>0){M=r;r=o;i=i+1|0;o=M}else break}M=0-h|0;A=f+a|0;if((a|0)>0){R=(h|0)==0;T=A;n=1;o=0;r=1;do{do if((n&3|0)!=3){O=r+-1|0;if((e[E+(O<<2)>>2]|0)>>>0<(T-f|0)>>>0){e[d>>2]=f;e:do if((r|0)>1){a=r;i=f;c=f;m=1;while(1){u=i+M|0;w=a+-2|0;i=i+(0-((e[E+(w<<2)>>2]|0)+h))|0;if((g[_&1](c,i)|0)>-1?(g[_&1](c,u)|0)>-1:0){S=m;break}S=m+1|0;p=d+(m<<2)|0;if((g[_&1](i,u)|0)>-1){e[p>>2]=i;a=a+-1|0}else{e[p>>2]=u;i=u;a=w}if((a|0)<=1)break;c=e[d>>2]|0;m=S}if((S|0)>=2?(v=d+(S<<2)|0,e[v>>2]=y,!R):0){m=h;a=y;while(1){i=m>>>0>256?256:m;w=e[d>>2]|0;l(a|0,w|0,i|0)|0;p=0;do{u=p;p=p+1|0;c=w;w=e[d+(p<<2)>>2]|0;l(c|0,w|0,i|0)|0;e[d+(u<<2)>>2]=c+i}while((p|0)!=(S|0));if((m|0)==(i|0))break e;m=m-i|0;a=e[v>>2]|0}}}while(0)}else Q(f,h,_,n,o,r,0,E);if((r|0)==1){a=n<<1;o=n>>>31|o<<1;r=0;break}else{u=O>>>0>31;c=u?0:n;r=u?r+-33|0:O;a=c<<r;o=c>>>(32-r|0)|(u?n:o)<<r;r=1;break}}else{e[d>>2]=f;e:do if((r|0)>1){a=r;i=f;S=f;w=1;while(1){c=i+M|0;u=a+-2|0;i=i+(0-((e[E+(u<<2)>>2]|0)+h))|0;if((g[_&1](S,i)|0)>-1?(g[_&1](S,c)|0)>-1:0){p=w;break}p=w+1|0;m=d+(w<<2)|0;if((g[_&1](i,c)|0)>-1){e[m>>2]=i;a=a+-1|0}else{e[m>>2]=c;i=c;a=u}if((a|0)<=1)break;S=e[d>>2]|0;w=p}if((p|0)>=2?(k=d+(p<<2)|0,e[k>>2]=y,!R):0){m=h;a=y;while(1){w=m>>>0>256?256:m;i=e[d>>2]|0;l(a|0,i|0,w|0)|0;a=i;i=0;do{O=i;i=i+1|0;u=a;a=e[d+(i<<2)>>2]|0;l(u|0,a|0,w|0)|0;e[d+(O<<2)>>2]=u+w}while((i|0)!=(p|0));if((m|0)==(w|0))break e;m=m-w|0;a=e[k>>2]|0}}}while(0);a=n>>>2|o<<30;o=o>>>2;r=r+2|0}while(0);n=a|1;f=f+h|0}while(f>>>0<A>>>0)}else{o=0;n=1;r=1}Q(f,h,_,n,o,r,0,E);if((o|0)==0&((n|0)==1&(r|0)==1)){t=F;return}else{i=n;u=f;c=r}while(1){if((c|0)>=2){v=i>>>30;y=c+-2|0;k=(i<<1&2147483646|v<<31)^3;d=(v|o<<2)>>>1;Q(u+(0-((e[E+(y<<2)>>2]|0)+h))|0,h,_,k,d,c+-1|0,1,E);v=d<<1|v&1;k=k<<1|1;d=u+M|0;Q(d,h,_,k,v,y,1,E);i=k;o=v;u=d;c=y;continue}r=i+-1|0;do if(r){if(!(r&1)){n=r;r=0;do{r=r+1|0;n=n>>>1}while((n&1|0)==0);if(!r)b=51}else b=51;if((b|0)==51){b=0;if(!o){r=64;b=56;break}if(!(o&1)){n=o;r=0}else{n=0;f=i;r=0;break}while(1){f=r+1|0;n=n>>>1;if(n&1){n=f;break}else r=f}if(!n){n=0;
- f=i;r=0;break}else r=r+33|0}if(r>>>0>31)b=56;else{n=r;f=i}}else{r=32;b=56}while(0);if((b|0)==56){b=0;n=r+-32|0;f=o;o=0}i=o<<32-n|f>>>n;o=o>>>n;c=r+c|0;if((o|0)==0&((i|0)==1&(c|0)==1))break;else u=u+M|0}t=F;return}function et(e){e=e|0;var r=0;r=t;t=t+e|0;t=t+15&-16;return r|0}function rt(){return t|0}function it(e){e=e|0;t=e}function tt(e,r){e=e|0;r=r|0;t=e;Ei=r}function nt(e,r){e=e|0;r=r|0;if(!Er){Er=e;bi=r}}function Xt(e){e=e|0;i[n>>0]=i[e>>0];i[n+1>>0]=i[e+1>>0];i[n+2>>0]=i[e+2>>0];i[n+3>>0]=i[e+3>>0]}function Wt(e){e=e|0;i[n>>0]=i[e>>0];i[n+1>>0]=i[e+1>>0];i[n+2>>0]=i[e+2>>0];i[n+3>>0]=i[e+3>>0];i[n+4>>0]=i[e+4>>0];i[n+5>>0]=i[e+5>>0];i[n+6>>0]=i[e+6>>0];i[n+7>>0]=i[e+7>>0]}function st(e){e=e|0;m=e}function ft(){return m|0}function lt(i){i=i|0;var r=0,t=0,a=0,n=0,s=0,f=0,o=0;a=e[83944+(e[i+16>>2]<<6)+(e[i+84744>>2]<<2)>>2]|0;n=i+85784|0;e[n>>2]=(e[n>>2]|0)+1;n=i+85760|0;a=(e[n>>2]|0)+a|0;e[n>>2]=a;n=i+85764|0;r=(e[n>>2]|0)+1|0;e[n>>2]=r;f=i+85768|0;if((r|0)<(e[f>>2]|0))return;o=i+85772|0;t=e[o>>2]|0;s=i+85776|0;r=e[s>>2]|0;if((t|0)<(r|0)){e[(e[i+85780>>2]|0)+(t<<2)>>2]=a;t=(e[o>>2]|0)+1|0;e[o>>2]=t;e[n>>2]=0;r=e[s>>2]|0}if((t|0)!=(r|0))return;if((r|0)>1){r=e[i+85780>>2]|0;t=1;do{e[r+(((t|0)/2|0)<<2)>>2]=e[r+(t<<2)>>2];t=t+2|0}while((t|0)<(e[s>>2]|0));r=e[o>>2]|0}e[f>>2]=e[f>>2]<<1;e[o>>2]=(r|0)/2|0;return}function ut(n){n=n|0;var o=0,u=0,r=0,l=0,f=0,a=0;f=t;t=t+2896|0;u=f;l=f+8|0;r=e[n+288>>2]|0;n=e[r+16>>2]|0;if((n|0)==1)o=128;else o=(e[r+64>>2]|0)<16e3?32:64;if(!(e[r+104>>2]|0))o=e[r+120>>2]|0;a=s((n*72e3|0)+72e3|0,o)|0;a=(a|0)/(e[r+64>>2]|0)|0;o=(e[r+24>>2]|0)+156|0;n=r+85792|0;e[n>>2]=a;if((a|0)>2880|(a|0)<(o|0)){e[r+156>>2]=0;n=0;t=f;return n|0}e[r+85784>>2]=0;e[r+85788>>2]=0;e[r+85760>>2]=0;e[r+85764>>2]=0;e[r+85768>>2]=1;e[r+85772>>2]=0;o=r+85780|0;do if(!(e[o>>2]|0)){a=W(1600)|0;e[o>>2]=a;o=r+85776|0;if(a){e[o>>2]=400;break}e[o>>2]=0;M(r,8,u);e[r+156>>2]=0;n=-1;t=f;return n|0}while(0);c(l|0,0,2880)|0;dt(r,l);n=e[n>>2]|0;if(n){o=0;do{Pe(r,i[l+o>>0]|0,1);o=o+1|0}while((o|0)!=(n|0))}n=0;t=f;return n|0}function ct(t,a,n){t=t|0;a=a|0;n=n|0;var r=0,i=0;if((n|0)<=0)return;r=S[t>>1]|0;i=0;do{r=((r&65535)>>>8^e[48+(((r^(o[a+i>>0]|0))&255)<<2)>>2])&65535;S[t>>1]=r;i=i+1|0}while((i|0)!=(n|0));return}function dt(t,n){t=t|0;n=n|0;var a=0,r=0,c=0,s=0,u=0,l=0,f=0;i[n>>0]=-1;u=n+1|0;s=(o[u>>0]|0)<<3|7;i[u>>0]=s;c=t+64|0;s=s<<1|(e[c>>2]|0)>15999;i[u>>0]=s;a=t+16|0;s=(s<<1&62|e[a>>2]&1)<<2|1;i[u>>0]=s;s=s<<1|(e[t+160>>2]|0)==0;i[u>>0]=s;l=n+2|0;r=(o[l>>0]|0)<<4|e[t+84744>>2]&15;i[l>>0]=r;r=r<<2&124|e[t+20>>2]&3;i[l>>0]=r<<1;i[l>>0]=r<<2|e[t+172>>2]&1;r=n+3|0;f=(o[r>>0]|0)<<2|e[t+180>>2]&3;i[r>>0]=f;f=f<<2|e[t+84756>>2]&3;i[r>>0]=f;f=f<<1|e[t+164>>2]&1;i[r>>0]=f;f=f<<1|e[t+168>>2]&1;i[r>>0]=f;i[r>>0]=f<<2|e[t+176>>2]&3;i[n>>0]=-1;r=e[a>>2]|0;if((r|0)==1)n=128;else n=(e[c>>2]|0)<16e3?32:64;if(!(e[t+104>>2]|0))n=e[t+120>>2]|0;if(!(e[t+152>>2]|0)){n=(re(n,r,e[c>>2]|0)|0)<<4&255;r=e[a>>2]|0}else n=0;a=s<<24>>24&-15;if((r|0)==1){i[u>>0]=a|10;a=(o[l>>0]|0)&13|n<<24>>24;a=a&255;i[l>>0]=a;return}else{i[u>>0]=a|2;a=(o[l>>0]|0)&13|n&255;a=a&255;i[l>>0]=a;return}}function ee(i){i=i|0;var r=0,t=0,n=0;r=i+16|0;n=e[i+84744>>2]|0;if(!n){t=e[r>>2]|0;r=i+120|0}else{r=e[r>>2]|0;t=r;r=83944+(r<<6)+(n<<2)|0}return((s((t*72e3|0)+72e3|0,e[r>>2]|0)|0)/(e[i+64>>2]|0)|0)+(e[i+84752>>2]|0)<<3|0}function Dr(i,n){i=i|0;n=n|0;var r=0,t=0;r=e[i+104>>2]|0;if((r|0)>320){t=e[i>>2]|0;if((n|0)==1){r=((s((t*72e3|0)+72e3|0,r)|0)/(e[i+48>>2]|0)|0)<<3;return r|0}else{r=(t*7680|0)+7680|0;return r|0}}r=e[i>>2]|0;if((n|0)==1){t=e[i+48>>2]|0;r=((s((r*72e3|0)+72e3|0,e[((t|0)<16e3?83944+(r<<6)+32|0:83944+(r<<6)+56|0)>>2]|0)|0)/(t|0)|0)<<3;return r|0}else if((n|0)==2){r=(r*7680|0)+7680|0;return r|0}else{r=11520;return r|0}return 0}function wt(a,s){a=a|0;s=s|0;var r=0,t=0,n=0;n=o[s+2>>0]|0;r=(n&128|0)!=0?262140:196598;r=(((r^n<<10)&65536|0)==0?r:r^32773)<<1;r=(((r^n<<11)&65536|0)==0?r:r^32773)<<1;r=(((r^n<<12)&65536|0)==0?r:r^32773)<<1;r=(((r^n<<13)&65536|0)==0?r:r^32773)<<1;r=(((r^n<<14)&65536|0)==0?r:r^32773)<<1;r=(((r^n<<15)&65536|0)==0?r:r^32773)<<1;t=o[s+3>>0]|0;r=(((r^n<<16)&65536|0)==0?r:r^32773)<<1;r=(((r^t<<9)&65536|0)==0?r:r^32773)<<1;r=(((r^t<<10)&65536|0)==0?r:r^32773)<<1;r=(((r^t<<11)&65536|0)==0?r:r^32773)<<1;r=(((r^t<<12)&65536|0)==0?r:r^32773)<<1;r=(((r^t<<13)&65536|0)==0?r:r^32773)<<1;r=(((r^t<<14)&65536|0)==0?r:r^32773)<<1;r=(((r^t<<15)&65536|0)==0?r:r^32773)<<1;r=((r^t<<16)&65536|0)==0?r:r^32773;t=e[a+24>>2]|0;if((t|0)>6)a=6;else{a=r;t=a>>>8;t=t&255;r=s+4|0;i[r>>0]=t;a=a&255;r=s+5|0;i[r>>0]=a;return}do{n=o[s+a>>0]|0;r=r<<1;r=(((n<<9^r)&65536|0)==0?r:r^32773)<<1;r=(((r^n<<10)&65536|0)==0?r:r^32773)<<1;r=(((r^n<<11)&65536|0)==0?r:r^32773)<<1;r=(((r^n<<12)&65536|0)==0?r:r^32773)<<1;r=(((r^n<<13)&65536|0)==0?r:r^32773)<<1;r=(((r^n<<14)&65536|0)==0?r:r^32773)<<1;r=(((r^n<<15)&65536|0)==0?r:r^32773)<<1;r=((r^n<<16)&65536|0)==0?r:r^32773;a=a+1|0}while((a|0)<(t|0));t=r>>>8;t=t&255;a=s+4|0;i[a>>0]=t;a=r&255;r=s+5|0;i[r>>0]=a;return}function pt(r){r=r|0;var i=0,n=0,a=0,o=0,f=0;f=t;t=t+16|0;n=e[r+52132>>2]|0;i=e[r+52128>>2]|0;i=(i|0)==0?255:i+-1|0;a=(e[r+39840+(i*48|0)>>2]|0)-(e[r+292>>2]|0)|0;if((a|0)>-1){o=i+(1-n)|0;a=a-(s(((i|0)<(n|0)?o+256|0:o)<<3,e[r+24>>2]|0)|0)|0}n=r+16|0;o=e[r+84744>>2]|0;if(!o){i=e[n>>2]|0;n=r+120|0}else{n=e[n>>2]|0;i=n;n=83944+(n<<6)+(o<<2)|0}i=(((s((i*72e3|0)+72e3|0,e[n>>2]|0)|0)/(e[r+64>>2]|0)|0)+(e[r+84752>>2]|0)<<3)+a|0;if((i|0)<0){M(r,1072,f);t=f;return}else{Re(r,i);e[r+52140>>2]=0;e[r+21312>>2]=0;t=f;return}}function Pe(t,r,s){t=t|0;r=r|0;s=s|0;var n=0,h=0,f=0,l=0,u=0,c=0,a=0,d=0;if(!s)return;h=r&255;f=t+300|0;l=t+296|0;u=t+284|0;c=t+292|0;do{n=8;do{r=e[f>>2]|0;if(!r){e[f>>2]=8;r=(e[l>>2]|0)+1|0;e[l>>2]=r;i[(e[u>>2]|0)+r>>0]=0;r=e[f>>2]|0}a=(n|0)<(r|0)?n:r;n=n-a|0;d=r-a|0;e[f>>2]=d;r=(e[u>>2]|0)+(e[l>>2]|0)|0;i[r>>0]=h>>>n<<d|(o[r>>0]|0);e[c>>2]=(e[c>>2]|0)+a}while((n|0)>0);r=0;do{a=t+39840+(r*48|0)|0;e[a>>2]=(e[a>>2]|0)+8;r=r+1|0}while((r|0)!=256);s=s+-1|0}while((s|0)!=0);return}function Et(u){u=u|0;var m=0,r=0,n=0,d=0,a=0,k=0,_=0,E=0,T=0,x=0,v=0,R=0,g=0,P=0,D=0,S=0,F=0,b=0,H=0,y=0,h=0,f=0,V=0,A=0,I=0,C=0,p=0,U=0,w=0,Y=0,z=0,j=0,q=0,W=0,K=0,N=0,G=0,Q=0,$=0,X=0,Z=0,J=0,B=0,L=0;L=t;t=t+96|0;J=L+88|0;Z=L+80|0;X=L+72|0;$=L+64|0;B=L+24|0;Q=L+16|0;G=L+8|0;V=L;z=u+16|0;Y=u+84744|0;r=e[Y>>2]|0;if(!r){m=e[z>>2]|0;r=u+120|0}else{f=e[z>>2]|0;m=f;r=83944+(f<<6)+(r<<2)|0}q=u+84752|0;j=u+64|0;W=((s((m*72e3|0)+72e3|0,e[r>>2]|0)|0)/(e[j>>2]|0)|0)+(e[q>>2]|0)<<3;K=u+21320|0;Re(u,e[K>>2]|0);w=u+52128|0;r=e[w>>2]|0;e[u+39840+(r*48|0)+4>>2]=0;N=u+24|0;c(u+39840+(r*48|0)+8|0,0,e[N>>2]|0)|0;r=e[w>>2]|0;n=e[u+39840+(r*48|0)+4>>2]|0;if((e[j>>2]|0)<16e3){m=12;do{h=8-(n&7)|0;f=(m|0)<(h|0)?m:h;m=m-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=4094>>>m<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((m|0)>0);e[u+39840+(r*48|0)+4>>2]=n}else{m=12;do{h=8-(n&7)|0;f=(m|0)<(h|0)?m:h;m=m-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=4095>>>m<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((m|0)>0);e[u+39840+(r*48|0)+4>>2]=n}A=u+16|0;d=e[A>>2]|0;m=1;do{h=8-(n&7)|0;f=(m|0)<(h|0)?m:h;m=m-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>m<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((m|0)>0);e[u+39840+(r*48|0)+4>>2]=n;m=2;do{h=8-(n&7)|0;f=(m|0)<(h|0)?m:h;m=m-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=1>>>m<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((m|0)>0);e[u+39840+(r*48|0)+4>>2]=n;I=u+160|0;m=(e[I>>2]|0)==0&1;d=1;do{h=8-(n&7)|0;f=(d|0)<(h|0)?d:h;d=d-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=m>>>d<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((d|0)>0);e[u+39840+(r*48|0)+4>>2]=n;m=e[Y>>2]|0;d=4;do{h=8-(n&7)|0;f=(d|0)<(h|0)?d:h;d=d-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=m>>d<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((d|0)>0);e[u+39840+(r*48|0)+4>>2]=n;m=e[u+20>>2]|0;d=2;do{h=8-(n&7)|0;f=(d|0)<(h|0)?d:h;d=d-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=m>>d<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((d|0)>0);e[u+39840+(r*48|0)+4>>2]=n;m=e[q>>2]|0;d=1;do{h=8-(n&7)|0;f=(d|0)<(h|0)?d:h;d=d-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=m>>d<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((d|0)>0);e[u+39840+(r*48|0)+4>>2]=n;m=e[u+172>>2]|0;d=1;do{h=8-(n&7)|0;f=(d|0)<(h|0)?d:h;d=d-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=m>>d<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((d|0)>0);e[u+39840+(r*48|0)+4>>2]=n;m=e[u+180>>2]|0;d=2;do{h=8-(n&7)|0;f=(d|0)<(h|0)?d:h;d=d-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=m>>d<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((d|0)>0);e[u+39840+(r*48|0)+4>>2]=n;m=e[u+84756>>2]|0;d=2;do{h=8-(n&7)|0;f=(d|0)<(h|0)?d:h;d=d-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=m>>d<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((d|0)>0);e[u+39840+(r*48|0)+4>>2]=n;m=e[u+164>>2]|0;d=1;do{h=8-(n&7)|0;f=(d|0)<(h|0)?d:h;d=d-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=m>>d<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((d|0)>0);e[u+39840+(r*48|0)+4>>2]=n;m=e[u+168>>2]|0;d=1;do{h=8-(n&7)|0;f=(d|0)<(h|0)?d:h;d=d-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=m>>d<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((d|0)>0);e[u+39840+(r*48|0)+4>>2]=n;m=e[u+176>>2]|0;d=2;do{h=8-(n&7)|0;f=(d|0)<(h|0)?d:h;d=d-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=m>>d<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((d|0)>0);d=u+39840+(r*48|0)+4|0;e[d>>2]=n;if(e[I>>2]|0){m=16;do{f=8-(n&7)|0;f=(m|0)<(f|0)?m:f;m=m-f|0;n=f+n|0}while((m|0)>0);e[d>>2]=n}U=u+21312|0;a=e[U>>2]|0;do if((e[A>>2]|0)!=1){d=8;do{h=8-(n&7)|0;f=(d|0)<(h|0)?d:h;d=d-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=a>>d<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((d|0)>0);d=u+39840+(r*48|0)+4|0;e[d>>2]=n;a=e[u+21316>>2]|0;C=u+72|0;m=e[C>>2]|0;if((m|0)<=0){e[d>>2]=n;break}do{h=8-(n&7)|0;f=(m|0)<(h|0)?m:h;m=m-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=a>>m<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((m|0)>0);f=e[C>>2]|0;e[u+39840+(r*48|0)+4>>2]=n;if((f|0)>0){p=0;while(1){d=(e[u+304+(p*5252|0)+4844>>2]|0)+(e[u+304+(p*5252|0)+4768>>2]|0)|0;a=12;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=(e[u+304+(p*5252|0)+4772>>2]|0)/2|0;a=9;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[u+304+(p*5252|0)+4780>>2]|0;a=8;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[u+304+(p*5252|0)+4784>>2]|0;a=9;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);a=u+39840+(r*48|0)+4|0;e[a>>2]=n;d=u+304+(p*5252|0)+4788|0;if(!(e[d>>2]|0)){d=1;do{f=8-(n&7)|0;f=(d|0)<(f|0)?d:f;d=d-f|0;n=f+n|0}while((d|0)>0);e[a>>2]=n;m=u+304+(p*5252|0)+4796|0;d=e[m>>2]|0;if((d|0)==14){e[m>>2]=16;r=e[w>>2]|0;d=16;n=e[u+39840+(r*48|0)+4>>2]|0}a=5;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=u+304+(p*5252|0)+4800|0;m=e[d>>2]|0;if((m|0)==14){e[d>>2]=16;r=e[w>>2]|0;m=16;n=e[u+39840+(r*48|0)+4>>2]|0}a=5;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=m>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=u+304+(p*5252|0)+4804|0;m=e[d>>2]|0;if((m|0)==14){e[d>>2]=16;r=e[w>>2]|0;m=16;n=e[u+39840+(r*48|0)+4>>2]|0}a=5;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=m>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[u+304+(p*5252|0)+4824>>2]|0;a=4;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[u+304+(p*5252|0)+4828>>2]|0;a=3;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n}else{a=1;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=1>>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[d>>2]|0;a=2;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[u+304+(p*5252|0)+4792>>2]|0;a=1;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=u+304+(p*5252|0)+4796|0;m=e[d>>2]|0;if((m|0)==14){e[d>>2]=16;r=e[w>>2]|0;n=e[u+39840+(r*48|0)+4>>2]|0;m=16}a=5;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=m>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=u+304+(p*5252|0)+4800|0;m=e[d>>2]|0;if((m|0)==14){e[d>>2]=16;r=e[w>>2]|0;n=e[u+39840+(r*48|0)+4>>2]|0;m=16}a=5;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=m>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[u+304+(p*5252|0)+4808>>2]|0;a=3;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[u+304+(p*5252|0)+4812>>2]|0;a=3;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[u+304+(p*5252|0)+4816>>2]|0;a=3;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n}d=e[u+304+(p*5252|0)+4836>>2]|0;a=1;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[u+304+(p*5252|0)+4840>>2]|0;a=1;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=p+1|0;if((d|0)<(e[C>>2]|0))p=d;else break}}}else{d=9;do{h=8-(n&7)|0;f=(d|0)<(h|0)?d:h;d=d-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=a>>d<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((d|0)>0);e[u+39840+(r*48|0)+4>>2]=n;C=u+72|0;a=e[u+21316>>2]|0;if((e[C>>2]|0)==2){d=3;do{h=8-(n&7)|0;f=(d|0)<(h|0)?d:h;d=d-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=a>>d<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((d|0)>0);e[u+39840+(r*48|0)+4>>2]=n}else{d=5;do{h=8-(n&7)|0;f=(d|0)<(h|0)?d:h;d=d-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=a>>d<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((d|0)>0);e[u+39840+(r*48|0)+4>>2]=n}m=e[C>>2]|0;if((m|0)>0){d=0;do{m=e[u+21328+(d<<4)>>2]|0;a=1;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=m>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;m=e[u+21328+(d<<4)+4>>2]|0;a=1;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=m>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;m=e[u+21328+(d<<4)+8>>2]|0;a=1;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=m>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;m=e[u+21328+(d<<4)+12>>2]|0;a=1;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=m>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=d+1|0;m=e[C>>2]|0}while((d|0)<(m|0));n=m;p=0}else{n=m;p=0}do{if((n|0)>0){n=e[u+39840+(r*48|0)+4>>2]|0;m=0;while(1){d=(e[u+304+(p*10504|0)+(m*5252|0)+4844>>2]|0)+(e[u+304+(p*10504|0)+(m*5252|0)+4768>>2]|0)|0;a=12;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=(e[u+304+(p*10504|0)+(m*5252|0)+4772>>2]|0)/2|0;a=9;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[u+304+(p*10504|0)+(m*5252|0)+4780>>2]|0;a=8;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[u+304+(p*10504|0)+(m*5252|0)+4784>>2]|0;a=4;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);a=u+39840+(r*48|0)+4|0;e[a>>2]=n;d=u+304+(p*10504|0)+(m*5252|0)+4788|0;if(!(e[d>>2]|0)){d=1;do{f=8-(n&7)|0;f=(d|0)<(f|0)?d:f;d=d-f|0;n=f+n|0}while((d|0)>0);e[a>>2]=n;d=u+304+(p*10504|0)+(m*5252|0)+4796|0;a=e[d>>2]|0;if((a|0)==14){e[d>>2]=16;r=e[w>>2]|0;n=e[u+39840+(r*48|0)+4>>2]|0;a=16}d=5;do{h=8-(n&7)|0;f=(d|0)<(h|0)?d:h;d=d-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=a>>d<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((d|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=u+304+(p*10504|0)+(m*5252|0)+4800|0;a=e[d>>2]|0;if((a|0)==14){e[d>>2]=16;r=e[w>>2]|0;n=e[u+39840+(r*48|0)+4>>2]|0;a=16}d=5;do{h=8-(n&7)|0;f=(d|0)<(h|0)?d:h;d=d-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=a>>d<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((d|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=u+304+(p*10504|0)+(m*5252|0)+4804|0;a=e[d>>2]|0;if((a|0)==14){e[d>>2]=16;r=e[w>>2]|0;n=e[u+39840+(r*48|0)+4>>2]|0;a=16}d=5;do{h=8-(n&7)|0;f=(d|0)<(h|0)?d:h;d=d-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=a>>d<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((d|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[u+304+(p*10504|0)+(m*5252|0)+4824>>2]|0;a=4;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[u+304+(p*10504|0)+(m*5252|0)+4828>>2]|0;a=3;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n}else{a=1;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=1>>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[d>>2]|0;a=2;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[u+304+(p*10504|0)+(m*5252|0)+4792>>2]|0;a=1;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=u+304+(p*10504|0)+(m*5252|0)+4796|0;a=e[d>>2]|0;if((a|0)==14){e[d>>2]=16;r=e[w>>2]|0;n=e[u+39840+(r*48|0)+4>>2]|0;a=16}d=5;do{h=8-(n&7)|0;f=(d|0)<(h|0)?d:h;d=d-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=a>>d<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((d|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=u+304+(p*10504|0)+(m*5252|0)+4800|0;a=e[d>>2]|0;if((a|0)==14){e[d>>2]=16;r=e[w>>2]|0;n=e[u+39840+(r*48|0)+4>>2]|0;a=16}d=5;do{h=8-(n&7)|0;f=(d|0)<(h|0)?d:h;d=d-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=a>>d<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((d|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[u+304+(p*10504|0)+(m*5252|0)+4808>>2]|0;a=3;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[u+304+(p*10504|0)+(m*5252|0)+4812>>2]|0;a=3;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[u+304+(p*10504|0)+(m*5252|0)+4816>>2]|0;a=3;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n}d=e[u+304+(p*10504|0)+(m*5252|0)+4832>>2]|0;a=1;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[u+304+(p*10504|0)+(m*5252|0)+4836>>2]|0;a=1;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);e[u+39840+(r*48|0)+4>>2]=n;d=e[u+304+(p*10504|0)+(m*5252|0)+4840>>2]|0;a=1;do{h=8-(n&7)|0;f=(a|0)<(h|0)?a:h;a=a-f|0;r=(n>>3)+(u+39840+(r*48|0)+8)|0;i[r>>0]=d>>a<<h-f|(o[r>>0]|0);n=f+n|0;r=e[w>>2]|0}while((a|0)>0);d=n;e[u+39840+(r*48|0)+4>>2]=d;m=m+1|0;n=e[C>>2]|0;if((m|0)<(n|0))n=d;else break}}p=p+1|0}while((p|0)!=2)}while(0);if(e[I>>2]|0){wt(u,u+39840+(r*48|0)+8|0);r=e[w>>2]|0}p=r+1&255;e[w>>2]=p;e[u+39840+(p*48|0)>>2]=(e[u+39840+(r*48|0)>>2]|0)+W;p=u+52132|0;if((e[w>>2]|0)==(e[p>>2]|0))M(u,1112,V);C=e[N>>2]<<3;I=u+72|0;do if((e[A>>2]|0)==1){P=u+300|0;v=u+296|0;k=u+292|0;T=u+284|0;x=u+21464|0;d=e[I>>2]|0;b=0;n=0;do{if((d|0)>0){S=0;do{F=u+304+(b*10504|0)+(S*5252|0)|0;D=e[u+304+(b*10504|0)+(S*5252|0)+4784>>2]|0;R=e[88648+(D<<2)>>2]|0;D=e[88712+(D<<2)>>2]|0;g=u+304+(b*10504|0)+(S*5252|0)+4868|0;r=e[g>>2]|0;e:do if((r|0)>0){if((R|0)>0){a=r;d=0;r=0}else{d=0;a=0;while(1){d=((e[u+304+(b*10504|0)+(S*5252|0)+4608+(a<<2)>>2]|0)==-1?0:R)+d|0;a=a+1|0;if((a|0)==(r|0))break e}}do{E=e[u+304+(b*10504|0)+(S*5252|0)+4608+(r<<2)>>2]|0;if((E|0)!=-1){_=R;do{a=e[P>>2]|0;if(!a){e[P>>2]=8;a=(e[v>>2]|0)+1|0;e[v>>2]=a;m=e[p>>2]|0;if((e[u+39840+(m*48|0)>>2]|0)==(e[k>>2]|0)){l((e[T>>2]|0)+a|0,u+39840+(m*48|0)+8|0,e[N>>2]|0)|0;f=e[N>>2]|0;a=(e[v>>2]|0)+f|0;e[v>>2]=a;e[k>>2]=(e[k>>2]|0)+(f<<3);e[p>>2]=(e[p>>2]|0)+1&255}i[(e[T>>2]|0)+a>>0]=0;a=e[P>>2]|0}f=(_|0)<(a|0)?_:a;_=_-f|0;y=a-f|0;e[P>>2]=y;h=(e[T>>2]|0)+(e[v>>2]|0)|0;i[h>>0]=E>>_<<y|(o[h>>0]|0);e[k>>2]=(e[k>>2]|0)+f}while((_|0)>0);a=e[g>>2]|0;d=d+R|0}r=r+1|0}while((r|0)<(a|0))}else{d=0;r=0}while(0);g=u+304+(b*10504|0)+(S*5252|0)+4860|0;a=e[g>>2]|0;if((r|0)<(a|0)){R=(D|0)>0;do{E=e[u+304+(b*10504|0)+(S*5252|0)+4608+(r<<2)>>2]|0;if((E|0)!=-1){if(R){_=D;do{a=e[P>>2]|0;if(!a){e[P>>2]=8;a=(e[v>>2]|0)+1|0;e[v>>2]=a;m=e[p>>2]|0;if((e[u+39840+(m*48|0)>>2]|0)==(e[k>>2]|0)){l((e[T>>2]|0)+a|0,u+39840+(m*48|0)+8|0,e[N>>2]|0)|0;f=e[N>>2]|0;a=(e[v>>2]|0)+f|0;e[v>>2]=a;e[k>>2]=(e[k>>2]|0)+(f<<3);e[p>>2]=(e[p>>2]|0)+1&255}i[(e[T>>2]|0)+a>>0]=0;a=e[P>>2]|0}f=(_|0)<(a|0)?_:a;_=_-f|0;y=a-f|0;e[P>>2]=y;h=(e[T>>2]|0)+(e[v>>2]|0)|0;i[h>>0]=E>>_<<y|(o[h>>0]|0);e[k>>2]=(e[k>>2]|0)+f}while((_|0)>0);a=e[g>>2]|0}d=d+D|0}r=r+1|0}while((r|0)<(a|0))}if((e[u+304+(b*10504|0)+(S*5252|0)+4788>>2]|0)==2){h=(e[x>>2]|0)*3|0;f=u+304+(b*10504|0)+(S*5252|0)+4772|0;a=e[f>>2]|0;h=(h|0)>(a|0)?a:h;a=O(u,e[u+304+(b*10504|0)+(S*5252|0)+4796>>2]|0,0,h,F)|0;a=(O(u,e[u+304+(b*10504|0)+(S*5252|0)+4800>>2]|0,h,e[f>>2]|0,F)|0)+a|0}else{a=e[u+304+(b*10504|0)+(S*5252|0)+4772>>2]|0;f=e[u+304+(b*10504|0)+(S*5252|0)+4824>>2]|0;y=e[u+21360+(f+1<<2)>>2]|0;f=e[u+21360+(f+2+(e[u+304+(b*10504|0)+(S*5252|0)+4828>>2]|0)<<2)>>2]|0;y=(y|0)>(a|0)?a:y;f=(f|0)>(a|0)?a:f;h=O(u,e[u+304+(b*10504|0)+(S*5252|0)+4796>>2]|0,0,y,F)|0;h=(O(u,e[u+304+(b*10504|0)+(S*5252|0)+4800>>2]|0,y,f,F)|0)+h|0;a=h+(O(u,e[u+304+(b*10504|0)+(S*5252|0)+4804>>2]|0,f,a,F)|0)|0}n=d+n+a+(lr(u,F)|0)|0;S=S+1|0;d=e[I>>2]|0}while((S|0)<(d|0))}b=b+1|0}while((b|0)!=2)}else{if((e[I>>2]|0)<=0){k=u+292|0;n=0;break}y=u+300|0;h=u+296|0;k=u+292|0;f=u+284|0;V=u+21464|0;A=0;n=0;do{H=u+304+(A*5252|0)|0;b=u+304+(A*5252|0)+5188|0;if((e[u+304+(A*5252|0)+4788>>2]|0)==2){a=0;d=0;F=0;do{S=e[(e[b>>2]|0)+(F<<2)>>2]|0;r=(S|0)/3|0;T=e[u+304+(A*5252|0)+5192+(F<<2)>>2]|0;if((S|0)>2){x=(T|0)>0;S=(r|0)>1?r:1;P=0;D=d;while(1){m=D*3|0;g=e[u+304+(A*5252|0)+4608+(m<<2)>>2]|0;g=(g|0)>0?g:0;if(x){R=T;do{E=e[y>>2]|0;if(!E){e[y>>2]=8;E=(e[h>>2]|0)+1|0;e[h>>2]=E;_=e[p>>2]|0;if((e[u+39840+(_*48|0)>>2]|0)==(e[k>>2]|0)){l((e[f>>2]|0)+E|0,u+39840+(_*48|0)+8|0,e[N>>2]|0)|0;v=e[N>>2]|0;E=(e[h>>2]|0)+v|0;e[h>>2]=E;e[k>>2]=(e[k>>2]|0)+(v<<3);e[p>>2]=(e[p>>2]|0)+1&255}i[(e[f>>2]|0)+E>>0]=0;E=e[y>>2]|0}_=(R|0)<(E|0)?R:E;R=R-_|0;E=E-_|0;e[y>>2]=E;v=(e[f>>2]|0)+(e[h>>2]|0)|0;i[v>>0]=g>>R<<E|(o[v>>0]|0);_=(e[k>>2]|0)+_|0;e[k>>2]=_}while((R|0)>0);R=e[u+304+(A*5252|0)+4608+(m+1<<2)>>2]|0;R=(R|0)>0?R:0;g=T;do{E=e[y>>2]|0;if(!E){e[y>>2]=8;E=(e[h>>2]|0)+1|0;e[h>>2]=E;v=e[p>>2]|0;if((e[u+39840+(v*48|0)>>2]|0)==(_|0)){l((e[f>>2]|0)+E|0,u+39840+(v*48|0)+8|0,e[N>>2]|0)|0;v=e[N>>2]|0;E=(e[h>>2]|0)+v|0;e[h>>2]=E;e[k>>2]=(e[k>>2]|0)+(v<<3);e[p>>2]=(e[p>>2]|0)+1&255}i[(e[f>>2]|0)+E>>0]=0;E=e[y>>2]|0}_=(g|0)<(E|0)?g:E;g=g-_|0;E=E-_|0;e[y>>2]=E;v=(e[f>>2]|0)+(e[h>>2]|0)|0;i[v>>0]=R>>g<<E|(o[v>>0]|0);_=(e[k>>2]|0)+_|0;e[k>>2]=_}while((g|0)>0);R=e[u+304+(A*5252|0)+4608+(m+2<<2)>>2]|0;R=(R|0)>0?R:0;g=T;v=_;do{_=e[y>>2]|0;if(!_){e[y>>2]=8;_=(e[h>>2]|0)+1|0;e[h>>2]=_;E=e[p>>2]|0;if((e[u+39840+(E*48|0)>>2]|0)==(v|0)){l((e[f>>2]|0)+_|0,u+39840+(E*48|0)+8|0,e[N>>2]|0)|0;v=e[N>>2]|0;_=(e[h>>2]|0)+v|0;e[h>>2]=_;e[k>>2]=(e[k>>2]|0)+(v<<3);e[p>>2]=(e[p>>2]|0)+1&255}i[(e[f>>2]|0)+_>>0]=0;_=e[y>>2]|0}v=(g|0)<(_|0)?g:_;g=g-v|0;_=_-v|0;e[y>>2]=_;m=(e[f>>2]|0)+(e[h>>2]|0)|0;i[m>>0]=R>>g<<_|(o[m>>0]|0);v=(e[k>>2]|0)+v|0;e[k>>2]=v}while((g|0)>0)}P=P+1|0;if((P|0)>=(r|0))break;else D=D+1|0}a=(s(T*3|0,S)|0)+a|0;d=S+d|0}F=F+1|0}while((F|0)!=4);F=(e[V>>2]|0)*3|0;b=u+304+(A*5252|0)+4772|0;d=e[b>>2]|0;F=(F|0)>(d|0)?d:F;d=O(u,e[u+304+(A*5252|0)+4796>>2]|0,0,F,H)|0;d=(O(u,e[u+304+(A*5252|0)+4800>>2]|0,F,e[b>>2]|0,H)|0)+d|0}else{a=0;d=0;g=0;do{R=e[(e[b>>2]|0)+(g<<2)>>2]|0;T=e[u+304+(A*5252|0)+5192+(g<<2)>>2]|0;if((R|0)>0){if((T|0)>0){x=0;v=d;while(1){_=e[u+304+(A*5252|0)+4608+(v<<2)>>2]|0;_=(_|0)>0?_:0;E=T;do{r=e[y>>2]|0;if(!r){e[y>>2]=8;r=(e[h>>2]|0)+1|0;e[h>>2]=r;m=e[p>>2]|0;if((e[u+39840+(m*48|0)>>2]|0)==(e[k>>2]|0)){l((e[f>>2]|0)+r|0,u+39840+(m*48|0)+8|0,e[N>>2]|0)|0;F=e[N>>2]|0;r=(e[h>>2]|0)+F|0;e[h>>2]=r;e[k>>2]=(e[k>>2]|0)+(F<<3);e[p>>2]=(e[p>>2]|0)+1&255}i[(e[f>>2]|0)+r>>0]=0;r=e[y>>2]|0}F=(E|0)<(r|0)?E:r;E=E-F|0;D=r-F|0;e[y>>2]=D;S=(e[f>>2]|0)+(e[h>>2]|0)|0;i[S>>0]=_>>E<<D|(o[S>>0]|0);e[k>>2]=(e[k>>2]|0)+F}while((E|0)>0);x=x+1|0;if((x|0)==(R|0))break;else v=v+1|0}}a=(s(T,R)|0)+a|0;d=R+d|0}g=g+1|0}while((g|0)!=4);d=e[u+304+(A*5252|0)+4772>>2]|0;b=e[u+304+(A*5252|0)+4824>>2]|0;S=e[u+21360+(b+1<<2)>>2]|0;b=e[u+21360+(b+2+(e[u+304+(A*5252|0)+4828>>2]|0)<<2)>>2]|0;S=(S|0)>(d|0)?d:S;b=(b|0)>(d|0)?d:b;F=O(u,e[u+304+(A*5252|0)+4796>>2]|0,0,S,H)|0;F=(O(u,e[u+304+(A*5252|0)+4800>>2]|0,S,b,H)|0)+F|0;d=F+(O(u,e[u+304+(A*5252|0)+4804>>2]|0,b,d,H)|0)|0}n=a+n+d+(lr(u,H)|0)|0;A=A+1|0}while((A|0)<(e[I>>2]|0))}while(0);d=u+21324|0;Re(u,e[d>>2]|0);a=n+C+(e[d>>2]|0)|0;e[U>>2]=(e[U>>2]|0)+((W-a|0)/8|0);m=e[p>>2]|0;n=e[w>>2]|0;n=(n|0)==0?255:n+-1|0;r=(e[u+39840+(n*48|0)>>2]|0)-(e[k>>2]|0)|0;if((r|0)>-1){f=n+(1-m)|0;m=r-(s(((n|0)<(m|0)?f+256|0:f)<<3,e[N>>2]|0)|0)|0}else m=r;n=e[Y>>2]|0;if(!n){r=e[z>>2]|0;n=u+120|0}else{f=e[z>>2]|0;r=f;n=83944+(f<<6)+(n<<2)|0}m=(((s((r*72e3|0)+72e3|0,e[n>>2]|0)|0)/(e[j>>2]|0)|0)+(e[q>>2]|0)<<3)+m|0;if((m|0)<0)M(u,1072,G);n=u+52140|0;if((m|0)!=(e[n>>2]|0)){M(u,1168,Q);m=e[n>>2]|0}r=e[U>>2]<<3;if((r|0)!=(m|0)){h=e[d>>2]|0;y=e[K>>2]|0;f=e[N>>2]<<3;e[B>>2]=r;e[B+4>>2]=m;e[B+8>>2]=h;e[B+12>>2]=y;e[B+16>>2]=f;e[B+20>>2]=a-h-f;e[B+24>>2]=a;e[B+28>>2]=(a|0)%8|0;e[B+32>>2]=W;M(u,1224,B);M(u,1504,$);M(u,1560,X);M(u,1640,Z);M(u,1680,J);e[n>>2]=e[U>>2]<<3}m=e[k>>2]|0;if((m|0)>1e9)r=0;else{t=L;return 0}do{f=u+39840+(r*48|0)|0;e[f>>2]=(e[f>>2]|0)-m;r=r+1|0}while((r|0)!=256);e[k>>2]=0;t=L;return 0}function $(i,w,a,f){i=i|0;w=w|0;a=a|0;f=f|0;var s=0,m=0,u=0,n=0,p=0,E=0,_=0,o=0,h=0,c=0,d=0;d=t;t=t+9216|0;h=d;s=i+296|0;m=e[s>>2]|0;c=m+1|0;if((m|0)<0){o=0;t=d;return o|0}if(!((a|0)==0|(m|0)<(a|0))){o=-1;t=d;return o|0}l(w|0,e[i+284>>2]|0,c|0)|0;e[s>>2]=-1;e[i+300>>2]=0;if(!f){o=c;t=d;return o|0}ct(i+85752|0,w,c);o=i+85788|0;e[o>>2]=(e[o>>2]|0)+c;if(!(e[i+136>>2]|0)){o=c;t=d;return o|0}m=i+85808|0;s=h+4608|0;p=i+132|0;E=i+128|0;_=i+85676|0;o=i+72|0;f=i+85684|0;a=c;while(1){a=pi(e[m>>2]|0,w|0,a|0,h|0,s|0)|0;a=(a|0)==-1?0:a;if((a|0)>0){if(e[p>>2]|0){u=+r[f>>2];i=0;do{n=+r[h+(i<<2)>>2];if(!(n>u)){n=-n;if(u<n){r[f>>2]=n;u=n}}else{r[f>>2]=n;u=n}i=i+1|0}while((i|0)!=(a|0));if((e[o>>2]|0)>1){i=0;do{n=+r[h+4608+(i<<2)>>2];if(!(n>u)){n=-n;if(u<n){r[f>>2]=n;u=n}}else{r[f>>2]=n;u=n}i=i+1|0}while((i|0)!=(a|0))}}if((e[E>>2]|0)!=0?(Ye(e[_>>2]|0,h|0,s|0,a|0,e[o>>2]|0)|0)==0:0){s=24;break}}if(!a){s=23;break}else a=0}if((s|0)==23){o=c;t=d;return o|0}else if((s|0)==24){o=-6;t=d;return o|0}return 0}function St(r){r=r|0;e[r+52132>>2]=0;e[r+52128>>2]=0;e[r+39840>>2]=0;e[r+284>>2]=W(147456)|0;e[r+288>>2]=147456;e[r+296>>2]=-1;e[r+300>>2]=0;e[r+292>>2]=0;return}function Re(u,w){u=u|0;w=w|0;var r=0,a=0,t=0,n=0,s=0,d=0,f=0,h=0,c=0,m=0,p=0,E=0,_=0;if((w|0)>7){d=u+300|0;f=u+296|0;h=u+52132|0;c=u+292|0;m=u+284|0;_=u+24|0;t=8;do{r=e[d>>2]|0;if(!r){e[d>>2]=8;r=(e[f>>2]|0)+1|0;e[f>>2]=r;a=e[h>>2]|0;if((e[u+39840+(a*48|0)>>2]|0)==(e[c>>2]|0)){l((e[m>>2]|0)+r|0,u+39840+(a*48|0)+8|0,e[_>>2]|0)|0;s=e[_>>2]|0;r=(e[f>>2]|0)+s|0;e[f>>2]=r;e[c>>2]=(e[c>>2]|0)+(s<<3);e[h>>2]=(e[h>>2]|0)+1&255}i[(e[m>>2]|0)+r>>0]=0;r=e[d>>2]|0}s=(t|0)<(r|0)?t:r;t=t-s|0;n=r-s|0;e[d>>2]=n;r=(e[m>>2]|0)+(e[f>>2]|0)|0;i[r>>0]=76>>>t<<n|o[r>>0];r=(e[c>>2]|0)+s|0;e[c>>2]=r}while((t|0)>0);a=r;r=w+-8|0;if((r|0)>7){s=8;while(1){r=e[d>>2]|0;if(!r){e[d>>2]=8;r=(e[f>>2]|0)+1|0;e[f>>2]=r;t=e[h>>2]|0;if((e[u+39840+(t*48|0)>>2]|0)==(a|0)){l((e[m>>2]|0)+r|0,u+39840+(t*48|0)+8|0,e[_>>2]|0)|0;n=e[_>>2]|0;r=(e[f>>2]|0)+n|0;e[f>>2]=r;e[c>>2]=(e[c>>2]|0)+(n<<3);e[h>>2]=(e[h>>2]|0)+1&255}i[(e[m>>2]|0)+r>>0]=0;r=e[d>>2]|0}n=(s|0)<(r|0)?s:r;s=s-n|0;t=r-n|0;e[d>>2]=t;r=(e[m>>2]|0)+(e[f>>2]|0)|0;i[r>>0]=65>>>s<<t|o[r>>0];r=(e[c>>2]|0)+n|0;e[c>>2]=r;if((s|0)<=0){a=r;break}else a=r}r=w+-16|0;if((r|0)>7){s=8;while(1){r=e[d>>2]|0;if(!r){e[d>>2]=8;r=(e[f>>2]|0)+1|0;e[f>>2]=r;t=e[h>>2]|0;if((e[u+39840+(t*48|0)>>2]|0)==(a|0)){l((e[m>>2]|0)+r|0,u+39840+(t*48|0)+8|0,e[_>>2]|0)|0;n=e[_>>2]|0;r=(e[f>>2]|0)+n|0;e[f>>2]=r;e[c>>2]=(e[c>>2]|0)+(n<<3);e[h>>2]=(e[h>>2]|0)+1&255}i[(e[m>>2]|0)+r>>0]=0;r=e[d>>2]|0}n=(s|0)<(r|0)?s:r;s=s-n|0;t=r-n|0;e[d>>2]=t;r=(e[m>>2]|0)+(e[f>>2]|0)|0;i[r>>0]=77>>>s<<t|o[r>>0];r=(e[c>>2]|0)+n|0;e[c>>2]=r;if((s|0)<=0){a=r;break}else a=r}r=w+-24|0;if((r|0)>7){n=8;do{r=e[d>>2]|0;if(!r){e[d>>2]=8;r=(e[f>>2]|0)+1|0;e[f>>2]=r;t=e[h>>2]|0;if((e[u+39840+(t*48|0)>>2]|0)==(a|0)){l((e[m>>2]|0)+r|0,u+39840+(t*48|0)+8|0,e[_>>2]|0)|0;s=e[_>>2]|0;r=(e[f>>2]|0)+s|0;e[f>>2]=r;e[c>>2]=(e[c>>2]|0)+(s<<3);e[h>>2]=(e[h>>2]|0)+1&255}i[(e[m>>2]|0)+r>>0]=0;r=e[d>>2]|0}a=(n|0)<(r|0)?n:r;n=n-a|0;t=r-a|0;e[d>>2]=t;s=(e[m>>2]|0)+(e[f>>2]|0)|0;i[s>>0]=69>>>n<<t|o[s>>0];a=(e[c>>2]|0)+a|0;e[c>>2]=a}while((n|0)>0);r=w+-32|0;if((r|0)>31){E=Qi()|0;if((D(E|0)|0)>0){w=0;do{s=i[E+w>>0]|0;n=8;do{t=e[d>>2]|0;if(!t){e[d>>2]=8;t=(e[f>>2]|0)+1|0;e[f>>2]=t;a=e[h>>2]|0;if((e[u+39840+(a*48|0)>>2]|0)==(e[c>>2]|0)){l((e[m>>2]|0)+t|0,u+39840+(a*48|0)+8|0,e[_>>2]|0)|0;a=e[_>>2]|0;t=(e[f>>2]|0)+a|0;e[f>>2]=t;e[c>>2]=(e[c>>2]|0)+(a<<3);e[h>>2]=(e[h>>2]|0)+1&255}i[(e[m>>2]|0)+t>>0]=0;t=e[d>>2]|0}a=(n|0)<(t|0)?n:t;n=n-a|0;p=t-a|0;e[d>>2]=p;t=(e[m>>2]|0)+(e[f>>2]|0)|0;i[t>>0]=s>>n<<p|o[t>>0];e[c>>2]=(e[c>>2]|0)+a}while((n|0)>0);r=r+-8|0;w=w+1|0}while((r|0)>7&(w|0)<(D(E|0)|0));p=2}}else p=2}else p=2}else p=2}else p=2}else{r=w;p=2}if((p|0)==2)if((r|0)<=0)return;d=u+52136|0;f=u+300|0;h=u+296|0;c=u+52132|0;m=u+292|0;p=u+284|0;E=u+24|0;w=u+144|0;s=e[d>>2]|0;while(1){n=1;do{t=e[f>>2]|0;if(!t){e[f>>2]=8;t=(e[h>>2]|0)+1|0;e[h>>2]=t;a=e[c>>2]|0;if((e[u+39840+(a*48|0)>>2]|0)==(e[m>>2]|0)){l((e[p>>2]|0)+t|0,u+39840+(a*48|0)+8|0,e[E>>2]|0)|0;a=e[E>>2]|0;t=(e[h>>2]|0)+a|0;e[h>>2]=t;e[m>>2]=(e[m>>2]|0)+(a<<3);e[c>>2]=(e[c>>2]|0)+1&255}i[(e[p>>2]|0)+t>>0]=0;t=e[f>>2]|0}a=(n|0)<(t|0)?n:t;n=n-a|0;_=t-a|0;e[f>>2]=_;t=(e[p>>2]|0)+(e[h>>2]|0)|0;i[t>>0]=s>>n<<_|o[t>>0];e[m>>2]=(e[m>>2]|0)+a}while((n|0)>0);s=(e[w>>2]|0)==0^e[d>>2];e[d>>2]=s;if((r|0)<=1)break;else r=r+-1|0}return}function O(c,w,E,k,g){c=c|0;w=w|0;E=E|0;k=k|0;g=g|0;var t=0,n=0,u=0,a=0,f=0,d=0,b=0,p=0,_=0,m=0,S=0,h=0,v=0,y=0,F=0,M=0,O=0,R=0,A=0;M=e[82272+(w<<4)>>2]|0;if(!((w|0)!=0&(E|0)<(k|0))){k=0;return k|0}O=w>>>0>15;R=M&65535;A=e[82272+(w<<4)+12>>2]|0;F=e[82272+(w<<4)+8>>2]|0;_=c+300|0;m=c+296|0;S=c+52132|0;h=c+292|0;
- v=c+284|0;y=c+24|0;w=0;do{n=e[g+2304+(E<<2)>>2]|0;b=E+1|0;f=e[g+2304+(b<<2)>>2]|0;if(!n){d=0;t=0}else{d=-1;t=+r[g+(E<<2)>>2]<0&1}if(O){if(n>>>0>14){t=t|(n<<1)+131042&131070;n=15;a=R}else a=0;if(f>>>0>14){t=t<<M|f+65521&65535;f=15;a=(a&65535)+M&65535;u=16;p=11}else{u=16;p=10}}else{a=0;u=M;p=10}if((p|0)==10){p=0;if(!f){b=t;f=0;t=u}else p=11}if((p|0)==11){d=d+-1<<16>>16;b=+r[g+(b<<2)>>2]<0|t<<1;t=u}f=(s(t,n)|0)+f|0;d=d<<16>>16;u=(a&65535)-d|0;d=(o[A+f>>0]|0)+d|0;f=Nr[F+(f<<1)>>1]|0;if((d|0)>0){a=d;do{n=e[_>>2]|0;if(!n){e[_>>2]=8;n=(e[m>>2]|0)+1|0;e[m>>2]=n;t=e[S>>2]|0;if((e[c+39840+(t*48|0)>>2]|0)==(e[h>>2]|0)){l((e[v>>2]|0)+n|0,c+39840+(t*48|0)+8|0,e[y>>2]|0)|0;t=e[y>>2]|0;n=(e[m>>2]|0)+t|0;e[m>>2]=n;e[h>>2]=(e[h>>2]|0)+(t<<3);e[S>>2]=(e[S>>2]|0)+1&255}i[(e[v>>2]|0)+n>>0]=0;n=e[_>>2]|0}t=(a|0)<(n|0)?a:n;a=a-t|0;p=n-t|0;e[_>>2]=p;n=(e[v>>2]|0)+(e[m>>2]|0)|0;i[n>>0]=f>>>a<<p|(o[n>>0]|0);e[h>>2]=(e[h>>2]|0)+t}while((a|0)>0)}a=u&65535;if(a){u=a;do{t=e[_>>2]|0;if(!t){e[_>>2]=8;t=(e[m>>2]|0)+1|0;e[m>>2]=t;n=e[S>>2]|0;if((e[c+39840+(n*48|0)>>2]|0)==(e[h>>2]|0)){l((e[v>>2]|0)+t|0,c+39840+(n*48|0)+8|0,e[y>>2]|0)|0;n=e[y>>2]|0;t=(e[m>>2]|0)+n|0;e[m>>2]=t;e[h>>2]=(e[h>>2]|0)+(n<<3);e[S>>2]=(e[S>>2]|0)+1&255}i[(e[v>>2]|0)+t>>0]=0;t=e[_>>2]|0}n=(u|0)<(t|0)?u:t;u=u-n|0;f=t-n|0;e[_>>2]=f;t=(e[v>>2]|0)+(e[m>>2]|0)|0;i[t>>0]=b>>u<<f|(o[t>>0]|0);e[h>>2]=(e[h>>2]|0)+n}while((u|0)>0)}w=a+w+d|0;E=E+2|0}while((E|0)<(k|0));return w|0}function lr(s,t){s=s|0;t=t|0;var f=0,n=0,a=0,S=0,g=0,c=0,_=0,u=0,p=0,m=0,d=0,w=0,h=0,E=0,b=0,k=0,v=0;f=(e[t+4840>>2]|0)+32|0;a=e[t+4772>>2]|0;n=(e[t+4776>>2]|0)-a|0;if((n|0)<=3){p=0;return p|0}k=e[82272+(f<<4)+8>>2]|0;p=e[82272+(f<<4)+12>>2]|0;m=s+300|0;d=s+296|0;w=s+52132|0;h=s+292|0;E=s+284|0;b=s+24|0;f=0;_=(n|0)/4|0;u=t+2304+(a<<2)|0;c=t+(a<<2)|0;while(1){if(e[u>>2]|0)if(+r[c>>2]<0){n=1;t=8}else{n=0;t=8}else{n=0;t=0}if(e[u+4>>2]|0){t=t|4;n=n<<1;if(+r[c+4>>2]<0)n=n|1}if(e[u+8>>2]|0){t=t+2|0;n=n<<1;if(+r[c+8>>2]<0)n=n|1}if(e[u+12>>2]|0){t=t+1|0;n=n<<1;if(+r[c+12>>2]<0)n=n|1}u=u+16|0;c=c+16|0;g=(Nr[k+(t<<1)>>1]|0)+n|0;S=p+t|0;a=i[S>>0]|0;if(!(a<<24>>24))n=0;else{n=a&255;do{t=e[m>>2]|0;if(!t){e[m>>2]=8;t=(e[d>>2]|0)+1|0;e[d>>2]=t;a=e[w>>2]|0;if((e[s+39840+(a*48|0)>>2]|0)==(e[h>>2]|0)){l((e[E>>2]|0)+t|0,s+39840+(a*48|0)+8|0,e[b>>2]|0)|0;a=e[b>>2]|0;t=(e[d>>2]|0)+a|0;e[d>>2]=t;e[h>>2]=(e[h>>2]|0)+(a<<3);e[w>>2]=(e[w>>2]|0)+1&255}i[(e[E>>2]|0)+t>>0]=0;t=e[m>>2]|0}a=(n|0)<(t|0)?n:t;n=n-a|0;v=t-a|0;e[m>>2]=v;t=(e[E>>2]|0)+(e[d>>2]|0)|0;i[t>>0]=g>>n<<v|(o[t>>0]|0);e[h>>2]=(e[h>>2]|0)+a}while((n|0)>0);n=i[S>>0]|0}f=(n&255)+f|0;if((_|0)<=1)break;else _=_+-1|0}return f|0}function sr(a,g,A,G,Y){a=a|0;g=g|0;A=A|0;G=G|0;Y=Y|0;var u=0,m=0,w=0,d=0,i=0,o=0,h=0,_=0,v=0,F=0,O=0,ae=0,oe=0,ne=0,te=0,X=0,R=0,re=0,ee=0,Q=0,J=0,se=0,ie=0,Z=0,C=0,U=0,S=0,T=0,N=0,B=0,y=0,P=0,D=0,M=0,x=0,L=0,b=0,E=0,p=0,q=0,z=0,I=0,k=0,W=0,j=0,V=0,K=0;k=t;t=t+20112|0;T=k+12056|0;N=k+4e3|0;x=k+2048|0;L=k+96|0;I=k+88|0;D=k+56|0;q=k+8|0;b=k+40|0;E=k+24|0;P=k;y=k+16|0;o=q;e[o>>2]=1056964608;e[o+4>>2]=1056964608;e[b>>2]=0;e[b+4>>2]=0;e[b+8>>2]=0;e[b+12>>2]=0;e[E>>2]=0;e[E+4>>2]=0;e[E+8>>2]=0;e[E+12>>2]=0;e[I>>2]=g;e[I+4>>2]=A;o=a+4|0;if(!(e[o>>2]|0)){S=a+76|0;i=e[S>>2]|0;u=i*576|0;e[o>>2]=1;c(T|0,0,8056)|0;c(N|0,0,8056)|0;d=u+862|0;if((d|0)>0){w=a+72|0;m=0;o=0;do{if((m|0)<(u|0)){r[T+(m<<2)>>2]=0;if((e[w>>2]|0)==2)r[N+(m<<2)>>2]=0}else{e[T+(m<<2)>>2]=e[g+(o<<2)>>2];if((e[w>>2]|0)==2)e[N+(m<<2)>>2]=e[A+(o<<2)>>2];o=o+1|0}m=m+1|0}while((m|0)!=(d|0))}if((i|0)>0){w=a+72|0;o=e[w>>2]|0;d=0;do{if((o|0)>0){i=0;do{e[a+304+(d*10504|0)+(i*5252|0)+4788>>2]=2;i=i+1|0;o=e[w>>2]|0}while((i|0)<(o|0));i=e[S>>2]|0}d=d+1|0}while((d|0)<(i|0))}Ge(a,T,N)}o=a+84752|0;e[o>>2]=0;i=a+39836|0;d=(e[i>>2]|0)-(e[a+39832>>2]|0)|0;e[i>>2]=d;if((d|0)<0){e[i>>2]=(e[a+64>>2]|0)+d;e[o>>2]=1}S=P;e[S>>2]=0;e[S+4>>2]=0;S=a+76|0;o=e[S>>2]|0;e:do if((o|0)>0){w=a+72|0;m=a+180|0;u=0;while(1){o=e[w>>2]|0;if((o|0)>0){i=(u*576|0)+304|0;d=0;do{e[P+(d<<2)>>2]=(e[I+(d<<2)>>2]|0)+(i<<2);d=d+1|0}while((d|0)<(o|0))}if(ei(a,P,u,x,L,b+(u<<3)|0,E+(u<<3)|0,D+(u<<4)|0,y)|0){u=-4;break}if((e[m>>2]|0)==1?(U=+r[D+(u<<4)+12>>2],C=U+ +r[D+(u<<4)+8>>2],B=q+(u<<2)|0,r[B>>2]=C,C>0):0)r[B>>2]=U/C;o=e[w>>2]|0;if((o|0)>0){i=0;do{e[a+304+(u*10504|0)+(i*5252|0)+4788>>2]=e[y+(i<<2)>>2];e[a+304+(u*10504|0)+(i*5252|0)+4792>>2]=0;i=i+1|0}while((i|0)<(o|0))}u=u+1|0;o=e[S>>2]|0;if((u|0)>=(o|0))break e}t=k;return u|0}while(0);d=e[a+85796>>2]|0;do if(!(e[d>>2]|0))r[d+8>>2]=1;else{_=+r[a+27804>>2];O=+r[a+27812>>2];if((e[a+72>>2]|0)==2){F=+r[a+27808>>2];v=+r[a+27816>>2]}else{F=_;v=O}R=O+v;_=_+F;_=+r[d+4>>2]*.5*((o|0)==2?_>R?_:R:_);if(_>.03125){i=d+8|0;_=+r[i>>2];if(!(_>=1)){o=d+12|0;v=+r[o>>2];if(_<v)r[i>>2]=v}else{r[i>>2]=1;o=d+12|0}r[o>>2]=1;break}v=_*31.98+625e-6;o=d+8|0;_=+r[o>>2];do if(!(_>=v)){F=+r[d+12>>2];if(F>=v){r[o>>2]=v;break}if(_<F)r[o>>2]=F}else{R=_*(v*.075+.925);r[o>>2]=R;if(R<v)r[o>>2]=v}while(0);r[d+12>>2]=v}while(0);Ge(a,e[I>>2]|0,A);y=a+84756|0;e[y>>2]=0;do if(!(e[a+80>>2]|0))if((e[a+180>>2]|0)==1){d=e[S>>2]|0;if((d|0)>0?(M=e[a+72>>2]|0,(M|0)>0):0){i=0;_=0;v=0;do{o=0;do{v=+r[E+(i<<3)+(o<<2)>>2]+v;_=+r[b+(i<<3)+(o<<2)>>2]+_;o=o+1|0}while((o|0)<(M|0));i=i+1|0}while((i|0)<(d|0));if(!(v<=_)){o=0;break}}M=d+-1|0;if((e[a+5092>>2]|0)==(e[a+10344>>2]|0)?(e[a+304+(M*10504|0)+4788>>2]|0)==(e[a+304+(M*10504|0)+10040>>2]|0):0){e[y>>2]=2;o=1}else o=0}else o=0;else{e[y>>2]=2;o=1}while(0);P=o?L:x;m=o?E:b;D=a+140|0;if(((e[D>>2]|0)!=0?(p=a+85804|0,(e[p>>2]|0)!=0):0)?(h=e[S>>2]|0,(h|0)>0):0){d=a+72|0;o=e[d>>2]|0;i=0;do{if((o|0)>0){_=+r[q+(i<<2)>>2];h=0;do{E=e[p>>2]|0;f[E+90904+(i<<3)>>3]=0;f[E+90920+(i<<3)>>3]=_;e[E+203288+(i<<3)+(h<<2)>>2]=e[a+304+(i*10504|0)+(h*5252|0)+4788>>2];f[E+189240+(i<<5)+(h<<3)>>3]=+r[m+(i<<3)+(h<<2)>>2];l(E+54040+(i*9216|0)+(h*4608|0)|0,a+304+(i*10504|0)+(h*5252|0)|0,2304)|0;if((e[y>>2]|0)==2){E=h+2|0;b=e[p>>2]|0;f[b+197144+(i<<5)+(h<<3)>>3]=+f[b+197144+(i<<5)+(E<<3)>>3];l(b+123704+(i<<15)+(h<<13)|0,b+123704+(i<<15)+(E<<13)|0,8192)|0}h=h+1|0;o=e[d>>2]|0}while((h|0)<(o|0));h=e[S>>2]|0}i=i+1|0}while((i|0)<(h|0))}p=e[a+104>>2]|0;if((p|0)==3|(p|0)==0){u=a+39760|0;V=e[u>>2]|0;e[a+39756>>2]=V;i=a+39764|0;j=e[i>>2]|0;e[u>>2]=j;u=a+39768|0;T=e[u>>2]|0;e[i>>2]=T;i=a+39772|0;h=e[i>>2]|0;e[u>>2]=h;u=a+39776|0;w=e[u>>2]|0;e[i>>2]=w;i=a+39780|0;B=e[i>>2]|0;e[u>>2]=B;u=a+39784|0;x=e[u>>2]|0;e[i>>2]=x;i=a+39788|0;b=e[i>>2]|0;e[u>>2]=b;u=a+39792|0;p=e[u>>2]|0;e[i>>2]=p;i=a+39796|0;K=e[i>>2]|0;e[u>>2]=K;u=a+39800|0;g=e[u>>2]|0;e[i>>2]=g;i=a+39804|0;E=e[i>>2]|0;e[u>>2]=E;u=a+39808|0;L=e[u>>2]|0;e[i>>2]=L;i=a+39812|0;M=e[i>>2]|0;e[u>>2]=M;u=a+39816|0;A=e[u>>2]|0;e[i>>2]=A;i=a+39820|0;N=e[i>>2]|0;e[u>>2]=N;u=a+39824|0;o=e[u>>2]|0;e[i>>2]=o;i=a+39828|0;W=e[i>>2]|0;e[u>>2]=W;u=e[S>>2]|0;d=(u|0)>0;F=(e[n>>2]=K,+r[n>>2]);v=(e[n>>2]=V,+r[n>>2]);_=(e[n>>2]=j,+r[n>>2]);ae=(e[n>>2]=W,+r[n>>2]);oe=(e[n>>2]=T,+r[n>>2]);ne=(e[n>>2]=o,+r[n>>2]);te=(e[n>>2]=h,+r[n>>2]);X=(e[n>>2]=N,+r[n>>2]);R=(e[n>>2]=w,+r[n>>2]);re=(e[n>>2]=A,+r[n>>2]);ee=(e[n>>2]=B,+r[n>>2]);Q=(e[n>>2]=M,+r[n>>2]);J=(e[n>>2]=x,+r[n>>2]);se=(e[n>>2]=L,+r[n>>2]);ie=(e[n>>2]=b,+r[n>>2]);Z=(e[n>>2]=E,+r[n>>2]);C=(e[n>>2]=p,+r[n>>2]);U=(e[n>>2]=g,+r[n>>2]);g=e[a+72>>2]|0;if(d&(g|0)>0){O=0;o=0;do{h=0;do{O=+r[m+(o<<3)+(h<<2)>>2]+O;h=h+1|0}while((h|0)<(g|0));o=o+1|0}while((o|0)<(u|0))}else O=0;r[i>>2]=O;_=+(s(u*3350|0,g)|0)/((U+C)*.9354900121688843+((Z+ie)*.7568249702453613+((se+J)*.5045499801635742+((Q+ee)*.23387250304222107+((re+R)*3.8980449615198e-17+((X+te)*-.1559150069952011+((ne+oe)*-.21623599529266357+((ae+_)*-.18920649588108063+((O+v)*-.10394349694252014+F)))))))));if(d&(g|0)>0){o=0;do{h=0;do{p=m+(o<<3)+(h<<2)|0;r[p>>2]=+r[p>>2]*_;h=h+1|0}while((h|0)<(g|0));o=o+1|0}while((o|0)<(u|0))}}H[e[a+85812>>2]&7](a,m,q,P);Et(a)|0;u=$(a,G,Y,1)|0;if(e[a+156>>2]|0)lt(a);if((e[D>>2]|0)!=0?(z=e[a+85804>>2]|0,(z|0)!=0):0){d=(e[S>>2]|0)*576|0;i=e[a+72>>2]|0;if((i|0)>0){o=0;do{w=0;do{f[z+24+(o*12800|0)+(w<<3)>>3]=+f[z+24+(o*12800|0)+(w+d<<3)>>3];w=w+1|0}while((w|0)!=272);w=e[I+(o<<2)>>2]|0;m=272;do{f[z+24+(o*12800|0)+(m<<3)>>3]=+r[w+(m+-272<<2)>>2];m=m+1|0}while((m|0)!=1600);o=o+1|0}while((o|0)<(i|0))}r[a+84908>>2]=1;Ur(a,P)}d=a+84748|0;e[d>>2]=(e[d>>2]|0)+1;d=a+84744|0;h=a+84040+((e[d>>2]|0)*20|0)+16|0;e[h>>2]=(e[h>>2]|0)+1;h=a+84356|0;e[h>>2]=(e[h>>2]|0)+1;h=a+72|0;if((e[h>>2]|0)==2){p=a+84040+((e[d>>2]|0)*20|0)+(e[y>>2]<<2)|0;e[p>>2]=(e[p>>2]|0)+1;p=a+84340+(e[y>>2]<<2)|0;e[p>>2]=(e[p>>2]|0)+1}m=e[S>>2]|0;if((m|0)<=0){p=u;t=k;return p|0}i=a+84740|0;w=e[h>>2]|0;o=0;do{if((w|0)>0){m=0;do{w=(e[a+304+(o*10504|0)+(m*5252|0)+4792>>2]|0)==0?e[a+304+(o*10504|0)+(m*5252|0)+4788>>2]|0:4;p=a+84360+((e[d>>2]|0)*24|0)+(w<<2)|0;e[p>>2]=(e[p>>2]|0)+1;p=a+84360+((e[d>>2]|0)*24|0)+20|0;e[p>>2]=(e[p>>2]|0)+1;w=a+84720+(w<<2)|0;e[w>>2]=(e[w>>2]|0)+1;e[i>>2]=(e[i>>2]|0)+1;m=m+1|0;w=e[h>>2]|0}while((m|0)<(w|0));m=e[S>>2]|0}o=o+1|0}while((o|0)<(m|0));t=k;return u|0}function Mt(i,E,_,p){i=i|0;E=E|0;_=_|0;p=p|0;var m=0,v=0,w=0,d=0,S=0,c=0,h=0,n=0,t=0,f=0,u=0,a=0,l=0;S=p+(_<<2)|0;_=i+85820|0;m=0;v=E;while(1){d=m;m=m+1|0;p=(s(m,12582912)|0)>>16;i=e[S>>2]|0;w=31;d=E+(d<<10)+512|0;while(1){a=o[1720+(w<<2)>>0]|0;l=a+p|0;u=+r[i+(l<<2)>>2]*+r[1848+(a<<2)>>2];n=+r[i+(l+128<<2)>>2]*+r[1848+(127-a<<2)>>2];t=u-n;u=n+u;n=+r[i+(l+64<<2)>>2]*+r[1848+(a+64<<2)>>2];h=+r[i+(l+192<<2)>>2]*+r[1848+(63-a<<2)>>2];f=n-h;n=h+n;c=d;d=d+-16|0;r[d>>2]=n+u;r[c+-8>>2]=u-n;r[c+-12>>2]=f+t;r[c+-4>>2]=t-f;f=+r[i+(l+1<<2)>>2]*+r[1848+(a+1<<2)>>2];t=+r[i+(l+129<<2)>>2]*+r[1848+(126-a<<2)>>2];n=f-t;f=t+f;t=+r[i+(l+65<<2)>>2]*+r[1848+(a+65<<2)>>2];u=+r[i+(l+193<<2)>>2]*+r[1848+(62-a<<2)>>2];h=t-u;t=u+t;r[c+496>>2]=t+f;r[c+504>>2]=f-t;r[c+500>>2]=h+n;r[c+508>>2]=n-h;if((w|0)<=0)break;else w=w+-1|0}K[e[_>>2]&3](v,128);if((m|0)==3)break;else v=v+1024|0}return}function Ft(w,m,c,n){w=w|0;m=m|0;c=c|0;n=n|0;var h=0,i=0,d=0,a=0,s=0,u=0,l=0,t=0,f=0;n=e[n+(c<<2)>>2]|0;c=m+2048|0;h=127;while(1){t=o[1720+h>>0]|0;l=+r[n+(t<<2)>>2]*+r[2360+(t<<2)>>2];i=t|512;a=+r[n+(i<<2)>>2]*+r[2360+(i<<2)>>2];s=l-a;l=a+l;i=t|256;a=+r[n+(i<<2)>>2]*+r[2360+(i<<2)>>2];i=t|768;d=+r[n+(i<<2)>>2]*+r[2360+(i<<2)>>2];u=a-d;a=d+a;i=c;c=c+-16|0;r[c>>2]=a+l;r[i+-8>>2]=l-a;r[i+-12>>2]=u+s;r[i+-4>>2]=s-u;f=t+1|0;u=+r[n+(f<<2)>>2]*+r[2360+(f<<2)>>2];f=t+513|0;s=+r[n+(f<<2)>>2]*+r[2360+(f<<2)>>2];a=u-s;u=s+u;f=t+257|0;s=+r[n+(f<<2)>>2]*+r[2360+(f<<2)>>2];t=t+769|0;l=+r[n+(t<<2)>>2]*+r[2360+(t<<2)>>2];d=s-l;s=l+s;r[i+2032>>2]=s+u;r[i+2040>>2]=u-s;r[i+2036>>2]=d+a;r[i+2044>>2]=a-d;if((h|0)<=0)break;else h=h+-1|0}K[e[w+85820>>2]&3](m,512);return}function Ot(t){t=t|0;var i=0,n=0;i=0;do{n=+(i|0)+.5;r[2360+(i<<2)>>2]=.42-+N(+(n*.006135923151542565))*.5+ +N(+(n*.01227184630308513))*.08;i=i+1|0}while((i|0)!=1024);i=0;do{r[1848+(i<<2)>>2]=(1-+N(+((+(i|0)+.5)*.02454369260617026)))*.5;i=i+1|0}while((i|0)!=128);e[t+85820>>2]=1;return}function Rt(w,n){w=w|0;n=n|0;var o=0,s=0,t=0,a=0,h=0,e=0,l=0,f=0,A=0,O=0,T=0,y=0,g=0,u=0,p=0,_=0,d=0,v=0,M=0,b=0,k=0,D=0,S=0,F=0,i=0,R=0,c=0,E=0,N=0,m=0;A=n<<1;O=w+(A<<2)|0;u=4;_=6456;while(1){T=u>>1;y=u<<1;g=u*3|0;p=u;u=u<<2;n=w;o=w+(T<<2)|0;while(1){s=+r[n>>2];l=n+(p<<2)|0;e=+r[l>>2];a=s-e;s=e+s;d=n+(y<<2)|0;e=+r[d>>2];h=n+(g<<2)|0;f=+r[h>>2];t=e-f;e=f+e;r[d>>2]=s-e;r[n>>2]=e+s;r[h>>2]=a-t;r[l>>2]=t+a;a=+r[o>>2];l=o+(p<<2)|0;t=+r[l>>2];s=a-t;a=t+a;h=o+(g<<2)|0;t=+r[h>>2]*1.4142135623730951;d=o+(y<<2)|0;e=+r[d>>2]*1.4142135623730951;r[d>>2]=a-e;r[o>>2]=e+a;r[h>>2]=s-t;r[l>>2]=t+s;n=n+(u<<2)|0;if(n>>>0>=O>>>0)break;else o=o+(u<<2)|0}h=_+4|0;if((p|0)>2){e=+r[_>>2];l=1;f=+r[h>>2];while(1){t=f*2;a=1-t*f;t=t*e;o=w+(l<<2)|0;n=w+(p-l<<2)|0;while(1){d=o+(p<<2)|0;i=+r[d>>2];F=n+(p<<2)|0;c=+r[F>>2];b=i*t-c*a;i=c*t+i*a;c=+r[o>>2];s=c-i;c=i+c;i=+r[n>>2];v=i-b;b=i+b;M=o+(g<<2)|0;i=+r[M>>2];R=n+(g<<2)|0;m=+r[R>>2];S=i*t-m*a;i=m*t+i*a;N=o+(y<<2)|0;m=+r[N>>2];k=m-i;m=i+m;D=n+(y<<2)|0;i=+r[D>>2];E=i-S;S=i+S;i=m*f-E*e;E=m*e+E*f;r[N>>2]=c-E;r[o>>2]=E+c;r[R>>2]=v-i;r[F>>2]=i+v;v=S*e-k*f;k=S*f+k*e;r[D>>2]=b-k;r[n>>2]=k+b;r[M>>2]=s-v;r[d>>2]=v+s;o=o+(u<<2)|0;if(o>>>0>=O>>>0)break;else n=n+(u<<2)|0}s=+r[_>>2];t=+r[h>>2];a=t*e+s*f;l=l+1|0;if((l|0)>=(T|0))break;else{e=s*e-t*f;f=a}}}if((u|0)>=(A|0))break;else _=_+8|0}return}function or(u,p,d){u=u|0;p=p|0;d=d|0;var a=0,s=0,r=0,f=0,y=0,n=0,o=0,l=0,h=0,m=0,w=0,E=0,F=0,k=0,_=0,M=0,g=0,v=0,b=0;v=t;t=t+1040|0;a=v;m=v+8|0;if(!u){u=0;t=v;return u|0}s=u+288|0;_=e[s>>2]|0;if(!_){u=0;t=v;return u|0}E=_+85696|0;r=e[E>>2]|0;if(r&4){u=0;t=v;return u|0}n=e[_+85704>>2]|0;if(!n)f=0;else f=D(n|0)|0;n=e[_+85708>>2]|0;if(!n)h=0;else h=D(n|0)|0;o=e[_+85712>>2]|0;if(!o)o=0;else o=D(o|0)|0;l=e[_+85716>>2]|0;if(!l)l=0;else l=D(l|0)|0;if(!(f>>>0>30|h>>>0>30|o>>>0>30|l>>>0>30)?(r&10|0)==0&(l>>>0<29|(e[_+85720>>2]|0)==0):0){u=0;t=v;return u|0}f=e[u+4>>2]|0;if((f|0)!=-1){y=+(f>>>0)*1e3/+(e[_+60>>2]|0);if(!(y>4294967295))if(y<0)f=0;else f=~~y>>>0;else f=-1;e[a>>2]=f;gr(m,6496,a)|0;f=e[s>>2]|0;if(f){h=f+85696|0;l=e[h>>2]|0;Pt(u,1414284622,6488,0,m)|0;e[h>>2]=l}}F=_+85728|0;do if((e[F>>2]|0)!=0?(w=e[_+85732>>2]|0,(w|0)!=0):0){f=e[_+85740>>2]|0;if((f|0)==2)f=6504;else if((f|0)==3)f=6520;else if((f|0)==1)f=6536;else{k=0;f=10;break}k=f;f=(D(f|0)|0)+24+w|0}else{k=0;f=10}while(0);u=_+85744|0;r=e[u>>2]|0;if(r)do{s=e[r+4>>2]|0;do if((s|0)==1431520594|(s|0)==1129270605){s=e[r+16>>2]|0;s=(e[r+20>>2]|0)==1?(s<<1)+16|0:s+15|0;n=e[r+28>>2]|0;if((e[r+32>>2]|0)==1){s=s+(n<<1)|0;break}else{s=s+n|0;break}}else{m=s&-16777216;if(!((m|0)==0|(m|0)==1459617792)){o=e[r+16>>2]|0;n=(o|0)!=0;s=e[r+28>>2]|0;if((e[r+32>>2]|0)==1){s=(n?(o<<1)+13|0:11)+(s<<1)|0;break}else{s=(n?o+12|0:11)+s|0;break}}s=e[r+16>>2]|0;do if(s)if((e[r+20>>2]|0)==1){s=(s<<1)+13|0;break}else{s=s+12|0;break}else s=10;while(0);n=e[r+28>>2]|0;if(n)if((e[r+32>>2]|0)==1){s=s+-1+n|0;break}else{s=n+s|0;break}}while(0);f=s+f|0;r=e[r>>2]|0}while((r|0)!=0);if(!(e[E>>2]&32))E=f;else E=(e[_+85736>>2]|0)+f|0;if(E>>>0>d>>>0){u=E;t=v;return u|0}if(!p){u=0;t=v;return u|0}i[p>>0]=73;i[p+1>>0]=68;i[p+2>>0]=51;i[p+3>>0]=3;i[p+4>>0]=0;i[p+5>>0]=0;f=E+-10|0;i[p+6>>0]=f>>>21&127;i[p+7>>0]=f>>>14&127;i[p+8>>0]=f>>>7&127;a=p+10|0;i[p+9>>0]=f&127;f=e[u>>2]|0;if(f){d=a;while(1){u=e[f+4>>2]|0;do if((u|0)==1431520594|(u|0)==1129270605){h=f+20|0;r=f+16|0;o=e[r>>2]|0;s=f+32|0;m=f+28|0;o=(e[m>>2]<<((e[s>>2]|0)==1&1))+((e[h>>2]|0)==1?(o<<1)+16|0:o+15|0)|0;if(o>>>0>10){i[d+3>>0]=u;i[d+2>>0]=u>>>8;i[d+1>>0]=u>>>16;i[d>>0]=u>>>24;w=o+-10|0;i[d+7>>0]=w;i[d+6>>0]=w>>>8;i[d+5>>0]=w>>>16;i[d+4>>0]=w>>>24;i[d+8>>0]=0;i[d+9>>0]=0;w=f+24|0;i[d+10>>0]=(e[s>>2]|0)==1&1;i[d+11>>0]=i[f+8>>0]|0;i[d+12>>0]=i[f+9>>0]|0;n=d+14|0;i[d+13>>0]=i[f+10>>0]|0;l=f+12|0;if((e[h>>2]|0)==1){h=e[l>>2]|0;l=e[r>>2]|0;if(!l){l=15;o=16}else{a=S[h>>1]|0;o=a<<16>>16==-2;r=l<<1;l=l+-1|0;u=(a&65535)>>>8;i[n>>0]=o?u:a;i[d+15>>0]=o?-2:u&255;if(l)do{h=h+2|0;u=n;n=n+2|0;b=S[h>>1]|0;l=l+-1|0;a=(b&65535)>>>8;i[n>>0]=o?a:b;i[u+3>>0]=o?b:a}while((l|0)!=0);n=d+(r+14)|0;l=r+15|0;o=r+16|0}i[n>>0]=0;i[d+l>>0]=0}else{h=e[r>>2]|0;if(!h)o=15;else{l=e[l>>2]|0;o=h;while(1){o=o+-1|0;i[n>>0]=i[l>>0]|0;if(!o)break;else{l=l+1|0;n=n+1|0}}n=d+(h+14)|0;o=h+15|0}i[n>>0]=0}a=d+o|0;if((e[s>>2]|0)==1){l=e[w>>2]|0;n=e[m>>2]|0;if(!n)break;m=S[l>>1]|0;h=m<<16>>16==-2;r=n<<1;n=n+-1|0;u=(m&65535)>>>8;i[a>>0]=h?u:m;i[d+(o+1)>>0]=h?-2:u&255;if(n)do{l=l+2|0;u=a;a=a+2|0;s=S[l>>1]|0;n=n+-1|0;m=(s&65535)>>>8;i[a>>0]=h?m:s;i[u+3>>0]=h?s:m}while((n|0)!=0);a=d+(r+o)|0;break}else{l=e[m>>2]|0;if(!l)break;r=e[w>>2]|0;n=l;while(1){n=n+-1|0;i[a>>0]=i[r>>0]|0;if(!n)break;else{r=r+1|0;a=a+1|0}}a=d+(l+o)|0;break}}else a=d}else{m=u&-16777216;if(!((m|0)==0|(m|0)==1459617792)){w=f+32|0;h=f+16|0;l=e[h>>2]|0;o=(l|0)!=0;s=f+28|0;n=e[s>>2]|0;if((e[w>>2]|0)==1)o=(o?(l<<1)+13|0:11)+(n<<1)|0;else o=(o?l+12|0:11)+n|0;if(o>>>0<=10){a=d;break}i[d+3>>0]=u;i[d+2>>0]=u>>>8;i[d+1>>0]=u>>>16;i[d>>0]=u>>>24;u=o+-10|0;i[d+7>>0]=u;i[d+6>>0]=u>>>8;i[d+5>>0]=u>>>16;i[d+4>>0]=u>>>24;i[d+8>>0]=0;i[d+9>>0]=0;u=f+24|0;a=d+11|0;i[d+10>>0]=(e[w>>2]|0)==1&1;h=e[h>>2]|0;do if(h){o=f+12|0;if((e[f+20>>2]|0)==1){l=e[o>>2]|0;r=S[l>>1]|0;o=r<<16>>16==-2;n=h<<1;h=h+-1|0;m=(r&65535)>>>8;i[a>>0]=o?m:r;i[d+12>>0]=o?-2:m&255;if(h)do{l=l+2|0;m=a;a=a+2|0;b=S[l>>1]|0;h=h+-1|0;r=(b&65535)>>>8;i[a>>0]=o?r:b;i[m+3>>0]=o?b:r}while((h|0)!=0);i[d+(n+11)>>0]=0;i[d+(n+12)>>0]=0;a=d+(n+13)|0;break}else{l=e[o>>2]|0;o=h;while(1){o=o+-1|0;i[a>>0]=i[l>>0]|0;if(!o)break;else{l=l+1|0;a=a+1|0}}i[d+(h+11)>>0]=0;a=d+(h+12)|0;break}}while(0);if((e[w>>2]|0)==1){l=e[u>>2]|0;n=e[s>>2]|0;if(!n)break;m=S[l>>1]|0;h=m<<16>>16==-2;s=n<<1;o=n+-1|0;u=(m&65535)>>>8;i[a>>0]=h?u:m;i[a+1>>0]=h?-2:u&255;if(o){r=a;n=l;do{n=n+2|0;u=r;r=r+2|0;l=S[n>>1]|0;o=o+-1|0;m=(l&65535)>>>8;i[r>>0]=h?m:l;i[u+3>>0]=h?l:m}while((o|0)!=0)}a=a+s|0;break}else{o=e[s>>2]|0;if(!o)break;r=e[u>>2]|0;s=a;n=o;while(1){n=n+-1|0;i[s>>0]=i[r>>0]|0;if(!n)break;else{r=r+1|0;s=s+1|0}}a=a+o|0;break}}h=f+16|0;r=e[h>>2]|0;do if(r)if((e[f+20>>2]|0)==1){n=(r<<1)+13|0;break}else{n=r+12|0;break}else n=10;while(0);w=f+28|0;r=e[w>>2]|0;do if(r)if((e[f+32>>2]|0)==1){n=n+-1+r|0;break}else{n=r+n|0;break}while(0);if(n>>>0<=10){a=d;break}i[d+3>>0]=u;i[d+2>>0]=u>>>8;i[d+1>>0]=u>>>16;i[d>>0]=u>>>24;a=n+-10|0;i[d+7>>0]=a;i[d+6>>0]=a>>>8;i[d+5>>0]=a>>>16;i[d+4>>0]=a>>>24;i[d+8>>0]=0;a=d+10|0;i[d+9>>0]=0;do if(e[h>>2]|0){u=f+20|0;s=d+11|0;i[a>>0]=(e[u>>2]|0)==1&1;n=f+12|0;if((e[u>>2]|0)==1){l=e[n>>2]|0;o=e[h>>2]|0;if(!o){r=12;n=13}else{m=S[l>>1]|0;h=m<<16>>16==-2;n=o<<1;o=o+-1|0;u=(m&65535)>>>8;i[s>>0]=h?u:m;i[d+12>>0]=h?-2:u&255;if(o)do{l=l+2|0;u=s;s=s+2|0;r=S[l>>1]|0;o=o+-1|0;m=(r&65535)>>>8;i[s>>0]=h?m:r;i[u+3>>0]=h?r:m}while((o|0)!=0);s=d+(n+11)|0;r=n+12|0;n=n+13|0}i[s>>0]=0;i[d+r>>0]=0;a=d+n|0;break}else{l=e[h>>2]|0;if(!l)r=12;else{o=e[n>>2]|0;n=l;while(1){n=n+-1|0;i[s>>0]=i[o>>0]|0;if(!n)break;else{o=o+1|0;s=s+1|0}}s=d+(l+11)|0;r=l+12|0}i[s>>0]=0;a=d+r|0;break}}while(0);r=f+24|0;if((e[f+32>>2]|0)!=1){o=e[w>>2]|0;if(!o)break;r=e[r>>2]|0;s=a;n=o;while(1){n=n+-1|0;i[s>>0]=i[r>>0]|0;if(!n)break;else{r=r+1|0;s=s+1|0}}a=a+o|0;break}o=e[r>>2]|0;n=e[w>>2]|0;if(!n)break;r=S[o>>1]|0;if(r<<16>>16==-257|r<<16>>16==-2){n=n+-1|0;if(!n)break;else o=o+2|0}h=r<<16>>16==-2;s=a;l=n;while(1){l=l+-1|0;r=S[o>>1]|0;if(h){r=r&65535;r=(r<<8|r>>>8)&65535}i[s>>0]=(r+-32&65535)>223?32:r&255;if(!l)break;else{o=o+2|0;s=s+1|0}}a=a+n|0}while(0);f=e[f>>2]|0;if(!f)break;else d=a}}if((k|0)!=0?(M=e[F>>2]|0,g=e[_+85732>>2]|0,(M|0)!=0&(g|0)!=0):0){i[a+3>>0]=67;i[a+2>>0]=73;i[a+1>>0]=80;i[a>>0]=65;f=g+4+(D(k|0)|0)|0;i[a+7>>0]=f;i[a+6>>0]=f>>>8;i[a+5>>0]=f>>>16;i[a+4>>0]=f>>>24;i[a+8>>0]=0;i[a+9>>0]=0;f=a+11|0;i[a+10>>0]=0;r=i[k>>0]|0;if(r<<24>>24){a=k;s=f;while(1){a=a+1|0;f=s+1|0;i[s>>0]=r;r=i[a>>0]|0;if(!(r<<24>>24))break;else s=f}}i[f>>0]=0;i[f+1>>0]=0;i[f+2>>0]=0;a=M;s=g;r=f+3|0;while(1){s=s+-1|0;i[r>>0]=i[a>>0]|0;if(!s)break;else{a=a+1|0;r=r+1|0}}a=f+(g+3)|0}c(a|0,0,E+p-a|0)|0;u=E;t=v;return u|0}function Tt(r){r=r|0;var o=0,n=0,a=0,t=0;a=e[r+288>>2]|0;if((e[a+85696>>2]&5|0)!=1){r=0;return r|0}o=or(r,0,0)|0;t=k(o,1)|0;if(!t){r=-1;return r|0}n=or(r,t,o)|0;if(n>>>0>o>>>0){_(t);r=-1;return r|0}if(n){r=0;do{Pe(a,i[t+r>>0]|0,1);r=r+1|0}while((r|0)!=(n|0))}_(t);r=n;return r|0}function Nt(r,o,a){r=r|0;o=o|0;a=a|0;var n=0,s=0,f=0,_=0,h=0,E=0,l=0,m=0,w=0,d=0,p=0,u=0,c=0;c=t;t=t+16|0;l=c;m=c+4|0;if(!r){l=0;t=c;return l|0}if(a>>>0<128){l=128;t=c;return l|0}u=e[r+288>>2]|0;if((o|0)==0|(u|0)==0){l=0;t=c;return l|0}r=e[u+85696>>2]|0;if((r&9|0)!=1){l=0;t=c;return l|0}i[o>>0]=84;i[o+1>>0]=65;i[o+2>>0]=71;d=r<<1&32;n=o+3|0;f=e[u+85704>>2]|0;r=30;e:while(1){a=(f|0)==0;s=n;while(1){r=r+-1|0;if(!a?(_=i[f>>0]|0,_<<24>>24!=0):0){a=_;break}n=s+1|0;i[s>>0]=d;if(!r)break e;else s=n}n=s+1|0;i[s>>0]=a;if(!r)break;else f=f+1|0}f=e[u+85708>>2]|0;r=30;e:while(1){s=(f|0)==0;while(1){r=r+-1|0;if(!s?(h=i[f>>0]|0,h<<24>>24!=0):0){o=n;a=h;break}a=n+1|0;i[n>>0]=d;if(!r){n=a;break e}else n=a}n=o+1|0;i[o>>0]=a;if(!r)break;else f=f+1|0}s=e[u+85712>>2]|0;r=30;e:while(1){o=(s|0)==0;while(1){r=r+-1|0;if(!o?(E=i[s>>0]|0,E<<24>>24!=0):0){o=n;a=E;break}a=n+1|0;i[n>>0]=d;if(!r){n=a;break e}else n=a}n=o+1|0;i[o>>0]=a;if(!r)break;else s=s+1|0}s=u+85700|0;e[l>>2]=e[s>>2];gr(m,6552,l)|0;s=(e[s>>2]|0)!=0?m:0;a=4;e:while(1){o=(s|0)==0;while(1){a=a+-1|0;if(!o?(w=i[s>>0]|0,w<<24>>24!=0):0){o=n;r=w;break}r=n+1|0;i[n>>0]=d;if(!a){n=r;break e}else n=r}n=o+1|0;i[o>>0]=r;if(!a)break;else s=s+1|0}f=u+85720|0;s=e[u+85716>>2]|0;a=(e[f>>2]|0)!=0?28:30;e:while(1){r=(s|0)==0;o=n;while(1){a=a+-1|0;if(!r?(p=i[s>>0]|0,p<<24>>24!=0):0){r=p;break}n=o+1|0;i[o>>0]=d;if(!a)break e;else o=n}n=o+1|0;i[o>>0]=r;if(!a)break;else s=s+1|0}if(e[f>>2]|0){i[n>>0]=0;i[o+2>>0]=e[f>>2];n=o+3|0}i[n>>0]=e[u+85724>>2];l=128;t=c;return l|0}function Dt(r){r=r|0;var n=0,s=0,a=0,o=0;o=t;t=t+128|0;a=o;s=e[r+288>>2]|0;r=Nt(r,a,128)|0;if((r+-1|0)>>>0>127){r=0;t=o;return r|0}else n=0;do{Pe(s,i[a+n>>0]|0,1);n=n+1|0}while((n|0)!=(r|0));t=o;return r|0}function Pt(r,a,u,d,w){r=r|0;a=a|0;u=u|0;d=d|0;w=w|0;var t=0,o=0,n=0,p=0,E=0,f=0,s=0,h=0,m=0;if(!r){s=-255;return s|0}h=e[r+288>>2]|0;if(!h){s=-255;return s|0}p=h+85744|0;r=e[p>>2]|0;e:do if(!r)r=0;else while(1){if((e[r+4>>2]|0)==(a|0))break e;r=e[r>>2]|0;if(!r){r=0;break}}while(0);e:do if((a|0)==1347570006|(a|0)==1196575044|(a|0)==1162756946|(a|0)==1279872587|(a|0)==1095061059|(a|0)==1346588244|(a|0)==1195724610|(a|0)==1095780675|(a|0)==1398361172|(a|0)==1129270605|(a|0)==1465407576|(a|0)==1415075928)if(!r)f=25;else{if(!d)r:while(1){if((tr(r+8|0,u)|0)!=0?(e[r+16>>2]|0)==0:0){n=r;break e}r=e[r>>2]|0;if(!r){f=25;break e}while(1){if((e[r+4>>2]|0)==(a|0))continue r;r=e[r>>2]|0;if(!r){f=25;break e}}}r:while(1){i:do if(tr(r+8|0,u)|0){n=e[r+16>>2]|0;o=(n|0)==0;if((e[r+20>>2]|0)==1)if(o){n=r;break e}else break;if(o){n=r;break e}o=e[r+12>>2]|0;t=0;while(1){if((i[o+t>>0]|0)!=(i[d+t>>0]|0))break i;t=t+1|0;if(t>>>0>=n>>>0){f=24;break e}}}while(0);r=e[((r|0)==0?p:r)>>2]|0;if(!r){f=25;break e}while(1){if((e[r+4>>2]|0)==(a|0))continue r;r=e[r>>2]|0;if(!r){f=25;break e}}}}else f=24;while(0);if((f|0)==24)if(!r)f=25;else n=r;if((f|0)==25){r=k(1,36)|0;if(!r){s=-254;return s|0}o=h+85748|0;t=e[o>>2]|0;if((t|0)!=0?(e[p>>2]|0)!=0:0)e[t>>2]=r;else e[p>>2]=r;e[o>>2]=r;n=r}e[n+4>>2]=a;r=n+8|0;do if((u|0)!=0?(E=i[u>>0]|0,E<<24>>24!=0):0){i[r>>0]=E;if(i[u>>0]|0){i[n+9>>0]=i[u+1>>0]|0;if(!(i[u>>0]|0))o=2;else{i[n+10>>0]=i[u+2>>0]|0;break}}else o=1;c(n+8+o|0,32,o^3|0)|0}else f=33;while(0);if((f|0)==33){i[r>>0]=88;i[n+9>>0]=88;i[n+10>>0]=88}r=n+12|0;_(e[r>>2]|0);e[r>>2]=0;if(d){t=0;while(1){o=t+1|0;if(!(i[d+t>>0]|0))break;else t=o}if((t|0)!=0?(s=k(o,1)|0,e[r>>2]=s,(s|0)!=0):0){l(s|0,d|0,t|0)|0;i[s+t>>0]=0}else t=0}else t=0;e[n+16>>2]=t;e[n+20>>2]=0;r=n+24|0;_(e[r>>2]|0);e[r>>2]=0;if(w){t=0;while(1){o=t+1|0;if(!(i[w+t>>0]|0))break;else t=o}if((t|0)!=0?(m=k(o,1)|0,e[r>>2]=m,(m|0)!=0):0){l(m|0,w|0,t|0)|0;i[m+t>>0]=0}else t=0}else t=0;e[n+28>>2]=t;e[n+32>>2]=0;s=h+85696|0;e[s>>2]=e[s>>2]|3;s=0;return s|0}function tr(n,r){n=n|0;r=r|0;var e=0,t=0,o=0;if((r|0)!=0?(e=i[r>>0]|0,e<<24>>24!=0):0){t=i[r+1>>0]|0;r=i[r+2>>0]|0}else{e=88;t=88;r=88}o=q(i[n>>0]|0)|0;e=q(e<<24>>24)|0;if((((e&255)<<24>>24<32?32:e)^((o&255)<<24>>24<32?32:o))&255)return 0;e=q(i[n+1>>0]|0)|0;t=q(t<<24>>24)|0;if(!((((t&255)<<24>>24<32?32:t)^((e&255)<<24>>24<32?32:e))&255)){e=q(i[n+2>>0]|0)|0;r=q(r<<24>>24)|0;return((((r&255)<<24>>24<32?32:r)^((e&255)<<24>>24<32?32:e))&255|0)==0|0}else return 0;return 0}function w(r){r=r|0;if(!r){r=0;return r|0}r=(e[r>>2]|0)==-487877&1;return r|0}function At(f){f=f|0;var w=0,S=0,_=0,F=0,E=0,u=0,a=0,l=0,i=0,m=0,h=0,x=0,U=0,T=0,g=0,z=0,I=0,D=0,B=0,R=0,y=0,L=0,M=0,H=0,A=0,v=0,b=0,O=0,o=0,P=0,C=0;C=t;t=t+16|0;R=C;O=f+288|0;o=e[O>>2]|0;P=o+16|0;e[o>>2]=0;e[o+124>>2]=e[f+180>>2];b=e[f+32>>2]|0;e[o+140>>2]=b;if(b)e[f+36>>2]=0;if(e[o+85804>>2]|0)e[f+36>>2]=0;z=f+272|0;e[o+85828>>2]=e[z>>2];I=f+276|0;e[o+85832>>2]=e[I>>2];D=f+280|0;e[o+85836>>2]=e[D>>2];if(!(e[f+296>>2]|0)){b=o+85756|0;i=e[b>>2]&-3;e[b>>2]=i}else{i=Yi()|0;b=o+85756|0;i=e[b>>2]&-3|i<<1&2;e[b>>2]=i}if(!(e[f+292>>2]|0)){i=i&-2;e[o+85756>>2]=i}else{i=Wi()|0;b=o+85756|0;i=e[b>>2]&-2|i&1;e[b>>2]=i}if(!(e[f+300>>2]|0))e[o+85756>>2]=i&-13;else{v=Ki()|0;b=o+85756|0;e[b>>2]=e[b>>2]&-5|v<<2&4;v=Gi()|0;e[b>>2]=e[b>>2]&-9|v<<3&8}H=o+85796|0;if((e[H>>2]|0)==0?(b=k(1,2772)|0,e[H>>2]=b,(b|0)==0):0){O=-2;t=C;return O|0}g=o+85676|0;if((e[g>>2]|0)==0?(b=k(1,134792)|0,e[g>>2]=b,(b|0)==0):0){Y(o);e[O>>2]=0;O=-2;t=C;return O|0}L=o+160|0;e[L>>2]=e[f+120>>2];e[o+164>>2]=e[f+104>>2];e[o+168>>2]=e[f+108>>2];e[o+172>>2]=e[f+112>>2];e[o+176>>2]=e[f+116>>2];v=e[f+8>>2]|0;b=o+68|0;e[b>>2]=v;B=f+48|0;if((v|0)!=1){v=(e[B>>2]|0)==3;i=v?1:2;a=o+72|0;e[a>>2]=i;if(v)A=23;else{u=e[f+52>>2]|0;v=a}}else{e[B>>2]=3;a=o+72|0;e[a>>2]=1;i=1;A=23}if((A|0)==23){e[f+52>>2]=0;u=0;v=a}e[o+80>>2]=u;M=f+156|0;a=e[M>>2]|0;if((a|0)==4|(a|0)==1)A=29;else if(!a){a=e[f+168>>2]|0;if((a|0)!=128?(m=f+96|0,(e[m>>2]|0)==0):0)e[m>>2]=a;S=o+152|0;e[S>>2]=e[f+56>>2];w=f+96|0;do if(!(e[w>>2]|0)){a=f+100|0;l=+r[a>>2];E=+p(+l);if(l!=l|0!=0|l==0){if(!(l==0))break}else if(!(E<=E*9.999999974752427e-7))break;r[a>>2]=11.024999618530273}while(0);a=f+100|0;l=+r[a>>2];if(l>0){u=f+16|0;m=e[u>>2]|0;if(!m){m=Ii(~~(+(e[f+12>>2]|0)*.97))|0;e[u>>2]=m;i=e[v>>2]|0;l=+r[a>>2]}e[w>>2]=~~(+(s(m<<4,i)|0)/(l*1e3));e[o+20>>2]=_r(m,P)|0;if(!(e[S>>2]|0))e[w>>2]=ie(e[w>>2]|0,e[P>>2]|0,e[u>>2]|0)|0}}else{e[f+56>>2]=0;A=29}if((A|0)==29){S=o+152|0;e[S>>2]=e[f+56>>2]}T=f+16|0;i=e[T>>2]|0;e:do if(!i){y=e[M>>2]|0;if((y|0)==4|(y|0)==1){w=f+164|0;h=f+160|0;F=+(e[w>>2]|0)+ +r[h>>2];a=e[f+12>>2]|0;m=2;while(1){u=e[6560+(m*24|0)>>2]|0;if((a|0)==(u|0)?(_=+r[6560+(m*24|0)+4>>2],F<_):0){E=+r[6560+(m*24|0)+12>>2]*(F/_);y=~~E;e[w>>2]=y;r[h>>2]=E-+(y|0)}if(((a|0)>=(u|0)?(x=+r[6560+(m*24|0)+4>>2],x<=F):0)?(U=+r[6560+(m*24|0)+8>>2],F<U):0){E=x;l=U;break}m=m+1|0;if((m|0)>=9)break e}_=+r[6560+(m*24|0)+12>>2];_=(+r[6560+(m*24|0)+16>>2]-_)*(F-E)/(l-E)+_;i=~~_;e[w>>2]=i;r[h>>2]=_-+(i|0);e[T>>2]=u;i=f+184|0;if(!(e[i>>2]|0)){e[i>>2]=-1;i=u}else i=u}else i=0}else{if((i|0)<16e3){y=f+168|0;w=e[y>>2]|0;w=(w|0)>8?w:8;e[y>>2]=(w|0)<64?w:64;break}a=f+168|0;u=e[a>>2]|0;if((i|0)<32e3){y=(u|0)>8?u:8;e[a>>2]=(y|0)<160?y:160;break}else{y=(u|0)>32?u:32;e[a>>2]=(y|0)<320?y:320;break}}while(0);h=f+184|0;a=e[h>>2]|0;if(!a){switch(e[M>>2]|0){case 0:{l=+(e[6776+((Ue(e[f+96>>2]&65535)|0)<<3)+4>>2]|0);break}case 3:{l=+(e[6776+((Ue(e[f+168>>2]&65535)|0)<<3)+4>>2]|0);break}case 2:{i=e[f+164>>2]|0;if(i>>>0<10){l=+(e[6912+(i<<2)>>2]|0);l=(+(e[6912+(i+1<<2)>>2]|0)-l)*+r[f+160>>2]+l}else l=19500;break}case 1:case 4:{i=e[f+164>>2]|0;if(i>>>0<10){l=+(e[6960+(i<<2)>>2]|0);l=(+(e[6960+(i+1<<2)>>2]|0)-l)*+r[f+160>>2]+l}else l=21500;break}default:{i=e[f+164>>2]|0;if(i>>>0<10){l=+(e[7008+(i<<2)>>2]|0);l=(+(e[7008+(i+1<<2)>>2]|0)-l)*+r[f+160>>2]+l}else l=19500}}if((e[B>>2]|0)==3?(y=e[M>>2]|0,(y|0)==3|(y|0)==0):0)l=l*1.5;a=~~l;e[h>>2]=a;i=e[T>>2]|0}if(!i){u=e[f+12>>2]|0;if((a<<1|0)>(u|0)){a=(u|0)/2|0;e[h>>2]=a}do if((u|0)<=47999)if((u|0)<=44099)if((u|0)<=31999)if((u|0)<=23999)if((u|0)<=22049)if((u|0)>15999)i=16e3;else{if((u|0)>11999){i=12e3;break}if((u|0)>11024){i=11025;break}i=(u|0)>7999?8e3:44100}else i=22050;else i=24e3;else i=32e3;else i=44100;else i=48e3;while(0);do if((a|0)!=-1){i=(a|0)<3971?8e3:(a|0)<4511?11025:(a|0)<5421?12e3:(a|0)<7231?16e3:(a|0)<9971?22050:(a|0)<11221?24e3:(a|0)<15251?32e3:(a|0)<15961?44100:i;if((i|0)>(u|0))if((u|0)<=44100)if((u|0)<=32e3)if((u|0)>24e3)i=32e3;else{if((u|0)>22050){i=24e3;break}if((u|0)>16e3){i=22050;break}if((u|0)>12e3){i=16e3;break}if((u|0)>11025){i=12e3;break}i=(u|0)>8e3?11025:8e3}else i=44100;else i=48e3}while(0);e[T>>2]=i;m=i}else m=i;i=e[M>>2]|0;do if((i|0)==4|(i|0)==1){y=(a|0)>24e3?24e3:a;w=(m|0)/2|0;e[h>>2]=(w|0)<(y|0)?w:y;if((i|0)==3)A=98}else{y=(a|0)>20500?20500:a;w=(m|0)/2|0;e[h>>2]=(w|0)<(y|0)?w:y;if((i|0)==3){A=98;break}else if(i)break;_=+(s(m<<4,e[v>>2]|0)|0);r[f+100>>2]=_/(+(e[f+96>>2]|0)*1e3)}while(0);if((A|0)==98){_=+(s(m<<4,e[v>>2]|0)|0);r[f+100>>2]=_/(+(e[f+168>>2]|0)*1e3)}y=f+36|0;i=f+60|0;if(e[y>>2]|0){a=e[i>>2]|0;i=e[f+64>>2]|0;e[o+128>>2]=a;u=o+136|0;e[u>>2]=i;if(!i)i=0;else e[o+132>>2]=1;do if(a){if(zi(e[g>>2]|0,m|0)|0){i=e[u>>2]|0;break}Y(o);e[O>>2]=0;O=-6;t=C;return O|0}while(0);if((i|0)!=0?(e[f+40>>2]|0)==0:0){i=o+85808|0;a=e[i>>2]|0;if(a)vr(a|0)|0;w=ni()|0;e[i>>2]=w;gi(w|0,e[D>>2]|0);ht(e[i>>2]|0,e[I>>2]|0);ai(e[i>>2]|0,e[z>>2]|0)}}else{e[i>>2]=0;e[f+64>>2]=0;e[o+132>>2]=0;e[o+128>>2]=0;e[o+136>>2]=0}e[o+144>>2]=e[f+128>>2];h=e[h>>2]|0;e[o+52>>2]=h;m=e[f+188>>2]|0;e[o+56>>2]=m;e[o+60>>2]=e[f+12>>2];u=e[T>>2]|0;D=o+64|0;e[D>>2]=u;g=o+76|0;e[g>>2]=(u|0)<24001?1:2;e[o+84760>>2]=576;i=e[M>>2]|0;if((i|0)==4|(i|0)==2|(i|0)==1)e[f+100>>2]=e[7056+(e[f+164>>2]<<2)>>2];else if((i|0)==3){_=+(s(u<<4,e[v>>2]|0)|0);r[f+100>>2]=_/(+(e[f+168>>2]|0)*1e3)}else{_=+(s(u<<4,e[v>>2]|0)|0);r[f+100>>2]=_/(+(e[f+96>>2]|0)*1e3)}i=e[B>>2]|0;if((i|0)==4){e[B>>2]=1;i=1}B=o+180|0;e[B>>2]=i;if((m|0)>0){E=+(m|0)*2;a=o+256|0;r[a>>2]=E;i=e[f+196>>2]|0;if((i|0)>-1)l=+(m+i|0)*2;else l=E;_=+(u|0);r[a>>2]=E/_;E=l/_;r[o+260>>2]=E}else{r[o+256>>2]=0;r[o+260>>2]=0;E=0}T=o+248|0;r[T>>2]=0;w=o+252|0;r[w>>2]=0;if((h|0)>0?(h|0)<((u|0)/2|0|0):0){F=+(h|0)*2;r[w>>2]=F;i=e[f+192>>2]|0;if((i|0)>-1){l=+(h-i|0)*2;r[T>>2]=l;if(l<0){r[T>>2]=0;l=0}}else{r[T>>2]=F;l=F}x=+(u|0);_=l/x;r[T>>2]=_;l=F/x;r[w>>2]=l;if(_>0){m=0;a=32;i=999;do{F=+(m|0)*.03225806451612903;a=(a|0)<(m|0)|!(F>=l)?a:m;i=F<l&_<F?(i|0)<(m|0)?i:m:i;m=m+1|0}while((m|0)!=32);r[T>>2]=(+(((i|0)==999?a:i)|0)+-.75)*.03225806451612903;r[w>>2]=+(a|0)*.03225806451612903}}h=o+260|0;u=o+256|0;if(E>0&E<.021774193548387097){r[u>>2]=0;r[h>>2]=0;Vi(o,7096,R);E=+r[h>>2]}do if(E>0){l=+r[u>>2];m=0;i=-1;a=-1;do{_=+(m|0)*.03225806451612903;i=(i|0)>(m|0)|!(_<=l)?i:m;a=l<_&_<E?(a|0)>(m|0)?a:m:a;m=m+1|0}while((m|0)!=32);l=+(i|0);r[u>>2]=l*.03225806451612903;if((a|0)==-1){E=(l+.75)*.03225806451612903;r[h>>2]=E;i=0;break}else{E=(+(a|0)+.75)*.03225806451612903;r[h>>2]=E;i=0;break}}else i=0;while(0);while(1){_=+(i|0)*.032258063554763794;l=+r[u>>2];do if(E>l){l=(E-_)/(E-l+1e-20);if(l>1){F=0;break}if(l<=0){F=1;break}F=+N(+(l*1.5707963267948966))}else F=1;while(0);l=+r[w>>2];E=+r[T>>2];do if(l>E){l=(_-E)/(l-E+1e-20);if(l>1){l=0;break}if(l<=0){l=1;break}l=+N(+(l*1.5707963267948966))}else l=1;while(0);r[o+37040+(i<<2)>>2]=l*F;i=i+1|0;if((i|0)==32)break;E=+r[h>>2]}R=_r(e[D>>2]|0,P)|0;i=o+20|0;e[i>>2]=R;if((R|0)<0){Y(o);e[O>>2]=0;O=-1;t=C;return O|0}do if(!(e[M>>2]|0)){if(e[S>>2]|0){e[o+84744>>2]=0;break}I=f+96|0;R=ie(e[I>>2]|0,e[P>>2]|0,e[D>>2]|0)|0;e[I>>2]=R;R=re(R,e[P>>2]|0,e[D>>2]|0)|0;e[o+84744>>2]=R;if((R|0)>=1)break;Y(o);e[O>>2]=0;O=-1;t=C;return O|0}else e[o+84744>>2]=1;while(0);St(o);a=((e[P>>2]|0)*3|0)+(e[i>>2]|0)+((e[D>>2]|0)<16e3?6:0)|0;e[o+21360>>2]=e[12200+(a*204|0)>>2];e[o+21364>>2]=e[12200+(a*204|0)+4>>2];e[o+21368>>2]=e[12200+(a*204|0)+8>>2];e[o+21372>>2]=e[12200+(a*204|0)+12>>2];e[o+21376>>2]=e[12200+(a*204|0)+16>>2];e[o+21380>>2]=e[12200+(a*204|0)+20>>2];e[o+21384>>2]=e[12200+(a*204|0)+24>>2];e[o+21388>>2]=e[12200+(a*204|0)+28>>2];e[o+21392>>2]=e[12200+(a*204|0)+32>>2];e[o+21396>>2]=e[12200+(a*204|0)+36>>2];e[o+21400>>2]=e[12200+(a*204|0)+40>>2];e[o+21404>>2]=e[12200+(a*204|0)+44>>2];e[o+21408>>2]=e[12200+(a*204|0)+48>>2];e[o+21412>>2]=e[12200+(a*204|0)+52>>2];e[o+21416>>2]=e[12200+(a*204|0)+56>>2];e[o+21420>>2]=e[12200+(a*204|0)+60>>2];e[o+21424>>2]=e[12200+(a*204|0)+64>>2];e[o+21428>>2]=e[12200+(a*204|0)+68>>2];e[o+21432>>2]=e[12200+(a*204|0)+72>>2];e[o+21436>>2]=e[12200+(a*204|0)+76>>2];e[o+21440>>2]=e[12200+(a*204|0)+80>>2];i=e[12200+(a*204|0)+84>>2]|0;e[o+21444>>2]=i;u=e[12200+(a*204|0)+88>>2]|0;e[o+21448>>2]=u;u=(u-i|0)/6|0;e[o+21508>>2]=i;e[o+21512>>2]=u+i;e[o+21516>>2]=(u<<1)+i;e[o+21520>>2]=(u*3|0)+i;e[o+21524>>2]=(u<<2)+i;e[o+21528>>2]=(u*5|0)+i;e[o+21532>>2]=576;e[o+21452>>2]=e[12200+(a*204|0)+92>>2];e[o+21456>>2]=e[12200+(a*204|0)+96>>2];e[o+21460>>2]=e[12200+(a*204|0)+100>>2];e[o+21464>>2]=e[12200+(a*204|0)+104>>2];e[o+21468>>2]=e[12200+(a*204|0)+108>>2];e[o+21472>>2]=e[12200+(a*204|0)+112>>2];e[o+21476>>2]=e[12200+(a*204|0)+116>>2];e[o+21480>>2]=e[12200+(a*204|0)+120>>2];e[o+21484>>2]=e[12200+(a*204|0)+124>>2];e[o+21488>>2]=e[12200+(a*204|0)+128>>2];e[o+21492>>2]=e[12200+(a*204|0)+132>>2];e[o+21496>>2]=e[12200+(a*204|0)+136>>2];i=e[12200+(a*204|0)+140>>2]|0;e[o+21500>>2]=i;
- a=e[12200+(a*204|0)+144>>2]|0;e[o+21504>>2]=a;a=(a-i|0)/6|0;e[o+21536>>2]=i;e[o+21540>>2]=a+i;e[o+21544>>2]=(a<<1)+i;e[o+21548>>2]=(a*3|0)+i;e[o+21552>>2]=(a<<2)+i;e[o+21556>>2]=(a*5|0)+i;e[o+21560>>2]=192;i=e[g>>2]|0;a=e[v>>2]|0;u=(a|0)==1;u=(i|0)==2?u?21:36:u?13:21;S=o+24|0;e[S>>2]=u;if(e[L>>2]|0)e[S>>2]=u|2;e[o>>2]=-487877;r[o+39756>>2]=+(s(i*700|0,a)|0);r[o+39760>>2]=+(s((e[g>>2]|0)*700|0,e[v>>2]|0)|0);r[o+39764>>2]=+(s((e[g>>2]|0)*700|0,e[v>>2]|0)|0);r[o+39768>>2]=+(s((e[g>>2]|0)*700|0,e[v>>2]|0)|0);r[o+39772>>2]=+(s((e[g>>2]|0)*700|0,e[v>>2]|0)|0);r[o+39776>>2]=+(s((e[g>>2]|0)*700|0,e[v>>2]|0)|0);r[o+39780>>2]=+(s((e[g>>2]|0)*700|0,e[v>>2]|0)|0);r[o+39784>>2]=+(s((e[g>>2]|0)*700|0,e[v>>2]|0)|0);r[o+39788>>2]=+(s((e[g>>2]|0)*700|0,e[v>>2]|0)|0);r[o+39792>>2]=+(s((e[g>>2]|0)*700|0,e[v>>2]|0)|0);r[o+39796>>2]=+(s((e[g>>2]|0)*700|0,e[v>>2]|0)|0);r[o+39800>>2]=+(s((e[g>>2]|0)*700|0,e[v>>2]|0)|0);r[o+39804>>2]=+(s((e[g>>2]|0)*700|0,e[v>>2]|0)|0);r[o+39808>>2]=+(s((e[g>>2]|0)*700|0,e[v>>2]|0)|0);r[o+39812>>2]=+(s((e[g>>2]|0)*700|0,e[v>>2]|0)|0);r[o+39816>>2]=+(s((e[g>>2]|0)*700|0,e[v>>2]|0)|0);r[o+39820>>2]=+(s((e[g>>2]|0)*700|0,e[v>>2]|0)|0);r[o+39824>>2]=+(s((e[g>>2]|0)*700|0,e[v>>2]|0)|0);r[o+39828>>2]=+(s((e[g>>2]|0)*700|0,e[v>>2]|0)|0);g=f+220|0;if((e[g>>2]|0)==-1)e[g>>2]=4;a=e[M>>2]|0;do if((a|0)==4|(a|0)==1){i=f+124|0;if((e[i>>2]|0)<0)e[i>>2]=2;i=f+244|0;if((e[i>>2]|0)<0)e[i>>2]=0;je(f,(s(e[f+164>>2]|0,-10)|0)+500|0,0)|0;i=f+44|0;a=e[i>>2]|0;do if((a|0)<0){e[i>>2]=3;A=169}else{if((a|0)<5){A=169;break}if((a|0)<=7)break;e[i>>2]=7}while(0);if((A|0)==169)e[i>>2]=0;if(!(e[f+140>>2]|0))a=(e[D>>2]|0)>44e3&1;else a=0;e[o+85092>>2]=a;e[o+85812>>2]=1}else if((a|0)!=2){e[o+85092>>2]=0;i=f+44|0;if((e[i>>2]|0)<0)e[i>>2]=3;u=(a|0)==0;if(u)_e(f,e[f+96>>2]|0)|0;je(f,e[f+168>>2]|0,0)|0;e[M>>2]=a;i=o+85812|0;if(u){e[i>>2]=3;break}else{e[i>>2]=4;break}}else{je(f,(s(e[f+164>>2]|0,-10)|0)+500|0,0)|0;if(!(e[f+140>>2]|0))a=(e[D>>2]|0)>44e3&1;else a=0;e[o+85092>>2]=a;i=f+44|0;a=e[i>>2]|0;do if((a|0)>6)e[i>>2]=6;else{if((a|0)>=0)break;e[i>>2]=3}while(0);e[o+85812>>2]=2}while(0);i=e[f+200>>2]|0;a=o+84912|0;e[a>>2]=i;u=e[f+204>>2]|0;S=o+84916|0;e[S>>2]=u;if(e[f+256>>2]|0){F=(e[n>>2]=u,+r[n>>2]);_=+r[f+260>>2];r[a>>2]=(e[n>>2]=i,+r[n>>2])+_;r[S>>2]=F+_}if(!(e[M>>2]|0)){i=0;a=e[f+168>>2]|0}else{S=o+112|0;e[S>>2]=1;w=o+116|0;i=e[D>>2]|0;e[w>>2]=(i|0)<16e3?8:14;m=f+172|0;a=e[m>>2]|0;do if(!a)i=1;else{i=ie(a,e[P>>2]|0,i)|0;e[m>>2]=i;i=re(i,e[P>>2]|0,e[D>>2]|0)|0;e[S>>2]=i;if((i|0)<0)w=-1;else break;t=C;return w|0}while(0);u=f+176|0;a=e[u>>2]|0;do if(a){a=ie(a,e[P>>2]|0,e[D>>2]|0)|0;e[u>>2]=a;a=re(a,e[P>>2]|0,e[D>>2]|0)|0;e[w>>2]=a;if((a|0)<0){O=-1;t=C;return O|0}else{i=e[S>>2]|0;break}}else a=e[w>>2]|0;while(0);R=e[P>>2]|0;L=e[83944+(R<<6)+(i<<2)>>2]|0;e[m>>2]=L;R=e[83944+(R<<6)+(a<<2)>>2]|0;e[u>>2]=R;i=f+168|0;a=e[i>>2]|0;a=(R|0)<(a|0)?R:a;a=(L|0)>(a|0)?L:a;e[i>>2]=a;i=e[M>>2]|0}e[o+100>>2]=e[f+152>>2];e[o+156>>2]=e[y>>2];T=o+104|0;e[T>>2]=i;e[o+85096>>2]=e[f+80>>2];e[o+28>>2]=e[f+84>>2];e[o+32>>2]=e[f+88>>2];e[o+36>>2]=e[f+92>>2];m=o+120|0;e[m>>2]=e[f+96>>2];e[o+108>>2]=a;e[o+244>>2]=e[f+100>>2];h=e[O>>2]|0;i=f+44|0;switch(e[i>>2]|0){case 5:{i=h+28|0;if(!(e[i>>2]|0))e[i>>2]=1;e[h+40>>2]=0;e[h+44>>2]=0;i=h+32|0;if((e[i>>2]|0)==-1)e[i>>2]=1;e[h+36>>2]=0;e[h+48>>2]=0;break}case 8:{e[i>>2]=7;A=203;break}case 7:{A=203;break}case 6:{i=h+28|0;if(!(e[i>>2]|0))e[i>>2]=1;e[h+40>>2]=0;e[h+44>>2]=0;i=h+32|0;if((e[i>>2]|0)==-1)e[i>>2]=1;e[h+36>>2]=0;e[h+48>>2]=0;break}case 2:{i=h+28|0;if(!(e[i>>2]|0))e[i>>2]=1;i=h+85096|0;if(!(e[i>>2]|0))e[i>>2]=2;e[h+40>>2]=1;e[h+44>>2]=1;i=h+32|0;if((e[i>>2]|0)==-1)e[i>>2]=1;e[h+36>>2]=1;e[h+48>>2]=0;break}case 4:{i=h+28|0;if(!(e[i>>2]|0))e[i>>2]=1;e[h+40>>2]=0;e[h+44>>2]=0;i=h+32|0;if((e[i>>2]|0)==-1)e[i>>2]=1;e[h+36>>2]=1;e[h+48>>2]=0;break}case 3:{i=h+28|0;if(!(e[i>>2]|0))e[i>>2]=1;e[h+40>>2]=1;e[h+44>>2]=1;i=h+32|0;if((e[i>>2]|0)==-1)e[i>>2]=1;e[h+36>>2]=1;e[h+48>>2]=0;break}case 0:{i=h+28|0;if(!(e[i>>2]|0))e[i>>2]=1;i=h+85096|0;if(!(e[i>>2]|0))e[i>>2]=2;e[h+40>>2]=2;e[h+44>>2]=1;i=h+32|0;if((e[i>>2]|0)==-1)e[i>>2]=1;e[h+36>>2]=1;e[h+48>>2]=1;break}case 1:{i=h+28|0;if(!(e[i>>2]|0))e[i>>2]=1;i=h+85096|0;if(!(e[i>>2]|0))e[i>>2]=2;e[h+40>>2]=2;e[h+44>>2]=1;i=h+32|0;if((e[i>>2]|0)==-1)e[i>>2]=1;e[h+36>>2]=1;e[h+48>>2]=0;break}default:{e[h+28>>2]=0;M=h+36|0;e[M>>2]=0;e[M+4>>2]=0;e[M+8>>2]=0;e[M+12>>2]=0}}do if((A|0)==203){e[h+28>>2]=0;L=h+36|0;e[L>>2]=0;e[L+4>>2]=0;e[L+8>>2]=0;e[L+12>>2]=0;M=e[M>>2]|0;if(!((M|0)==4|(M|0)==1))break;e[h+48>>2]=-1}while(0);S=e[f+232>>2]|0;a=e[H>>2]|0;e[a>>2]=(S|0)<0?3:S;r[a+4>>2]=+d(10,+(+r[f+236>>2]*-.1));a=f+240|0;S=e[a>>2]|0;if((S|0)==-1){e[a>>2]=0;A=248}else if(!S)A=248;do if((A|0)==248){if((e[B>>2]|0)>>>0>=2){S=0;break}e[a>>2]=1;S=1}while(0);e[o+184>>2]=S;if((Be(f)|0)<0)Z(f,1)|0;if((Ce(f)|0)<0)X(f,0)|0;if(+Ie(f)<0)G(f,0);ve(f,Ee(f)|0|1)|0;S=e[g>>2]|0;if((S|0)<0){e[g>>2]=4;S=4}w=f+224|0;_=+r[w>>2];u=(r[n>>2]=_,e[n>>2]|0);if(_<0){r[w>>2]=4;u=1082130432}w=f+248|0;_=+r[w>>2];a=(r[n>>2]=_,e[n>>2]|0);if(_<0){r[w>>2]=0;a=0}i=f+244|0;w=e[i>>2]|0;if((w|0)<0){e[i>>2]=1;w=1}e[o+188>>2]=a;e[o+192>>2]=e[f+252>>2];l=+r[f+228>>2];r[o+196>>2]=-l;r[o+200>>2]=+d(10,+(l*-.10000000149011612));e[o+204>>2]=u;e[o+208>>2]=S;e[o+212>>2]=e[f+208>>2];e[o+216>>2]=e[f+212>>2];e[o+220>>2]=e[f+216>>2];e[o+84>>2]=e[f+132>>2];e[o+88>>2]=e[f+136>>2];e[o+92>>2]=w;M=e[f+148>>2]|0;e[o+96>>2]=M&2;l=+(M>>>2&63|0);r[o+232>>2]=(!(l>=32)?l:l+-64)*.25;l=+(M>>>8&63|0);r[o+228>>2]=(!(l>=32)?l:l+-64)*.25;l=+(M>>>14&63|0);l=!(l>=32)?l:l+-64;r[o+236>>2]=l*.25;_=+(M>>>20&63|0);r[o+240>>2]=((!(_>=32)?_:_+-64)+l)*.25;l=+r[f+20>>2];_=+r[f+24>>2]*l;l=+r[f+28>>2]*l;do if((e[b>>2]|0)==2){if((e[v>>2]|0)!=1){F=_;E=l;_=0;break}F=_*.5;E=0;_=l*.5}else{F=_;E=l;_=0}while(0);r[o+264>>2]=F;r[o+268>>2]=_;r[o+272>>2]=0;r[o+276>>2]=E;w=o+39832|0;e[w>>2]=0;S=o+39836|0;e[S>>2]=0;if(!(e[T>>2]|0)){b=s(((e[P>>2]|0)*72e3|0)+72e3|0,e[m>>2]|0)|0;b=(b|0)%(e[D>>2]|0)|0;e[w>>2]=b;e[S>>2]=b}do if((e[f>>2]|0)==-487877){w=e[O>>2]|0;if(!w)break;e[w+84748>>2]=0;if(e[f+68>>2]|0)Tt(f)|0;r[w+85684>>2]=0;c(w+84040|0,0,704)|0;if(!(e[w+156>>2]|0))break;ut(f)|0}while(0);zr(o);$r(f)|0;e[o+148>>2]=Dr(P,e[f+124>>2]|0)|0;O=0;t=C;return O|0}function gt(e,r,i,t,n,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;return Qe(e,r,i,t,n,o,3,1,32767)|0}function kt(l,d,u){l=l|0;d=d|0;u=u|0;var a=0,o=0,r=0,w=0,_=0,v=0,b=0,f=0,p=0,i=0,h=0,m=0,n=0,s=0,E=0,S=0;s=t;t=t+4608|0;h=s;if(!l){i=-3;t=s;return i|0}if((e[l>>2]|0)!=-487877){i=-3;t=s;return i|0}n=e[l+288>>2]|0;if(!n){i=-3;t=s;return i|0}if((e[n>>2]|0)!=-487877){i=-3;t=s;return i|0}m=n+84032|0;r=e[m>>2]|0;if((r|0)<1){i=0;t=s;return i|0}o=(e[n+76>>2]|0)*576|0;i=o+752|0;r=r+-1152|0;c(h|0,0,4608)|0;if(!(Ui(n+16|0)|0))p=1;else{E=+(e[n+60>>2]|0)/+(e[n+64>>2]|0);p=E;r=~~(16/E+ +(r|0))}f=o-((r|0)%(o|0)|0)|0;f=((f|0)<576?o:0)+f|0;e[n+84764>>2]=f;r=(f+r|0)/(o|0)|0;if((r|0)>0){_=n+84748|0;v=n+84036|0;b=(u|0)==0;f=h+2304|0;w=e[_>>2]|0;o=r;a=0;do{r=~~(+(i-(e[v>>2]|0)|0)*p);r=(r|0)>1152?1152:r;r=Qe(l,h,f,(r|0)<1?1:r,d,b?0:u-a|0,0,1,1)|0;d=d+r|0;a=r+a|0;S=w;w=e[_>>2]|0;o=o-((S|0)!=(w|0)&1)|0}while((o|0)>0&(r|0)>-1);e[m>>2]=0;if((r|0)<0){i=r;t=s;return i|0}}else{e[m>>2]=0;a=0}o=(u|0)==0;pt(n);r=$(n,d,o?0:u-a|0,1)|0;mt(n);if((r|0)<0){i=r;t=s;return i|0}a=r+a|0;if(!(e[l+68>>2]|0)){i=a;t=s;return i|0}Dt(l)|0;i=$(n,d+r|0,o?0:u-a|0,0)|0;i=((i|0)<0?0:a)+i|0;t=s;return i|0}function bt(i){i=i|0;var r=0,t=0,n=0;if(!i){r=0;return r|0}if((e[i>>2]|0)!=-487877){r=0;return r|0}r=i+288|0;t=e[r>>2]|0;e[i>>2]=0;if(!t)r=-3;else{n=(e[t>>2]|0)==-487877?0:-3;e[t>>2]=0;Y(t);e[r>>2]=0;r=n}if(!(e[i+284>>2]|0))return r|0;_(i);return r|0}function vt(){var i=0,t=0;Zi();i=k(1,304)|0;if(!i){i=0;return i|0}c(i|0,0,304)|0;e[i>>2]=-487877;t=k(1,85840)|0;e[i+288>>2]=t;if(!t){_(i);i=0;return i|0}else{e[i+124>>2]=2;e[i+48>>2]=4;e[i+108>>2]=1;e[i+12>>2]=44100;e[i+8>>2]=2;e[i+4>>2]=-1;e[i+36>>2]=1;e[i+44>>2]=-1;e[i+240>>2]=-1;e[i+88>>2]=-1;e[i+184>>2]=0;e[i+188>>2]=0;e[i+192>>2]=-1;e[i+196>>2]=-1;e[i+156>>2]=0;e[i+164>>2]=4;r[i+224>>2]=-1;e[i+168>>2]=128;e[i+172>>2]=0;e[i+176>>2]=0;e[i+180>>2]=0;e[t+112>>2]=1;e[t+116>>2]=13;e[i+132>>2]=-1;e[i+136>>2]=-1;r[i+252>>2]=-1;e[t+84920>>2]=180;e[t+84924>>2]=180;e[t+84928>>2]=4;e[t+84932>>2]=4;r[t+84908>>2]=1;r[i+264>>2]=-1;r[i+268>>2]=-1;r[i+20>>2]=1;r[i+24>>2]=1;r[i+28>>2]=1;e[i+232>>2]=-1;e[i+220>>2]=-1;r[i+236>>2]=0;e[i+244>>2]=-1;r[i+248>>2]=-1;e[t+84032>>2]=1728;e[t+84764>>2]=0;e[t+84036>>2]=528;e[i+60>>2]=0;e[i+64>>2]=0;e[t+136>>2]=0;e[t+128>>2]=0;e[t+132>>2]=0;e[t+85688>>2]=0;e[t+85692>>2]=0;r[t+85680>>2]=-1;e[i+292>>2]=1;e[i+296>>2]=1;e[i+300>>2]=1;e[i+152>>2]=0;e[i+68>>2]=1;e[i+276>>2]=2;e[i+280>>2]=2;e[i+272>>2]=2;e[i+284>>2]=1;return i|0}return 0}function Qe(r,a,u,l,p,S,g,w,D){r=r|0;a=a|0;u=u|0;l=l|0;p=p|0;S=S|0;g=g|0;w=w|0;D=+D;var o=0,i=0,h=0,N=0,m=0,d=0,B=0,A=0,C=0,L=0,F=0,E=0,b=0,f=0,P=0,R=0,T=0,v=0,O=0,y=0,n=0,c=0;c=t;t=t+32|0;N=c;v=c+24|0;T=c+16|0;O=c+8|0;y=c+4|0;if(!r){f=-3;t=c;return f|0}if((e[r>>2]|0)!=-487877){f=-3;t=c;return f|0}n=e[r+288>>2]|0;if(!n){f=-3;t=c;return f|0}if((e[n>>2]|0)!=-487877){f=-3;t=c;return f|0}if(!l){f=0;t=c;return f|0}d=n+52152|0;r=e[d>>2]|0;do if(r)if((e[n+52148>>2]|0)<(l|0)){_(r);h=10;break}else{o=n+52156|0;i=r;m=o;o=e[o>>2]|0;h=13;break}else h=10;while(0);if((h|0)==10){r=n+52156|0;o=e[r>>2]|0;if(o)_(o);i=k(l,4)|0;e[d>>2]=i;o=k(l,4)|0;e[r>>2]=o;e[n+52148>>2]=l;if(i){m=r;h=13}}do if((h|0)==13){if(!o){_(i);r=m;o=e[m>>2]|0;break}r=(a|0)==0;do if((e[n+68>>2]|0)>1)if(r|(u|0)==0){f=0;t=c;return f|0}else{Ze(n,a,u,l,g,w,D);break}else if(r){f=0;t=c;return f|0}else{Ze(n,a,a,l,g,w,D);break}while(0);r=n+76|0;w=e[r>>2]|0;R=w*576|0;e:do if((e[n>>2]|0)==-487877){o=$(n,p,S,0)|0;if((o|0)>=0){a=p+o|0;h=e[d>>2]|0;i=e[m>>2]|0;B=((e[r>>2]|0)*576|0)+752|0;e[v>>2]=n+52160;A=v+4|0;e[A>>2]=n+68096;C=T+4|0;L=n+128|0;F=n+72|0;E=n+84036|0;b=n+84032|0;f=n+136|0;P=n+85676|0;N=s(w,-576)|0;if(!S){p=a;r=h;r:while(1){while(1){if((l|0)<=0)break e;e[O>>2]=0;e[y>>2]=0;e[T>>2]=r;e[C>>2]=i;pr(n,v,T,l,O,y);if(((e[L>>2]|0)!=0?(e[f>>2]|0)==0:0)?(S=e[E>>2]|0,(Ye(e[P>>2]|0,(e[v>>2]|0)+(S<<2)|0,(e[A>>2]|0)+(S<<2)|0,e[y>>2]|0,e[F>>2]|0)|0)==0):0){o=-6;break e}a=e[O>>2]|0;l=l-a|0;m=r+(a<<2)|0;i=(e[F>>2]|0)==2?i+(a<<2)|0:i;a=e[y>>2]|0;h=(e[E>>2]|0)+a|0;e[E>>2]=h;r=e[b>>2]|0;if((r|0)<1){e[b>>2]=1728;r=1728}e[b>>2]=r+a;if((h|0)<(B|0))r=m;else{d=i;r=m;break}}i=sr(n,e[v>>2]|0,e[A>>2]|0,p,0)|0;if((i|0)<0){o=i;break e}p=p+i|0;o=i+o|0;i=e[E>>2]|0;S=i-R|0;e[E>>2]=S;e[b>>2]=(e[b>>2]|0)-R;m=e[F>>2]|0;if(!((S|0)>0&(m|0)>0)){i=d;continue}g=N+i|0;i=0;while(1){w=e[v+(i<<2)>>2]|0;u=0;do{e[w+(u<<2)>>2]=e[w+(u+R<<2)>>2];u=u+1|0}while((u|0)!=(g|0));i=i+1|0;if((i|0)==(m|0)){i=d;continue r}}}}else{p=a;r:while(1){do{if((l|0)<=0)break e;e[O>>2]=0;e[y>>2]=0;e[T>>2]=h;e[C>>2]=i;pr(n,v,T,l,O,y);if(((e[L>>2]|0)!=0?(e[f>>2]|0)==0:0)?(d=e[E>>2]|0,(Ye(e[P>>2]|0,(e[v>>2]|0)+(d<<2)|0,(e[A>>2]|0)+(d<<2)|0,e[y>>2]|0,e[F>>2]|0)|0)==0):0){o=-6;break e}a=e[O>>2]|0;l=l-a|0;h=h+(a<<2)|0;i=(e[F>>2]|0)==2?i+(a<<2)|0:i;a=e[y>>2]|0;w=(e[E>>2]|0)+a|0;e[E>>2]=w;r=e[b>>2]|0;if((r|0)<1){e[b>>2]=1728;r=1728}e[b>>2]=r+a}while((w|0)<(B|0));r=sr(n,e[v>>2]|0,e[A>>2]|0,p,S-o|0)|0;if((r|0)<0){o=r;break e}p=p+r|0;o=r+o|0;r=e[E>>2]|0;d=r-R|0;e[E>>2]=d;e[b>>2]=(e[b>>2]|0)-R;a=e[F>>2]|0;if(!((d|0)>0&(a|0)>0))continue;m=N+r|0;r=0;while(1){g=e[v+(r<<2)>>2]|0;u=0;do{e[g+(u<<2)>>2]=e[g+(u+R<<2)>>2];u=u+1|0}while((u|0)!=(m|0));r=r+1|0;if((r|0)==(a|0))continue r}}}}}else o=-3;while(0);f=o;t=c;return f|0}while(0);if(o)_(o);e[d>>2]=0;e[r>>2]=0;e[n+52148>>2]=0;M(n,7168,N);f=-2;t=c;return f|0}function mt(i){i=i|0;var t=0,n=0,o=0,s=0,a=0;a=i+85680|0;do if(e[i+128>>2]|0){t=+yt(e[i+85676>>2]|0);s=t;o=+p(+t);t=+p(+(t+24601));if(o>24601)if(!(t<=o*9.999999974752427e-7))n=5;else n=6;else if(!(t<=.024600999937888446))n=5;else n=6;if((n|0)==5){e[i+85688>>2]=~~+x(+(s*10+.5));break}else if((n|0)==6){e[i+85688>>2]=0;break}}while(0);if(!(e[i+132>>2]|0))return;t=+r[i+85684>>2];n=~~+hi(+(+Mr(t*3051850947599719e-20)*200));e[i+85692>>2]=n;if((n|0)>0){r[a>>2]=+x(+(3276700/t))*.01;return}else{r[a>>2]=-1;return}}function Ze(i,n,t,u,p,s,l){i=i|0;n=n|0;t=t|0;u=u|0;p=p|0;s=s|0;l=+l;var w=0,c=0,d=0,h=0,m=0,o=0,a=0;w=e[i+52152>>2]|0;d=e[i+52156>>2]|0;h=+r[i+264>>2]*l;m=+r[i+268>>2]*l;c=+r[i+272>>2]*l;l=+r[i+276>>2]*l;switch(p|0){case 0:{if((u|0)<=0)return;i=0;while(1){o=+(S[n>>1]|0);a=+(S[t>>1]|0);r[w+(i<<2)>>2]=a*m+o*h;r[d+(i<<2)>>2]=a*l+o*c;i=i+1|0;if((i|0)==(u|0))break;else{n=n+(s<<1)|0;t=t+(s<<1)|0}}return}case 2:{if((u|0)<=0)return;i=0;while(1){o=+(e[n>>2]|0);a=+(e[t>>2]|0);r[w+(i<<2)>>2]=a*m+o*h;r[d+(i<<2)>>2]=a*l+o*c;i=i+1|0;if((i|0)==(u|0))break;else{n=n+(s<<2)|0;t=t+(s<<2)|0}}return}case 3:{if((u|0)<=0)return;i=0;while(1){o=+r[n>>2];a=+r[t>>2];r[w+(i<<2)>>2]=a*m+o*h;r[d+(i<<2)>>2]=a*l+o*c;i=i+1|0;if((i|0)==(u|0))break;else{n=n+(s<<2)|0;t=t+(s<<2)|0}}return}case 4:{if((u|0)<=0)return;i=0;while(1){o=+f[n>>3];a=+f[t>>3];r[w+(i<<2)>>2]=a*m+o*h;r[d+(i<<2)>>2]=a*l+o*c;i=i+1|0;if((i|0)==(u|0))break;else{n=n+(s<<3)|0;t=t+(s<<3)|0}}return}case 1:{if((u|0)<=0)return;i=0;while(1){o=+(e[n>>2]|0);a=+(e[t>>2]|0);r[w+(i<<2)>>2]=a*m+o*h;r[d+(i<<2)>>2]=a*l+o*c;i=i+1|0;if((i|0)==(u|0))break;else{n=n+(s<<2)|0;t=t+(s<<2)|0}}return}default:return}}function Ge(s,i,J){s=s|0;i=i|0;J=J|0;var u=0,o=0,a=0,n=0,O=0,ee=0,re=0,F=0,c=0,h=0,P=0,b=0,G=0,K=0,z=0,H=0,x=0,X=0,$=0,U=0,C=0,Q=0,Z=0,L=0,B=0,W=0,j=0,V=0,q=0,I=0,Y=0,f=0,w=0,D=0,k=0,M=0,N=0,T=0,A=0,R=0,p=0,m=0,_=0,S=0,d=0,v=0,g=0,E=0,y=0;D=t;t=t+80|0;w=D;G=s+72|0;if((e[G>>2]|0)<=0){t=D;return}B=s+76|0;W=w+68|0;j=w+36|0;V=w+60|0;q=w+44|0;I=w+56|0;Y=w+48|0;K=w+32|0;z=w+4|0;H=w+28|0;x=w+8|0;X=w+24|0;$=w+12|0;U=w+20|0;C=w+16|0;Q=w+64|0;Z=w+40|0;L=w+52|0;f=0;while(1){if((e[B>>2]|0)>0){b=0;P=i+1144|0;while(1){h=1-b|0;i=0;u=s+27824+(f*4608|0)+(h*2304|0)|0;o=P;while(1){Ke(o,u);Ke(o+128|0,u+128|0);n=u+132|0;r[n>>2]=-+r[n>>2];n=u+140|0;r[n>>2]=-+r[n>>2];n=u+148|0;r[n>>2]=-+r[n>>2];n=u+156|0;r[n>>2]=-+r[n>>2];n=u+164|0;r[n>>2]=-+r[n>>2];n=u+172|0;r[n>>2]=-+r[n>>2];n=u+180|0;r[n>>2]=-+r[n>>2];n=u+188|0;r[n>>2]=-+r[n>>2];n=u+196|0;r[n>>2]=-+r[n>>2];n=u+204|0;r[n>>2]=-+r[n>>2];n=u+212|0;r[n>>2]=-+r[n>>2];n=u+220|0;r[n>>2]=-+r[n>>2];n=u+228|0;r[n>>2]=-+r[n>>2];n=u+236|0;r[n>>2]=-+r[n>>2];n=u+244|0;r[n>>2]=-+r[n>>2];n=u+252|0;r[n>>2]=-+r[n>>2];i=i+1|0;if((i|0)==9)break;else{u=u+256|0;o=o+256|0}}ee=s+304+(b*10504|0)+(f*5252|0)+4788|0;re=s+304+(b*10504|0)+(f*5252|0)+4792|0;F=0;c=s+304+(b*10504|0)+(f*5252|0)|0;while(1){n=e[7208+(F<<2)>>2]|0;O=(F|0)<2&(e[re>>2]|0)!=0?0:e[ee>>2]|0;o=s+37040+(F<<2)|0;a=+r[o>>2];do if(!(a<1e-12)){if(a<1){i=s+27824+(f*4608|0)+(h*2304|0)+(n<<2)|0;r[i>>2]=+r[i>>2]*a;i=s+27824+(f*4608|0)+(h*2304|0)+(n+32<<2)|0;r[i>>2]=+r[i>>2]*+r[o>>2];i=s+27824+(f*4608|0)+(h*2304|0)+(n+64<<2)|0;r[i>>2]=+r[i>>2]*+r[o>>2];i=s+27824+(f*4608|0)+(h*2304|0)+(n+96<<2)|0;r[i>>2]=+r[i>>2]*+r[o>>2];i=s+27824+(f*4608|0)+(h*2304|0)+(n+128<<2)|0;r[i>>2]=+r[i>>2]*+r[o>>2];i=s+27824+(f*4608|0)+(h*2304|0)+(n+160<<2)|0;r[i>>2]=+r[i>>2]*+r[o>>2];i=s+27824+(f*4608|0)+(h*2304|0)+(n+192<<2)|0;r[i>>2]=+r[i>>2]*+r[o>>2];i=s+27824+(f*4608|0)+(h*2304|0)+(n+224<<2)|0;r[i>>2]=+r[i>>2]*+r[o>>2];i=s+27824+(f*4608|0)+(h*2304|0)+(n+256<<2)|0;r[i>>2]=+r[i>>2]*+r[o>>2];i=s+27824+(f*4608|0)+(h*2304|0)+(n+288<<2)|0;r[i>>2]=+r[i>>2]*+r[o>>2];i=s+27824+(f*4608|0)+(h*2304|0)+(n+320<<2)|0;r[i>>2]=+r[i>>2]*+r[o>>2];i=s+27824+(f*4608|0)+(h*2304|0)+(n+352<<2)|0;r[i>>2]=+r[i>>2]*+r[o>>2];i=s+27824+(f*4608|0)+(h*2304|0)+(n+384<<2)|0;r[i>>2]=+r[i>>2]*+r[o>>2];i=s+27824+(f*4608|0)+(h*2304|0)+(n+416<<2)|0;r[i>>2]=+r[i>>2]*+r[o>>2];i=s+27824+(f*4608|0)+(h*2304|0)+(n+448<<2)|0;r[i>>2]=+r[i>>2]*+r[o>>2];i=s+27824+(f*4608|0)+(h*2304|0)+(n+480<<2)|0;r[i>>2]=+r[i>>2]*+r[o>>2];i=s+27824+(f*4608|0)+(h*2304|0)+(n+512<<2)|0;r[i>>2]=+r[i>>2]*+r[o>>2];i=s+27824+(f*4608|0)+(h*2304|0)+(n+544<<2)|0;r[i>>2]=+r[i>>2]*+r[o>>2]}if((O|0)==2){o=n+288|0;u=n+480|0;i=-3;do{A=i+3|0;a=+r[7624+(A<<2)>>2];R=i<<5;M=o+R|0;N=(8-i<<5)+n|0;k=i*3|0;r[c+(k+9<<2)>>2]=+r[s+27824+(f*4608|0)+(b*2304|0)+(M<<2)>>2]*a-+r[s+27824+(f*4608|0)+(b*2304|0)+(N<<2)>>2];T=s+27824+(f*4608|0)+(b*2304|0)+((14-i<<5)+n<<2)|0;R=s+27824+(f*4608|0)+(b*2304|0)+(u+R<<2)|0;r[c+(k+18<<2)>>2]=+r[T>>2]*a+ +r[R>>2];r[c+(k+10<<2)>>2]=+r[R>>2]*a-+r[T>>2];T=s+27824+(f*4608|0)+(h*2304|0)+((2-i<<5)+n<<2)|0;A=s+27824+(f*4608|0)+(h*2304|0)+((A<<5)+n<<2)|0;r[c+(k+19<<2)>>2]=+r[T>>2]*a+ +r[A>>2];r[c+(k+11<<2)>>2]=+r[A>>2]*a-+r[T>>2];r[c+(k+20<<2)>>2]=+r[s+27824+(f*4608|0)+(h*2304|0)+(N<<2)>>2]*a+ +r[s+27824+(f*4608|0)+(h*2304|0)+(M<<2)>>2];i=i+1|0}while((i|0)!=0);o=c;u=0;while(1){k=o+24|0;a=+r[k>>2];N=o+60|0;v=+r[N>>2];g=a*.13165250420570374-v;m=+r[o>>2];n=o+36|0;d=+r[n>>2];S=m*.7673270106315613-d;a=v*.13165250420570374+a;m=d*.7673270106315613+m;d=m+a;M=o+12|0;v=+r[M>>2];i=o+48|0;E=+r[i>>2];_=S+g;p=(v*.4142135679721832-E)*2.069978111953089e-11;r[o>>2]=p+_*1.90752519173728e-11;v=(E*.4142135679721832+v)*2.069978111953089e-11;r[N>>2]=v+-d*1.90752519173728e-11;S=(g-S)*1.6519652744032674e-11;d=v+d*9.537625958686404e-12;r[M>>2]=S-d;r[k>>2]=d+S;p=_*9.537625958686404e-12-p;a=(m-a)*1.6519652744032674e-11;r[n>>2]=p+a;r[i>>2]=p-a;u=u+1|0;if((u|0)==3)break;else o=o+4|0}}else{o=-9;do{u=o+9|0;M=(u<<5)+n|0;k=(8-o<<5)+n|0;d=+r[s+27824+(f*4608|0)+(h*2304|0)+(k<<2)>>2]*+r[7336+(O*144|0)+(o+36<<2)>>2]+ +r[s+27824+(f*4608|0)+(h*2304|0)+(M<<2)>>2]*+r[7336+(O*144|0)+(o+27<<2)>>2];i=o+18|0;a=+r[s+27824+(f*4608|0)+(b*2304|0)+(M<<2)>>2]*+r[7336+(O*144|0)+(u<<2)>>2]-+r[s+27824+(f*4608|0)+(b*2304|0)+(k<<2)>>2]*+r[7336+(O*144|0)+(i<<2)>>2];p=+r[7624+(o+12<<2)>>2];r[w+(u<<2)>>2]=d-a*p;r[w+(i<<2)>>2]=p*d+a;o=o+1|0}while((o|0)!=0);S=+r[W>>2]-+r[j>>2];E=+r[V>>2]-+r[q>>2];g=+r[I>>2]-+r[Y>>2];d=+r[K>>2]+ +r[w>>2];m=+r[H>>2]+ +r[z>>2];v=+r[X>>2]+ +r[x>>2];p=+r[U>>2]+ +r[$>>2];_=v+d-p;r[c+68>>2]=+r[C>>2]-m+_;_=_*.5+(m-+r[C>>2]);a=(S-E-g)*.8660253882408142;r[c+20>>2]=_+a;r[c+24>>2]=a-_;_=(+r[Q>>2]-+r[Z>>2])*.8660253882408142;m=+r[C>>2]+m*.5;a=E*.6427876353263855+S*.9848077297210693+g*.3420201539993286+_;y=v*.7660444378852844+d*.1736481785774231+p*.9396926164627075+m;r[c+4>>2]=a+y;r[c+8>>2]=a-y;y=S*.6427876353263855-E*.3420201539993286+g*.9848077297210693-_;a=d*.7660444378852844-v*.9396926164627075-p*.1736481785774231+m;r[c+36>>2]=y+a;r[c+40>>2]=y-a;_=E*.9848077297210693+S*.3420201539993286-g*.6427876353263855-_;m=d*.9396926164627075-v*.1736481785774231+p*.7660444378852844-m;r[c+52>>2]=m+_;r[c+56>>2]=_-m;m=+r[K>>2]-+r[w>>2];_=+r[X>>2]-+r[x>>2];p=+r[U>>2]-+r[$>>2];v=+r[j>>2]+ +r[W>>2];d=+r[Z>>2]+ +r[Q>>2];g=+r[q>>2]+ +r[V>>2];S=+r[Y>>2]+ +r[I>>2];E=g+v+S;r[c>>2]=+r[L>>2]+d+E;E=-d-+r[L>>2]+E*.5;a=(m-_+p)*.8660253882408142;r[c+44>>2]=E+a;r[c+48>>2]=E-a;a=(+r[H>>2]-+r[z>>2])*.8660253882408142;d=+r[L>>2]-d*.5;E=v*.9396926164627075-g*.1736481785774231-S*.7660444378852844-d;y=_*.9848077297210693+m*.3420201539993286+p*.6427876353263855+a;r[c+12>>2]=E+y;r[c+16>>2]=E-y;y=v*.7660444378852844-g*.9396926164627075+S*.1736481785774231+d;E=m*.6427876353263855-_*.3420201539993286-p*.9848077297210693+a;r[c+28>>2]=y+E;r[c+32>>2]=y-E;d=g*.7660444378852844+v*.1736481785774231-S*.9396926164627075+d;a=_*.6427876353263855+m*.9848077297210693-p*.3420201539993286-a;r[c+60>>2]=d+a;r[c+64>>2]=d-a;break}}else{o=c;u=o+72|0;do{e[o>>2]=0;o=o+4|0}while((o|0)<(u|0))}while(0);if((F|0)!=0&(O|0)!=2){o=7;while(1){i=c+(o<<2)|0;p=+r[i>>2];a=+r[7624+(o+20<<2)>>2];u=c+(~o<<2)|0;d=+r[u>>2];m=+r[7624+(o+28<<2)>>2];r[u>>2]=m*d+a*p;r[i>>2]=m*p-d*a;if((o|0)>0)o=o+-1|0;else break}}F=F+1|0;if((F|0)==32)break;else c=c+72|0}b=b+1|0;i=e[B>>2]|0;if((b|0)>=(i|0))break;else P=P+2304|0}if((i|0)==1)l(s+27824+(f*4608|0)|0,s+27824+(f*4608|0)+2304|0,2304)|0}f=f+1|0;if((f|0)>=(e[G>>2]|0))break;else i=J}t=D;return}function Ke(s,n){s=s|0;n=n|0;var h=0,g=0,d=0,p=0,F=0,v=0,a=0,b=0,f=0,S=0,e=0,u=0,i=0,t=0,k=0,c=0,_=0,l=0,w=0,o=0,m=0,y=0,G=0,W=0,V=0,Z=0,z=0,X=0,N=0,D=0,P=0,M=0,C=0,B=0,R=0,x=0,T=0,K=0,A=0,q=0,O=0,j=0,I=0,Y=0,H=0,L=0,U=0,J=0,Q=0,$=0,ee=0,re=0,E=0;h=s;g=-15;d=7952;p=s+-248|0;while(1){m=+r[d+-40>>2];y=+r[d+-36>>2];o=+r[d+-32>>2];w=+r[d+-28>>2];l=+r[d+-24>>2];_=+r[d+-20>>2];c=+r[d+-16>>2];k=+r[d+-12>>2];t=+r[d+-8>>2];i=+r[d+-4>>2];u=+r[d>>2];e=+r[d+4>>2];S=+r[d+8>>2];f=+r[d+12>>2];b=+r[d+16>>2];v=+r[d+20>>2];a=+r[h+640>>2]*y+ +r[h+896>>2]*m+ +r[h+384>>2]*o+ +r[h+128>>2]*w+ +r[h+-128>>2]*l+ +r[h+-384>>2]*_+ +r[h+-640>>2]*c+ +r[h+-896>>2]*k-+r[p+1024>>2]*t-+r[p+768>>2]*i-+r[p+512>>2]*u-+r[p+256>>2]*e-+r[p>>2]*S-+r[p+-256>>2]*f-+r[p+-512>>2]*b-+r[p+-768>>2]*v;v=(+r[p+-640>>2]*y+ +r[p+-896>>2]*m+ +r[p+-384>>2]*o+ +r[p+-128>>2]*w+ +r[p+128>>2]*l+ +r[p+384>>2]*_+ +r[p+640>>2]*c+ +r[p+896>>2]*k+ +r[h+-1024>>2]*t+ +r[h+-768>>2]*i+ +r[h+-512>>2]*u+ +r[h+-256>>2]*e+ +r[h>>2]*S+ +r[h+256>>2]*f+ +r[h+512>>2]*b+ +r[h+768>>2]*v)*+r[d+24>>2];F=g<<1;r[n+(F+30<<2)>>2]=a+v;r[n+(F+31<<2)>>2]=(a-v)*+r[d+28>>2];g=g+1|0;if(!g)break;else{h=h+-4|0;d=d+72|0;p=p+4|0}}i=(+r[s+-252>>2]-+r[s+4>>2])*5302.158203125+ +r[s+-124>>2]*10612.802734375+(+r[s+132>>2]+ +r[s+-380>>2])*929.7763061523438+(+r[s+-508>>2]-+r[s+260>>2])*728.8010864257812+(+r[s+388>>2]+ +r[s+-636>>2])*288.09765625+(+r[s+-764>>2]-+r[s+516>>2])*64.91738891601562+(+r[s+644>>2]+ +r[s+-892>>2])*30.125003814697266+(+r[s+-1020>>2]-+r[s+772>>2])*4.101456642150879;o=+r[s+-444>>2]*1945.5516357421875+ +r[s+-188>>2]*12804.7978515625+ +r[s+-700>>2]*313.42449951171875+ +r[s+-956>>2]*20.801593780517578-+r[s+68>>2]*1995.1556396484375-+r[s+324>>2]*9.000839233398438-+r[s+580>>2]*-29.202180862426758-+r[s+836>>2];e=o-i;i=o+i;O=n+56|0;o=+r[O>>2];I=n+60|0;a=+r[I>>2]-o;_=i+o;U=n+124|0;w=a+e;H=n+120|0;a=e-a;o=i-o;s=n+112|0;i=+r[s>>2];e=+r[n>>2];r[n>>2]=e+i;r[s>>2]=(i-e)*1.9615705013275146;g=n+116|0;e=+r[g>>2];L=n+4|0;i=+r[L>>2];r[L>>2]=i+e;r[g>>2]=(e-i)*1.9615705013275146;N=n+104|0;i=+r[N>>2];h=n+8|0;e=+r[h>>2];r[h>>2]=e+i;r[N>>2]=(i-e)*1.8477590084075928;P=n+108|0;e=+r[P>>2];d=n+12|0;i=+r[d>>2];r[d>>2]=i+e;r[P>>2]=(e-i)*1.8477590084075928;x=n+96|0;i=+r[x>>2];M=n+16|0;e=+r[M>>2];r[M>>2]=e+i;r[x>>2]=(i-e)*1.662939190864563;B=n+100|0;e=+r[B>>2];D=n+20|0;i=+r[D>>2];r[D>>2]=i+e;r[B>>2]=(e-i)*1.662939190864563;T=n+88|0;i=+r[T>>2];C=n+24|0;e=+r[C>>2];m=e+i;A=n+92|0;E=+r[A>>2];R=n+28|0;f=+r[R>>2];t=f+E;c=t-m;e=(i-e)*1.4142135623730951-c;t=(E-f)*1.4142135623730951-t-e;r[C>>2]=_-m;r[U>>2]=_+m;r[R>>2]=w-c;r[H>>2]=w+c;r[T>>2]=a-e;r[I>>2]=a+e;r[A>>2]=o-t;r[O>>2]=o+t;X=n+80|0;t=+r[X>>2];q=n+32|0;o=+r[q>>2];e=o+t;o=(t-o)*1.111140489578247;Z=n+84|0;t=+r[Z>>2];K=n+36|0;a=+r[K>>2];c=a+t;a=(t-a)*1.111140489578247;p=n+72|0;t=+r[p>>2];V=n+40|0;w=+r[V>>2];m=w+t;w=(t-w)*.7653668522834778;G=n+76|0;t=+r[G>>2];z=n+44|0;_=+r[z>>2];f=_+t;_=(t-_)*.7653668522834778;Y=n+64|0;t=+r[Y>>2];W=n+48|0;E=+r[W>>2];i=E+t;E=(t-E)*.39018064737319946;j=n+68|0;t=+r[j>>2];F=n+52|0;l=+r[F>>2];u=l+t;l=(t-l)*.39018064737319946;t=+r[x>>2];r[X>>2]=t+o;r[x>>2]=(t-o)*.7653668522834778;o=+r[B>>2];r[Z>>2]=o+a;r[B>>2]=(o-a)*.7653668522834778;a=+r[M>>2];r[M>>2]=e+a;r[q>>2]=(a-e)*.7653668522834778;e=+r[D>>2];r[D>>2]=c+e;r[K>>2]=(e-c)*.7653668522834778;c=+r[n>>2];r[n>>2]=i+c;r[W>>2]=(c-i)*1.8477590084075928;i=+r[L>>2];r[L>>2]=u+i;r[F>>2]=(i-u)*1.8477590084075928;u=+r[s>>2];r[Y>>2]=u+E;r[s>>2]=(E-u)*1.8477590084075928;u=+r[g>>2];r[j>>2]=u+l;r[g>>2]=(u-l)*1.8477590084075928;l=+r[h>>2];u=m+l;E=+r[d>>2];i=f+E;c=+r[N>>2];e=c+w;a=+r[P>>2];o=a+_;t=o-i;i=i-u;S=+r[U>>2];r[h>>2]=S-u;r[U>>2]=S+u;f=(E-f)*1.4142135623730951-t;E=e-i;u=+r[H>>2];r[d>>2]=u-i;r[H>>2]=u+i;t=t-E;i=+r[I>>2];r[p>>2]=i-E;r[I>>2]=i+E;m=(l-m)*1.4142135623730951-t;l=+r[O>>2];r[G>>2]=l-t;r[O>>2]=l+t;t=f-m;l=+r[A>>2];r[V>>2]=l-m;r[A>>2]=l+m;e=(c-w)*1.4142135623730951-e-t;w=+r[T>>2];r[z>>2]=w-t;r[T>>2]=w+t;f=(a-_)*1.4142135623730951-o-f-e;o=+r[R>>2];r[N>>2]=o-e;r[R>>2]=o+e;e=+r[C>>2];r[P>>2]=e-f;r[C>>2]=e+f;f=+r[n>>2];e=+r[M>>2];o=e+f;r[n>>2]=o;r[M>>2]=(f-e)*1.4142135623730951;e=+r[L>>2];f=+r[D>>2];_=f+e;a=+r[Y>>2];t=+r[X>>2];w=t+a;c=+r[j>>2];m=+r[Z>>2];l=m+c;E=+r[q>>2];i=+r[W>>2];u=i+E;S=+r[K>>2];b=+r[F>>2];k=b+S;Q=+r[B>>2];J=+r[g>>2];y=J+Q;ee=+r[x>>2];re=+r[s>>2];$=ee-re;v=$-w;t=(a-t)*1.4142135623730951-v;a=y-l;m=(c-m)*1.4142135623730951-a;l=l-_;c=k-l;a=a-c;f=(e-f)*1.4142135623730951-a;e=m-f;k=(S-b)*-1.4142135623730951-k-e;o=_-o;w=w-o;l=l-w;_=u-l;c=c-_;v=v-c;a=a-v;b=+r[M>>2]-a;f=f-b;S=t-f;e=e-S;u=(E-i)*-1.4142135623730951-u-e;i=k-u;t=(re+ee)*-1.4142135623730951-$-t-i;k=(Q-J)*-1.4142135623730951-y-m-k-t;m=+r[n>>2];y=+r[U>>2];r[n>>2]=y+m;r[U>>2]=y-m;m=+r[H>>2];r[L>>2]=m+o;r[H>>2]=m-o;o=+r[I>>2];r[Y>>2]=o+w;r[I>>2]=o-w;w=+r[O>>2];r[j>>2]=w+l;r[O>>2]=w-l;l=+r[A>>2];r[q>>2]=l+_;r[A>>2]=l-_;_=+r[T>>2];r[K>>2]=_+c;r[T>>2]=_-c;c=+r[R>>2];r[x>>2]=c+v;r[R>>2]=c-v;v=+r[C>>2];r[B>>2]=v+a;r[C>>2]=v-a;a=+r[P>>2];r[M>>2]=a+b;r[P>>2]=a-b;b=+r[N>>2];r[D>>2]=b+f;r[N>>2]=b-f;f=+r[z>>2];r[X>>2]=f+S;r[z>>2]=f-S;S=+r[V>>2];r[Z>>2]=S+e;r[V>>2]=S-e;e=+r[G>>2];r[W>>2]=e+u;r[G>>2]=e-u;u=+r[p>>2];r[F>>2]=u+i;r[p>>2]=u-i;i=+r[d>>2];r[s>>2]=i+t;r[d>>2]=i-t;t=+r[h>>2];r[g>>2]=t+k;r[h>>2]=t-k;return}function je(i,n,t){i=i|0;n=n|0;t=t|0;var r=0;e:do switch(n|0){case 1e3:{z(i,4)|0;e[i+152>>2]=470;r=14;break}case 1004:case 1001:{z(i,4)|0;e[i+152>>2]=480;r=15;break}case 1005:case 1002:{z(i,4)|0;e[i+152>>2]=500;r=17;break}case 1003:{e[i+152>>2]=320;Ar(i,320,t)|0;z(i,0)|0;r=320;return r|0}case 1007:case 1006:{z(i,4)|0;e[i+152>>2]=460;r=13;break}default:{r=i+152|0;e[r>>2]=n;switch(n|0){case 460:{r=13;break e}case 490:{A(i,1,t);r=490;return r|0}case 430:{A(i,7,t);r=430;return r|0}case 500:{r=17;break e}case 410:{A(i,9,t);r=410;return r|0}case 480:{r=15;break e}case 440:{A(i,6,t);r=440;return r|0}case 470:{r=14;break e}case 420:{A(i,8,t);r=420;return r|0}case 450:{A(i,5,t);r=450;return r|0}default:if((n+-8|0)>>>0<313){r=Ar(i,n,t)|0;return r|0}else{e[r>>2]=0;r=n;return r|0}}}}while(0);if((r|0)==13){A(i,4,t);r=460;return r|0}else if((r|0)==14){A(i,3,t);r=470;return r|0}else if((r|0)==15){A(i,2,t);r=480;return r|0}else if((r|0)==17){A(i,0,t);r=500;return r|0}return 0}function Ar(t,a,n){t=t|0;a=a|0;n=n|0;var o=0,s=0,i=0;o=Ue(a&65535)|0;z(t,3)|0;_e(t,a)|0;s=He(t)|0;_e(t,(s|0)<320?s:320)|0;s=He(t)|0;_e(t,(s|0)>8?s:8)|0;Tr(t,He(t)|0)|0;if((o+-12|0)>>>0<5)ve(t,Ee(t)|0|2)|0;if(o>>>0<13)di(t,1)|0;n=(n|0)!=0;if(!n){if((Be(t)|0)==-1)Z(t,e[10560+(o*52|0)+4>>2]|0)|0;if((Ce(t)|0)==-1)X(t,e[10560+(o*52|0)+8>>2]|0)|0;i=+Ie(t)+1;if(i!=i|0!=0|i==0)G(t,+r[10560+(o*52|0)+16>>2]);i=+Je(t)+1;if(i!=i|0!=0|i==0)ce(t,+r[10560+(o*52|0)+20>>2])|0;i=+Xe(t)+1;if(i!=i|0!=0|i==0)ue(t,+r[10560+(o*52|0)+24>>2])|0}else{Z(t,e[10560+(o*52|0)+4>>2]|0)|0;X(t,e[10560+(o*52|0)+8>>2]|0)|0;G(t,+r[10560+(o*52|0)+16>>2]);ce(t,+r[10560+(o*52|0)+20>>2])|0;ue(t,+r[10560+(o*52|0)+24>>2])|0}i=+xr(t);Ir(t,+r[10560+(o*52|0)+28>>2]*i)|0;if(n){i=+r[10560+(o*52|0)+32>>2];pe(t,i)|0;we(t,i*1.1)|0;he(t,+r[10560+(o*52|0)+36>>2])|0;me(t,+r[10560+(o*52|0)+40>>2])|0;de(t,+r[10560+(o*52|0)+44>>2])|0;n=10560+(o*52|0)|0;n=e[n>>2]|0;i=+(n|0);i=i*.015625;n=t+288|0;n=e[n>>2]|0;n=n+280|0;r[n>>2]=i;return a|0}i=+fr(t);if(i!=i|0!=0|i==0)pe(t,+r[10560+(o*52|0)+32>>2])|0;i=+ar(t);if(i!=i|0!=0|i==0)we(t,+r[10560+(o*52|0)+32>>2]*1.1)|0;i=+ir(t);if(i!=i|0!=0|i==0)he(t,+r[10560+(o*52|0)+36>>2])|0;i=+nr(t)+1;if(i!=i|0!=0|i==0)me(t,+r[10560+(o*52|0)+40>>2])|0;i=+$e(t)+1;if(!(i!=i|0!=0|i==0)){n=10560+(o*52|0)|0;n=e[n>>2]|0;i=+(n|0);i=i*.015625;n=t+288|0;n=e[n>>2]|0;n=n+280|0;r[n>>2]=i;return a|0}de(t,+r[10560+(o*52|0)+44>>2])|0;n=10560+(o*52|0)|0;n=e[n>>2]|0;i=+(n|0);i=i*.015625;n=t+288|0;n=e[n>>2]|0;n=n+280|0;r[n>>2]=i;return a|0}function A(i,n,y){i=i|0;n=n|0;y=y|0;var t=0,b=0,k=0,_=0,g=0,a=0,F=0,M=0,h=0,u=0,d=0,c=0,l=0,f=0,m=0,o=0,w=0,v=0,E=0,p=0,s=0,S=0;m=De(i)|0;if((m|0)==1|(m|0)==4)t=9808;else t=9056;b=i+160|0;a=+r[b>>2];M=e[t+(n*68|0)+4>>2]|0;m=e[t+(n*68|0)+8>>2]|0;k=e[t+(n*68|0)+12>>2]|0;h=+r[t+(n*68|0)+16>>2];u=+r[t+(n*68|0)+20>>2];d=+r[t+(n*68|0)+24>>2];c=+r[t+(n*68|0)+28>>2];l=+r[t+(n*68|0)+32>>2];f=+r[t+(n*68|0)+36>>2];o=+r[t+(n*68|0)+40>>2];w=+r[t+(n*68|0)+44>>2];F=e[t+(n*68|0)+48>>2]|0;v=e[t+(n*68|0)+52>>2]|0;E=+r[t+(n*68|0)+56>>2];p=+r[t+(n*68|0)+60>>2];_=+r[t+(n*68|0)+64>>2];s=n+1|0;h=(+r[t+(s*68|0)+16>>2]-h)*a+h;u=(+r[t+(s*68|0)+20>>2]-u)*a+u;d=(+r[t+(s*68|0)+24>>2]-d)*a+d;c=(+r[t+(s*68|0)+28>>2]-c)*a+c;l=(+r[t+(s*68|0)+32>>2]-l)*a+l;f=(+r[t+(s*68|0)+36>>2]-f)*a+f;o=(+r[t+(s*68|0)+40>>2]-o)*a+o;w=(+r[t+(s*68|0)+44>>2]-w)*a+w;v=~~(+((e[t+(s*68|0)+52>>2]|0)-v|0)*a+ +(v|0));E=(+r[t+(s*68|0)+56>>2]-E)*a+E;p=(+r[t+(s*68|0)+60>>2]-p)*a+p;_=(+r[t+(s*68|0)+64>>2]-_)*a+_;Zr(i,e[t+(n*68|0)>>2]|0)|0;t=(y|0)!=0;if(!t){if((Be(i)|0)==-1)Z(i,M)|0;if((Ce(i)|0)==-1)X(i,m)|0}else{Z(i,M)|0;X(i,m)|0}if(k)Wr(i,k)|0;if(!t){S=+Je(i)+1;if(S!=S|0!=0|S==0)ce(i,h)|0;h=+Xe(i)+1;if(h!=h|0!=0|h==0)ue(i,u)|0;u=+fr(i);if(u!=u|0!=0|u==0)pe(i,d)|0;d=+ar(i);if(d!=d|0!=0|d==0)we(i,c)|0}else{ce(i,h)|0;ue(i,u)|0;pe(i,d)|0;we(i,c)|0}if(!((De(i)|0)!=1?(De(i)|0)!=4:0))ti(i,5)|0;if(!t){c=+ir(i);if(c!=c|0!=0|c==0)he(i,l)|0;l=+nr(i)+1;if(l!=l|0!=0|l==0)me(i,f)|0;f=+li(i);if(f!=f|0!=0|f==0)rr(i,o)|0}else{he(i,l)|0;me(i,f)|0;rr(i,o)|0}do if(w>0){if(t){de(i,w)|0;break}o=+$e(i)+1;if(o!=o|0!=0|o==0)de(i,w)|0}while(0);if((F|0)>0)ve(i,Ee(i)|0|2)|0;if((v|0)>0?(g=Ee(i)|0,(g&66060288|0)==0):0)ve(i,g|v<<20)|0;if(t){G(i,E);n=i+288|0;n=e[n>>2]|0;m=n+280|0;r[m>>2]=p;n=n+224|0;r[n>>2]=_;return}o=+Ie(i)+1;if(o!=o|0!=0|o==0)G(i,E);e[i+164>>2]=n;r[b>>2]=a;n=i+288|0;n=e[n>>2]|0;m=n+280|0;r[m>>2]=p;n=n+224|0;r[n>>2]=_;return}function Q(r,d,m,s,u,f,a,_){r=r|0;d=d|0;m=m|0;s=s|0;u=u|0;f=f|0;a=a|0;_=_|0;var n=0,o=0,i=0,c=0,h=0,S=0,w=0,b=0,k=0,p=0,v=0,E=0;E=t;t=t+720|0;v=E+456|0;p=E+228|0;w=E;e[w>>2]=r;b=0-d|0;e:do if((u|0)!=0|(s|0)!=1?(i=r+(0-(e[_+(f<<2)>>2]|0))|0,(g[m&1](i,r)|0)>=1):0){c=i;n=u;i=1;o=s;while(1){if((a|0)==0&(f|0)>1){u=e[_+(f+-2<<2)>>2]|0;if((g[m&1](r+b|0,c)|0)>-1){c=r;u=i;break e}if((g[m&1](r+(0-(u+d))|0,c)|0)>-1){c=r;u=i;break e}}u=i+1|0;e[w+(i<<2)>>2]=c;r=o+-1|0;do if(r){if(!(r&1)){i=r;r=0;do{r=r+1|0;i=i>>>1}while((i&1|0)==0);if(!r)h=10}else h=10;if((h|0)==10){h=0;if(!n){r=64;h=15;break}if(!(n&1)){r=n;i=0}else{a=0;i=o;s=n;r=0;break}while(1){s=i+1|0;r=r>>>1;if(r&1){r=s;break}else i=s}if(!r){a=0;i=o;s=n;r=0;break}else r=i+33|0}if(r>>>0>31)h=15;else{a=r;i=o;s=n}}else{r=32;h=15}while(0);if((h|0)==15){h=0;a=r+-32|0;i=n;s=0}o=s<<32-a|i>>>a;n=s>>>a;f=r+f|0;if(!((n|0)!=0|(o|0)!=1))break e;i=c+(0-(e[_+(f<<2)>>2]|0))|0;if((g[m&1](i,e[w>>2]|0)|0)<1){r=c;a=0;h=18;break}else{r=c;a=0;c=i;i=u}}}else{u=1;h=18}while(0);if((h|0)==18)if(!a)c=r;else{t=E;return}e:do if((u|0)>=2?(S=w+(u<<2)|0,e[S>>2]=v,(d|0)!=0):0){o=d;a=v;while(1){n=o>>>0>256?256:o;r=e[w>>2]|0;l(a|0,r|0,n|0)|0;s=0;do{i=s;s=s+1|0;a=r;r=e[w+(s<<2)>>2]|0;l(a|0,r|0,n|0)|0;e[w+(i<<2)>>2]=a+n}while((s|0)!=(u|0));if((o|0)==(n|0))break e;o=o-n|0;a=e[S>>2]|0}}while(0);e[p>>2]=c;e:do if((f|0)>1){n=c;u=c;r=1;while(1){o=n+b|0;i=f+-2|0;s=n+(0-((e[_+(i<<2)>>2]|0)+d))|0;if((g[m&1](u,s)|0)>-1?(g[m&1](u,o)|0)>-1:0){a=r;break}a=r+1|0;n=p+(r<<2)|0;if((g[m&1](s,o)|0)>-1){e[n>>2]=s;o=s;f=f+-1|0}else{e[n>>2]=o;f=i}if((f|0)<=1)break;n=o;u=e[p>>2]|0;r=a}if((a|0)>=2?(k=p+(a<<2)|0,e[k>>2]=v,(d|0)!=0):0){n=v;while(1){f=d>>>0>256?256:d;o=e[p>>2]|0;l(n|0,o|0,f|0)|0;n=o;o=0;do{c=o;o=o+1|0;i=n;n=e[p+(o<<2)>>2]|0;l(i|0,n|0,f|0)|0;e[p+(c<<2)>>2]=i+f}while((o|0)!=(a|0));if((d|0)==(f|0))break e;d=d-f|0;n=e[k>>2]|0}}}while(0);t=E;return}function Ji(e){e=e|0;return(e+-65|0)>>>0<26|0}function q(e){e=e|0;var r=0;r=(Ji(e)|0)==0;return(r?e:e|32)|0}function Or(i){i=+i;var o=0,a=0,l=0,s=0,u=0,c=0;s=t;t=t+16|0;l=s;f[n>>3]=i;o=e[n+4>>2]|0;a=o&2147483647;do if(a>>>0>1083174911){if(((o|0)>-1|(o|0)==-1&(e[n>>2]|0)>>>0>4294967295)&a>>>0>1083179007){i=i*8.98846567431158e307;t=s;return+i}if(a>>>0>2146435071){i=-1/i;t=s;return+i}if((o|0)<0)if(!(i<=-1075)){if(!(i+-4503599627370496+4503599627370496!=i))break;r[l>>2]=-1.401298464324817e-45/i;break}else{r[l>>2]=-1.401298464324817e-45/i;i=0;t=s;return+i}}else if(a>>>0<1016070144){i=i+1;t=s;return+i}while(0);c=i+26388279066624;f[n>>3]=c;o=(e[n>>2]|0)+128|0;a=o<<1&510;u=+f[91712+(a<<3)>>3];i=i-(c+-26388279066624)-+f[91712+((a|1)<<3)>>3];i=+ji(u+u*i*(i*(i*(i*(i*.0013333559164630223+.009618129842126066)+.0555041086648214)+.2402265069591)+.6931471805599453),(o&-256|0)/256|0);t=s;return+i}function Fr(r,i){r=+r;i=i|0;var t=0,a=0,o=0;f[n>>3]=r;t=e[n>>2]|0;a=e[n+4>>2]|0;o=be(t|0,a|0,52)|0;o=o&2047;if((o|0)==2047)return+r;else if(!o){
- if(r!=0){r=+Fr(r*0x10000000000000000,i);t=(e[i>>2]|0)+-64|0}else t=0;e[i>>2]=t;return+r}else{e[i>>2]=o+-1022;e[n>>2]=t;e[n+4>>2]=a&-2146435073|1071644672;r=+f[n>>3];return+r}return 0}function Xi(e,r){e=+e;r=r|0;return+ +Fr(e,r)}function Mr(r){r=+r;var i=0,s=0,a=0,c=0,t=0,l=0,u=0,o=0;f[n>>3]=r;s=e[n>>2]|0;i=e[n+4>>2]|0;a=(i|0)<0;do if(!(a|i>>>0<1048576)){if(i>>>0>2146435071)return+r;if((s|0)==0&0==0&(i|0)==1072693248){r=0;return+r}else{a=s;s=-1023}}else{if((s|0)==0&(i&2147483647|0)==0){r=-1/(r*r);return+r}if(!a){f[n>>3]=r*0x40000000000000;i=e[n+4>>2]|0;a=e[n>>2]|0;s=-1077;break}r=(r-r)/0;return+r}while(0);i=i+614242|0;e[n>>2]=a;e[n+4>>2]=(i&1048575)+1072079006;o=+f[n>>3]+-1;r=o*(o*.5);l=o/(o+2);u=l*l;t=u*u;f[n>>3]=o-r;a=e[n+4>>2]|0;e[n>>2]=0;e[n+4>>2]=a;c=+f[n>>3];r=l*(r+(t*(t*(t*.15313837699209373+.22222198432149784)+.3999999999940942)+u*(t*(t*(t*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(o-c-r);o=c*.4342944818781689;t=+(s+(i>>>20)|0);u=t*.30102999566361177;l=u+o;r=l+(o+(u-l)+(r*.4342944818781689+(t*3.694239077158931e-13+(c+r)*2.5082946711645275e-11)));return+r}function ji(i,t){i=+i;t=t|0;var r=0;if((t|0)>1023){i=i*8.98846567431158e307;r=t+-1023|0;if((r|0)>1023){r=t+-2046|0;r=(r|0)>1023?1023:r;i=i*8.98846567431158e307}}else if((t|0)<-1022){i=i*2.2250738585072014e-308;r=t+1022|0;if((r|0)<-1022){r=t+2044|0;r=(r|0)<-1022?-1022:r;i=i*2.2250738585072014e-308}}else r=t;t=Le(r+1023|0,0,52)|0;r=m;e[n>>2]=t;e[n+4>>2]=r;return+(i*+f[n>>3])}function yr(e,r){e=e|0;r=r|0;if(!e)e=0;else e=xi(e,r,0)|0;return e|0}function xi(r,t,n){r=r|0;t=t|0;n=n|0;if(!r){r=1;return r|0}if(t>>>0<128){i[r>>0]=t;r=1;return r|0}if(t>>>0<2048){i[r>>0]=t>>>6|192;i[r+1>>0]=t&63|128;r=2;return r|0}if(t>>>0<55296|(t&-8192|0)==57344){i[r>>0]=t>>>12|224;i[r+1>>0]=t>>>6&63|128;i[r+2>>0]=t&63|128;r=3;return r|0}if((t+-65536|0)>>>0<1048576){i[r>>0]=t>>>18|240;i[r+1>>0]=t>>>12&63|128;i[r+2>>0]=t>>>6&63|128;i[r+3>>0]=t&63|128;r=4;return r|0}else{e[(V()|0)>>2]=84;r=-1;return r|0}return 0}function Ci(t){t=t|0;var r=0,n=0;r=t+74|0;n=i[r>>0]|0;i[r>>0]=n+255|n;r=e[t>>2]|0;if(!(r&8)){e[t+8>>2]=0;e[t+4>>2]=0;r=e[t+44>>2]|0;e[t+28>>2]=r;e[t+20>>2]=r;e[t+16>>2]=r+(e[t+48>>2]|0);r=0;return r|0}else{e[t>>2]=r|32;r=-1;return r|0}return 0}function h(a,s,n){a=a|0;s=s|0;n=n|0;var t=0,r=0,o=0,f=0;t=n+16|0;r=e[t>>2]|0;do if(!r)if(!(Ci(n)|0)){r=e[t>>2]|0;break}else{t=0;return t|0}while(0);f=n+20|0;t=e[f>>2]|0;if((r-t|0)>>>0<s>>>0){t=y[e[n+36>>2]&3](n,a,s)|0;return t|0}e:do if((i[n+75>>0]|0)>-1){r=s;while(1){if(!r){o=s;r=0;break e}o=r+-1|0;if((i[a+o>>0]|0)==10)break;else r=o}if((y[e[n+36>>2]&3](n,a,r)|0)>>>0<r>>>0){t=r;return t|0}else{o=s-r|0;a=a+r|0;t=e[f>>2]|0;break}}else{o=s;r=0}while(0);l(t|0,a|0,o|0)|0;e[f>>2]=(e[f>>2]|0)+o;t=r+o|0;return t|0}function gr(i,r,n){i=i|0;r=r|0;n=n|0;var o=0,a=0;o=t;t=t+16|0;a=o;e[a>>2]=n;r=Di(i,r,a)|0;t=o;return r|0}function Li(r,s,o){r=r|0;s=s|0;o=o|0;var i=0,l=0,c=0,m=0,w=0,d=0,f=0,n=0,h=0,u=0,a=0;a=t;t=t+224|0;f=a+120|0;u=a+80|0;h=a;n=a+136|0;i=u;l=i+40|0;do{e[i>>2]=0;i=i+4|0}while((i|0)<(l|0));e[f>>2]=e[o>>2];if((qe(0,s,f,h,u)|0)<0){n=-1;t=a;return n|0}i=r+48|0;if(!(e[i>>2]|0)){c=r+44|0;m=e[c>>2]|0;e[c>>2]=n;w=r+28|0;e[w>>2]=n;d=r+20|0;e[d>>2]=n;e[i>>2]=80;l=r+16|0;e[l>>2]=n+80;o=qe(r,s,f,h,u)|0;if(m){y[e[r+36>>2]&3](r,0,0)|0;o=(e[d>>2]|0)==0?-1:o;e[c>>2]=m;e[i>>2]=0;e[l>>2]=0;e[w>>2]=0;e[d>>2]=0}}else o=qe(r,s,f,h,u)|0;n=o;t=a;return n|0}function Pi(o,r,u,c){o=o|0;r=r|0;u=u|0;c=c|0;var a=0,n=0,l=0,d=0,s=0,f=0;f=t;t=t+128|0;a=f+112|0;s=f;n=s;l=95808;d=n+112|0;do{e[n>>2]=e[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(d|0));if((r+-1|0)>>>0>2147483646)if(!r)r=1;else{e[(V()|0)>>2]=75;r=-1;t=f;return r|0}else a=o;n=-2-a|0;n=r>>>0>n>>>0?n:r;e[s+48>>2]=n;o=s+20|0;e[o>>2]=a;e[s+44>>2]=a;r=a+n|0;a=s+16|0;e[a>>2]=r;e[s+28>>2]=r;r=Li(s,u,c)|0;if(!n){t=f;return r|0}o=e[o>>2]|0;i[o+(((o|0)==(e[a>>2]|0))<<31>>31)>>0]=0;t=f;return r|0}function Di(e,r,i){e=e|0;r=r|0;i=i|0;return Pi(e,2147483647,r,i)|0}function Mi(t,o,r){t=t|0;o=o|0;r=r|0;var a=0,f=0,l=0,n=0;l=o&255;a=(r|0)!=0;e:do if(a&(t&3|0)!=0){f=o&255;while(1){if((i[t>>0]|0)==f<<24>>24){n=6;break e}t=t+1|0;r=r+-1|0;a=(r|0)!=0;if(!(a&(t&3|0)!=0)){n=5;break}}}else n=5;while(0);if((n|0)==5)if(a)n=6;else r=0;e:do if((n|0)==6){f=o&255;if((i[t>>0]|0)!=f<<24>>24){a=s(l,16843009)|0;r:do if(r>>>0>3)while(1){o=e[t>>2]^a;if((o&-2139062144^-2139062144)&o+-16843009)break;t=t+4|0;r=r+-4|0;if(r>>>0<=3){n=11;break r}}else n=11;while(0);if((n|0)==11)if(!r){r=0;break}while(1){if((i[t>>0]|0)==f<<24>>24)break e;t=t+1|0;r=r+-1|0;if(!r){r=0;break}}}}while(0);return((r|0)!=0?t:0)|0}function qe(y,r,O,Ae,_e){y=y|0;r=r|0;O=O|0;Ae=Ae|0;_e=_e|0;var Re=0,le=0,D=0,u=0,d=0,l=0,F=0,a=0,w=0,G=0,W=0,p=0,v=0,X=0,A=0,L=0,H=0,oe=0,P=0,B=0,N=0,b=0,j=0,me=0,J=0,Z=0,x=0,I=0,k=0,we=0,ee=0,he=0,Q=0,fe=0,de=0,He=0,ze=0,Ue=0,ce=0,$e=0,er=0,C=0,ie=0,ve=0,Fe=0,qe=0,re=0,Se=0,Me=0,Be=0,ge=0,tr=0,Ee=0,Te=0,lr=0,cr=0,Ke=0,ye=0,Qe=0,ir=0,Ze=0,dr=0,ur=0,$=0,nr=0,je=0,K=0,_=0,Ve=0,E=0,sr=0,ne=0,ue=0,Ie=0,hr=0,or=0,ke=0,De=0,pe=0,Oe=0,rr=0,q=0,fr=0,U=0,xe=0,ar=0,Je=0,Ye=0,Xe=0,M=0,Pe=0,ae=0,Ce=0,T=0,g=0,We=0,Ge=0,Y=0,z=0;z=t;t=t+864|0;rr=z+16|0;U=z+8|0;q=z+836|0;Ee=q;De=z+824|0;M=z+568|0;Ie=z+528|0;We=z;Je=z+520|0;Te=(y|0)!=0;K=Ie+40|0;sr=K;Ie=Ie+39|0;hr=We+4|0;or=We;ke=De+12|0;De=De+11|0;pe=ke;lr=pe-Ee|0;cr=-2-Ee|0;dr=pe+2|0;ur=rr+288|0;$=q+9|0;nr=$;je=q+8|0;b=0;B=0;a=0;d=0;G=0;e:while(1){do if((a|0)>-1)if((d|0)>(2147483647-a|0)){e[(V()|0)>>2]=75;C=-1;break}else{C=d+a|0;break}else C=a;while(0);d=i[r>>0]|0;if(!(d<<24>>24)){fr=C;ar=G;k=344;break}else u=r;while(1){if(d<<24>>24==37){Ve=u;Ge=u;k=9;break}else if(!(d<<24>>24)){Se=u;qe=u;break}N=u+1|0;d=i[N>>0]|0;u=N}r:do if((k|0)==9)while(1){k=0;if((i[Ve+1>>0]|0)!=37){Se=Ve;qe=Ge;break r}u=Ge+1|0;d=Ve+2|0;if((i[d>>0]|0)==37){Ve=d;Ge=u}else{Se=d;qe=u;break}}while(0);d=qe-r|0;if(Te)h(r,d,y)|0;if((qe|0)!=(r|0)){r=Se;a=C;continue}a=Se+1|0;l=i[a>>0]|0;u=(l<<24>>24)+-48|0;if(u>>>0<10){P=(i[Se+2>>0]|0)==36;a=P?Se+3|0:a;l=i[a>>0]|0;N=P?u:-1;G=P?1:G}else N=-1;u=l<<24>>24;r:do if((u&-32|0)==32){w=0;do{if(!(1<<u+-32&75913))break r;w=1<<(l<<24>>24)+-32|w;a=a+1|0;l=i[a>>0]|0;u=l<<24>>24}while((u&-32|0)==32)}else w=0;while(0);do if(l<<24>>24==42){u=a+1|0;l=(i[u>>0]|0)+-48|0;if(l>>>0<10?(i[a+2>>0]|0)==36:0){e[_e+(l<<2)>>2]=10;G=1;l=a+3|0;a=e[Ae+((i[u>>0]|0)+-48<<3)>>2]|0}else{if(G){Y=-1;k=363;break e}if(!Te){l=u;G=0;I=0;break}G=(e[O>>2]|0)+(4-1)&~(4-1);a=e[G>>2]|0;e[O>>2]=G+4;G=0;l=u}if((a|0)<0){w=w|8192;I=0-a|0}else I=a}else{u=(l<<24>>24)+-48|0;if(u>>>0<10){l=a;a=0;do{a=(a*10|0)+u|0;l=l+1|0;u=(i[l>>0]|0)+-48|0}while(u>>>0<10);if((a|0)<0){Y=-1;k=363;break e}else I=a}else{l=a;I=0}}while(0);r:do if((i[l>>0]|0)==46){a=l+1|0;u=i[a>>0]|0;if(u<<24>>24!=42){u=(u<<24>>24)+-48|0;if(u>>>0<10){l=a;a=0}else{l=a;A=0;break}while(1){a=(a*10|0)+u|0;l=l+1|0;u=(i[l>>0]|0)+-48|0;if(u>>>0>=10){A=a;break r}}}u=l+2|0;a=(i[u>>0]|0)+-48|0;if(a>>>0<10?(i[l+3>>0]|0)==36:0){e[_e+(a<<2)>>2]=10;l=l+4|0;A=e[Ae+((i[u>>0]|0)+-48<<3)>>2]|0;break}if(G){Y=-1;k=363;break e}if(Te){l=(e[O>>2]|0)+(4-1)&~(4-1);A=e[l>>2]|0;e[O>>2]=l+4;l=u}else{l=u;A=0}}else A=-1;while(0);v=0;while(1){a=(i[l>>0]|0)+-65|0;if(a>>>0>57){Y=-1;k=363;break e}W=l+1|0;a=i[95920+(v*58|0)+a>>0]|0;u=a&255;if((u+-1|0)>>>0<8){l=W;v=u}else{p=a;break}}if(!(p<<24>>24)){Y=-1;k=363;break}a=(N|0)>-1;r:do if(p<<24>>24==19)if(a){Y=-1;k=363;break e}else{Ke=b;ye=B;k=62}else{if(a){e[_e+(N<<2)>>2]=u;ye=Ae+(N<<3)|0;Ke=e[ye+4>>2]|0;ye=e[ye>>2]|0;k=62;break}if(!Te){Y=0;k=363;break e}if((p&255)>20){_=B;E=b}else do switch(u|0){case 10:{_=(e[O>>2]|0)+(4-1)&~(4-1);E=e[_>>2]|0;e[O>>2]=_+4;_=E;E=((E|0)<0)<<31>>31;break r}case 11:{E=(e[O>>2]|0)+(4-1)&~(4-1);_=e[E>>2]|0;e[O>>2]=E+4;E=0;break r}case 9:{E=(e[O>>2]|0)+(4-1)&~(4-1);_=e[E>>2]|0;e[O>>2]=E+4;E=b;break r}case 17:{_=(e[O>>2]|0)+(8-1)&~(8-1);F=+f[_>>3];e[O>>2]=_+8;f[n>>3]=F;_=e[n>>2]|0;E=e[n+4>>2]|0;break r}case 18:{_=(e[O>>2]|0)+(8-1)&~(8-1);F=+f[_>>3];e[O>>2]=_+8;f[n>>3]=F;_=e[n>>2]|0;E=e[n+4>>2]|0;break r}case 16:{E=(e[O>>2]|0)+(4-1)&~(4-1);_=e[E>>2]|0;e[O>>2]=E+4;_=_&255;E=0;break r}case 15:{_=(e[O>>2]|0)+(4-1)&~(4-1);E=e[_>>2]|0;e[O>>2]=_+4;_=E<<24>>24;E=(((E&255)<<24>>24|0)<0)<<31>>31;break r}case 12:{b=(e[O>>2]|0)+(8-1)&~(8-1);E=b;_=e[E>>2]|0;E=e[E+4>>2]|0;e[O>>2]=b+8;break r}case 13:{_=(e[O>>2]|0)+(4-1)&~(4-1);E=e[_>>2]|0;e[O>>2]=_+4;_=E<<16>>16;E=(((E&65535)<<16>>16|0)<0)<<31>>31;break r}case 14:{E=(e[O>>2]|0)+(4-1)&~(4-1);_=e[E>>2]|0;e[O>>2]=E+4;_=_&65535;E=0;break r}default:{_=B;E=b;break r}}while(0)}while(0);if((k|0)==62){k=0;if(Te){_=ye;E=Ke}else{b=Ke;B=ye;r=W;a=C;continue}}j=i[l>>0]|0;j=(v|0)!=0&(j&15|0)==3?j&-33:j;p=w&-65537;x=(w&8192|0)==0?w:p;r:do switch(j|0){case 111:{u=(_|0)==0&(E|0)==0;if(u)D=K;else{D=K;r=_;d=E;do{D=D+-1|0;i[D>>0]=r&7|48;r=be(r|0,d|0,3)|0;d=m}while(!((r|0)==0&(d|0)==0))}Q=(x&8|0)==0|u;fe=_;de=E;we=x;ee=A;he=Q&1^1;Q=Q?96400:96405;k=89;break}case 117:{ne=E;ue=_;Pe=0;ae=96400;k=84;break}case 99:{i[Ie>>0]=_;Me=E;Be=_;ge=Ie;le=p;ie=1;ve=0;Fe=96400;re=K;break}case 109:{Oe=ci(e[(V()|0)>>2]|0)|0;k=94;break}case 115:{Oe=(_|0)!=0?_:96416;k=94;break}case 105:case 100:{if((E|0)<0){ue=R(0,0,_|0,E|0)|0;ne=m;Pe=1;ae=96400;k=84;break r}if(!(x&2048)){ae=x&1;ne=E;ue=_;Pe=ae;ae=(ae|0)==0?96400:96402;k=84}else{ne=E;ue=_;Pe=1;ae=96401;k=84}break}case 67:{e[We>>2]=_;e[hr>>2]=0;Qe=We;ir=or;Xe=-1;k=97;break}case 83:{r=_;if(!A){$e=_;er=r;ce=0;k=102}else{Qe=r;ir=_;Xe=A;k=97}break}case 112:{xe=x|8;Ye=A>>>0>8?A:8;g=120;k=73;break}case 88:case 120:{xe=x;Ye=A;g=j;k=73;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{e[n>>2]=_;e[n+4>>2]=E;F=+f[n>>3];e[U>>2]=0;if((E|0)>=0)if(!(x&2048)){J=x&1;me=J;J=(J|0)==0?96425:96430}else{me=1;J=96427}else{F=-F;me=1;J=96424}f[n>>3]=F;b=e[n+4>>2]&2146435072;do if(b>>>0<2146435072|(b|0)==2146435072&0<0){X=+Xi(F,U)*2;a=X!=0;if(a)e[U>>2]=(e[U>>2]|0)+-1;b=j|32;if((b|0)==97){L=j&32;oe=(L|0)==0?J:J+9|0;P=me|2;a=12-A|0;do if(!(A>>>0>11|(a|0)==0)){F=8;do{a=a+-1|0;F=F*16}while((a|0)!=0);if((i[oe>>0]|0)==45){F=-(F+(-X-F));break}else{F=X+F-F;break}}else F=X;while(0);a=e[U>>2]|0;a=(a|0)<0?0-a|0:a;if((a|0)<0){l=ke;u=a;w=((a|0)<0)<<31>>31;while(1){a=te(u|0,w|0,10,0)|0;l=l+-1|0;i[l>>0]=a|48;a=se(u|0,w|0,10,0)|0;if(w>>>0>9|(w|0)==9&u>>>0>4294967295){u=a;w=m}else break}}else l=ke;if(a)while(1){l=l+-1|0;i[l>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}if((l|0)==(ke|0)){i[De>>0]=48;l=De}i[l+-1>>0]=(e[U>>2]>>31&2)+43;H=l+-2|0;i[H>>0]=j+15;if(!(x&8))if((A|0)<1){l=q;do{b=~~F;a=l+1|0;i[l>>0]=o[96384+b>>0]|L;F=(F-+(b|0))*16;if((a-Ee|0)!=1|F==0)l=a;else{i[a>>0]=46;l=l+2|0}}while(F!=0)}else{l=q;do{b=~~F;a=l+1|0;i[l>>0]=o[96384+b>>0]|L;F=(F-+(b|0))*16;if((a-Ee|0)==1){i[a>>0]=46;l=l+2|0}else l=a}while(F!=0)}else{l=q;do{b=~~F;a=l+1|0;i[l>>0]=o[96384+b>>0]|L;F=(F-+(b|0))*16;if((a-Ee|0)==1){i[a>>0]=46;l=l+2|0}else l=a}while(F!=0)}v=(A|0)!=0&(cr+l|0)<(A|0)?dr+A-H|0:lr-H+l|0;w=v+P|0;p=x&73728;u=(I|0)>(w|0);if((p|0)==0&u){a=I-w|0;c(M|0,32,(a>>>0>256?256:a)|0)|0;if(a>>>0>255){r=a;do{h(M,256,y)|0;r=r+-256|0}while(r>>>0>255);a=a&255}h(M,a,y)|0}h(oe,P,y)|0;if((p|0)==65536&u){r=I-w|0;c(M|0,48,(r>>>0>256?256:r)|0)|0;if(r>>>0>255){d=r;do{h(M,256,y)|0;d=d+-256|0}while(d>>>0>255);r=r&255}h(M,r,y)|0}l=l-Ee|0;h(q,l,y)|0;a=pe-H|0;l=v-a-l|0;if((l|0)>0){c(M|0,48,(l>>>0>256?256:l)|0)|0;if(l>>>0>255){r=l;do{h(M,256,y)|0;r=r+-256|0}while(r>>>0>255);l=l&255}h(M,l,y)|0}h(H,a,y)|0;if((p|0)==8192&u){r=I-w|0;c(M|0,32,(r>>>0>256?256:r)|0)|0;if(r>>>0>255){l=r;do{h(M,256,y)|0;l=l+-256|0}while(l>>>0>255);r=r&255}h(M,r,y)|0}d=u?I:w;break}l=(A|0)<0?6:A;if(a){a=(e[U>>2]|0)+-28|0;e[U>>2]=a;F=X*268435456}else{F=X;a=e[U>>2]|0}Z=(a|0)<0?rr:ur;B=Z;w=Z;do{N=~~F>>>0;e[w>>2]=N;w=w+4|0;F=(F-+(N>>>0))*1e9}while(F!=0);a=e[U>>2]|0;if((a|0)>0){r=a;a=Z;do{v=(r|0)>29?29:r;u=w+-4|0;do if(u>>>0>=a>>>0){r=0;do{N=Le(e[u>>2]|0,0,v|0)|0;N=Ne(N|0,m|0,r|0,0)|0;r=m;P=te(N|0,r|0,1e9,0)|0;e[u>>2]=P;r=se(N|0,r|0,1e9,0)|0;u=u+-4|0}while(u>>>0>=a>>>0);if(!r)break;a=a+-4|0;e[a>>2]=r}while(0);while(1){if(w>>>0<=a>>>0)break;r=w+-4|0;if(!(e[r>>2]|0))w=r;else break}r=(e[U>>2]|0)-v|0;e[U>>2]=r}while((r|0)>0)}else{r=a;a=Z}i:do if((r|0)<0){H=((l+25|0)/9|0)+1|0;if((b|0)!=102)while(1){r=0-r|0;r=(r|0)>9?9:r;do if(a>>>0<w>>>0){v=(1<<r)+-1|0;u=1e9>>>r;p=0;d=a;do{N=e[d>>2]|0;e[d>>2]=(N>>>r)+p;p=s(N&v,u)|0;d=d+4|0}while(d>>>0<w>>>0);a=(e[a>>2]|0)==0?a+4|0:a;if(!p)break;e[w>>2]=p;w=w+4|0}else a=(e[a>>2]|0)==0?a+4|0:a;while(0);w=(w-a>>2|0)>(H|0)?a+(H<<2)|0:w;r=(e[U>>2]|0)+r|0;e[U>>2]=r;if((r|0)>=0)break i}A=Z+(H<<2)|0;do{r=0-r|0;r=(r|0)>9?9:r;do if(a>>>0<w>>>0){v=(1<<r)+-1|0;u=1e9>>>r;p=0;d=a;do{N=e[d>>2]|0;e[d>>2]=(N>>>r)+p;p=s(N&v,u)|0;d=d+4|0}while(d>>>0<w>>>0);a=(e[a>>2]|0)==0?a+4|0:a;if(!p)break;e[w>>2]=p;w=w+4|0}else a=(e[a>>2]|0)==0?a+4|0:a;while(0);w=(w-B>>2|0)>(H|0)?A:w;r=(e[U>>2]|0)+r|0;e[U>>2]=r}while((r|0)<0)}while(0);do if(a>>>0<w>>>0){r=(B-a>>2)*9|0;u=e[a>>2]|0;if(u>>>0<10){L=r;break}else p=10;do{p=p*10|0;r=r+1|0}while(u>>>0>=p>>>0);L=r}else L=0;while(0);P=(b|0)==103;oe=(l|0)!=0;u=l-((b|0)!=102?L:0)+((oe&P)<<31>>31)|0;if((u|0)<(((w-B>>2)*9|0)+-9|0)){p=u+9216|0;A=(p|0)/9|0;r=Z+(A+-1023<<2)|0;p=((p|0)%9|0)+1|0;if((p|0)<9){v=10;do{v=v*10|0;p=p+1|0}while((p|0)!=9)}else v=10;u=e[r>>2]|0;d=(u>>>0)%(v>>>0)|0;if((d|0)==0?(Z+(A+-1022<<2)|0)==(w|0):0){Ue=a;ze=r;He=L}else k=221;do if((k|0)==221){k=0;X=(((u>>>0)/(v>>>0)|0)&1|0)==0?9007199254740992:9007199254740994;p=(v|0)/2|0;do if(d>>>0<p>>>0)F=.5;else{if((d|0)==(p|0)?(Z+(A+-1022<<2)|0)==(w|0):0){F=1;break}F=1.5}while(0);do if(me){if((i[J>>0]|0)!=45)break;X=-X;F=-F}while(0);p=u-d|0;e[r>>2]=p;if(!(X+F!=X)){Ue=a;ze=r;He=L;break}b=p+v|0;e[r>>2]=b;if(b>>>0>999999999)while(1){d=r+-4|0;e[r>>2]=0;if(d>>>0<a>>>0){a=a+-4|0;e[a>>2]=0}b=(e[d>>2]|0)+1|0;e[d>>2]=b;if(b>>>0>999999999)r=d;else{r=d;break}}d=(B-a>>2)*9|0;p=e[a>>2]|0;if(p>>>0<10){Ue=a;ze=r;He=d;break}else u=10;do{u=u*10|0;d=d+1|0}while(p>>>0>=u>>>0);Ue=a;ze=r;He=d}while(0);b=ze+4|0;a=Ue;L=He;w=w>>>0>b>>>0?b:w}A=0-L|0;while(1){if(w>>>0<=a>>>0){N=0;break}p=w+-4|0;if(!(e[p>>2]|0))w=p;else{N=1;break}}do if(P){l=(oe&1^1)+l|0;if((l|0)>(L|0)&(L|0)>-5){d=j+-1|0;l=l+-1-L|0}else{d=j+-2|0;l=l+-1|0}p=x&8;if(p){P=p;break}do if(N){v=e[w+-4>>2]|0;if(!v){p=9;break}if(!((v>>>0)%10|0)){u=10;p=0}else{p=0;break}do{u=u*10|0;p=p+1|0}while(((v>>>0)%(u>>>0)|0|0)==0)}else p=9;while(0);u=((w-B>>2)*9|0)+-9|0;if((d|32|0)==102){P=u-p|0;P=(P|0)<0?0:P;l=(l|0)<(P|0)?l:P;P=0;break}else{P=u+L-p|0;P=(P|0)<0?0:P;l=(l|0)<(P|0)?l:P;P=0;break}}else{d=j;P=x&8}while(0);B=l|P;H=(B|0)!=0&1;oe=(d|32|0)==102;if(oe){p=(L|0)>0?L:0;L=0}else{v=(L|0)<0?A:L;if((v|0)<0){p=ke;r=v;u=((v|0)<0)<<31>>31;while(1){v=te(r|0,u|0,10,0)|0;p=p+-1|0;i[p>>0]=v|48;v=se(r|0,u|0,10,0)|0;if(u>>>0>9|(u|0)==9&r>>>0>4294967295){r=v;u=m}else break}}else p=ke;if(v)while(1){p=p+-1|0;i[p>>0]=(v>>>0)%10|0|48;if(v>>>0<10)break;else v=(v>>>0)/10|0}if((pe-p|0)<2)do{p=p+-1|0;i[p>>0]=48}while((pe-p|0)<2);i[p+-1>>0]=(L>>31&2)+43;L=p+-2|0;i[L>>0]=d;p=pe-L|0}b=me+1+l+H+p|0;H=x&73728;A=(I|0)>(b|0);if((H|0)==0&A){p=I-b|0;c(M|0,32,(p>>>0>256?256:p)|0)|0;if(p>>>0>255){v=p;do{h(M,256,y)|0;v=v+-256|0}while(v>>>0>255);p=p&255}h(M,p,y)|0}h(J,me,y)|0;if((H|0)==65536&A){r=I-b|0;c(M|0,48,(r>>>0>256?256:r)|0)|0;if(r>>>0>255){u=r;do{h(M,256,y)|0;u=u+-256|0}while(u>>>0>255);r=r&255}h(M,r,y)|0}if(oe){v=a>>>0>Z>>>0?Z:a;r=v;do{d=e[r>>2]|0;if(!d)a=$;else{a=$;while(1){a=a+-1|0;i[a>>0]=(d>>>0)%10|0|48;if(d>>>0<10)break;else d=(d>>>0)/10|0}}do if((r|0)==(v|0)){if((a|0)!=($|0))break;i[je>>0]=48;a=je}else{if(a>>>0<=q>>>0)break;do{a=a+-1|0;i[a>>0]=48}while(a>>>0>q>>>0)}while(0);h(a,nr-a|0,y)|0;r=r+4|0}while(r>>>0<=Z>>>0);if(B)h(96480,1,y)|0;if((l|0)>0&r>>>0<w>>>0){u=r;do{a=e[u>>2]|0;if(a){r=$;while(1){r=r+-1|0;i[r>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}if(r>>>0>q>>>0){Ce=r;k=289}else tr=r}else{Ce=$;k=289}if((k|0)==289)while(1){k=0;r=Ce+-1|0;i[r>>0]=48;if(r>>>0>q>>>0)Ce=r;else{tr=r;break}}N=(l|0)>9;h(tr,N?9:l,y)|0;u=u+4|0;l=l+-9|0}while(N&u>>>0<w>>>0)}if((l|0)>0){c(M|0,48,(l>>>0>256?256:l)|0)|0;if(l>>>0>255){r=l;do{h(M,256,y)|0;r=r+-256|0}while(r>>>0>255);l=l&255}h(M,l,y)|0}}else{u=N?w:a+4|0;do if((l|0)>-1){p=(P|0)==0;v=a;do{w=e[v>>2]|0;if(w){r=$;d=w;while(1){w=r+-1|0;i[w>>0]=(d>>>0)%10|0|48;if(d>>>0<10)break;else{r=w;d=(d>>>0)/10|0}}if((w|0)!=($|0)){Ze=r;T=w}else k=303}else k=303;if((k|0)==303){k=0;i[je>>0]=48;Ze=$;T=je}do if((v|0)==(a|0)){h(T,1,y)|0;if(p&(l|0)<1){w=Ze;break}h(96480,1,y)|0;w=Ze}else{if(T>>>0>q>>>0)w=T;else{w=T;break}do{w=w+-1|0;i[w>>0]=48}while(w>>>0>q>>>0)}while(0);N=nr-w|0;h(w,(l|0)>(N|0)?N:l,y)|0;l=l-N|0;v=v+4|0}while(v>>>0<u>>>0&(l|0)>-1);if((l|0)<=0)break;c(M|0,48,(l>>>0>256?256:l)|0)|0;if(l>>>0>255){r=l;do{h(M,256,y)|0;r=r+-256|0}while(r>>>0>255);l=l&255}h(M,l,y)|0}while(0);h(L,pe-L|0,y)|0}if((H|0)==8192&A){r=I-b|0;c(M|0,32,(r>>>0>256?256:r)|0)|0;if(r>>>0>255){l=r;do{h(M,256,y)|0;l=l+-256|0}while(l>>>0>255);r=r&255}h(M,r,y)|0}d=A?I:b}else{d=(j&32|0)!=0;w=F!=F|0!=0;a=w?0:me;d=w?d?96464:96472:d?96448:96456;w=a+3|0;u=(I|0)>(w|0);if((x&8192|0)==0&u){l=I-w|0;c(M|0,32,(l>>>0>256?256:l)|0)|0;if(l>>>0>255){r=l;do{h(M,256,y)|0;r=r+-256|0}while(r>>>0>255);l=l&255}h(M,l,y)|0}h(J,a,y)|0;h(d,3,y)|0;if((x&73728|0)==8192&u){r=I-w|0;c(M|0,32,(r>>>0>256?256:r)|0)|0;if(r>>>0>255){l=r;do{h(M,256,y)|0;l=l+-256|0}while(l>>>0>255);r=r&255}h(M,r,y)|0}d=u?I:w}while(0);b=E;B=_;r=W;a=C;continue e}case 110:switch(v|0){case 0:{e[_>>2]=C;b=E;B=_;r=W;a=C;continue e}case 1:{e[_>>2]=C;b=E;B=_;r=W;a=C;continue e}case 2:{b=_;e[b>>2]=C;e[b+4>>2]=((C|0)<0)<<31>>31;b=E;B=_;r=W;a=C;continue e}case 3:{S[_>>1]=C;b=E;B=_;r=W;a=C;continue e}case 4:{i[_>>0]=C;b=E;B=_;r=W;a=C;continue e}case 6:{e[_>>2]=C;b=E;B=_;r=W;a=C;continue e}case 7:{b=_;e[b>>2]=C;e[b+4>>2]=((C|0)<0)<<31>>31;b=E;B=_;r=W;a=C;continue e}default:{b=E;B=_;r=W;a=C;continue e}}default:{Me=E;Be=_;ge=r;le=x;ie=A;ve=0;Fe=96400;re=K}}while(0);if((k|0)==73){D=g&32;if(!((_|0)==0&(E|0)==0)){u=K;d=_;r=E;do{u=u+-1|0;i[u>>0]=o[96384+(d&15)>>0]|D;d=be(d|0,r|0,4)|0;r=m}while(!((d|0)==0&(r|0)==0));if(!(xe&8)){fe=_;de=E;D=u;we=xe;ee=Ye;he=0;Q=96400;k=89}else{fe=_;de=E;D=u;we=xe;ee=Ye;he=2;Q=96400+(g>>4)|0;k=89}}else{fe=_;de=E;D=K;we=xe;ee=Ye;he=0;Q=96400;k=89}}else if((k|0)==84){if(ne>>>0>0|(ne|0)==0&ue>>>0>4294967295){D=K;r=ue;d=ne;while(1){u=te(r|0,d|0,10,0)|0;D=D+-1|0;i[D>>0]=u|48;u=se(r|0,d|0,10,0)|0;if(d>>>0>9|(d|0)==9&r>>>0>4294967295){r=u;d=m}else break}}else{D=K;u=ue}if(!u){fe=ue;de=ne;we=x;ee=A;he=Pe;Q=ae;k=89}else while(1){D=D+-1|0;i[D>>0]=(u>>>0)%10|0|48;if(u>>>0<10){fe=ue;de=ne;we=x;ee=A;he=Pe;Q=ae;k=89;break}else u=(u>>>0)/10|0}}else if((k|0)==94){k=0;re=Mi(Oe,0,A)|0;b=(re|0)==0;Me=E;Be=_;ge=Oe;le=p;ie=b?A:re-Oe|0;ve=0;Fe=96400;re=b?Oe+A|0:re}else if((k|0)==97){d=0;r=0;l=Qe;while(1){u=e[l>>2]|0;if(!u)break;r=yr(Je,u)|0;if((r|0)<0|r>>>0>(Xe-d|0)>>>0)break;d=r+d|0;if(Xe>>>0>d>>>0)l=l+4|0;else break}if((r|0)<0){Y=-1;k=363;break}else{$e=ir;er=Qe;ce=d;k=102}}if((k|0)==89){k=0;le=(ee|0)>-1?we&-65537:we;u=(fe|0)!=0|(de|0)!=0;if(u|(ee|0)!=0){ie=(u&1^1)+(sr-D)|0;Me=de;Be=fe;ge=D;ie=(ee|0)>(ie|0)?ee:ie;ve=he;Fe=Q;re=K}else{Me=de;Be=fe;ge=K;ie=0;ve=he;Fe=Q;re=K}}else if((k|0)==102){k=0;a=x&73728;v=(I|0)>(ce|0);if((a|0)==0&v){r=I-ce|0;c(M|0,32,(r>>>0>256?256:r)|0)|0;if(r>>>0>255){l=r;do{h(M,256,y)|0;l=l+-256|0}while(l>>>0>255);r=r&255}h(M,r,y)|0}r:do if(ce){r=0;d=er;while(1){l=e[d>>2]|0;if(!l)break r;l=yr(Je,l)|0;r=l+r|0;if((r|0)>(ce|0))break r;h(Je,l,y)|0;if(r>>>0>=ce>>>0)break;else d=d+4|0}}while(0);if((a|0)==8192&v){r=I-ce|0;c(M|0,32,(r>>>0>256?256:r)|0)|0;if(r>>>0>255){d=r;do{h(M,256,y)|0;d=d+-256|0}while(d>>>0>255);r=r&255}h(M,r,y)|0}b=E;B=$e;r=W;a=C;d=v?I:ce;continue}d=re-ge|0;w=(ie|0)<(d|0)?d:ie;a=ve+w|0;v=(I|0)<(a|0)?a:I;p=le&73728;u=(v|0)>(a|0);if((p|0)==0&u){l=v-a|0;c(M|0,32,(l>>>0>256?256:l)|0)|0;if(l>>>0>255){r=l;do{h(M,256,y)|0;r=r+-256|0}while(r>>>0>255);l=l&255}h(M,l,y)|0}h(Fe,ve,y)|0;if((p|0)==65536&u){l=v-a|0;c(M|0,48,(l>>>0>256?256:l)|0)|0;if(l>>>0>255){r=l;do{h(M,256,y)|0;r=r+-256|0}while(r>>>0>255);l=l&255}h(M,l,y)|0}if((w|0)>(d|0)){l=w-d|0;c(M|0,48,(l>>>0>256?256:l)|0)|0;if(l>>>0>255){r=l;do{h(M,256,y)|0;r=r+-256|0}while(r>>>0>255);l=l&255}h(M,l,y)|0}h(ge,d,y)|0;if((p|0)==8192&u){r=v-a|0;c(M|0,32,(r>>>0>256?256:r)|0)|0;if(r>>>0>255){d=r;do{h(M,256,y)|0;d=d+-256|0}while(d>>>0>255);r=r&255}h(M,r,y)|0}b=Me;B=Be;r=W;a=C;d=v}if((k|0)==344){if(y){g=fr;t=z;return g|0}if(!ar){g=0;t=z;return g|0}else u=1;while(1){le=e[_e+(u<<2)>>2]|0;if(!le){Re=u;break}D=Ae+(u<<3)|0;e:do if(le>>>0<=20)do switch(le|0){case 9:{T=(e[O>>2]|0)+(4-1)&~(4-1);g=e[T>>2]|0;e[O>>2]=T+4;e[D>>2]=g;break e}case 10:{g=(e[O>>2]|0)+(4-1)&~(4-1);T=e[g>>2]|0;e[O>>2]=g+4;g=D;e[g>>2]=T;e[g+4>>2]=((T|0)<0)<<31>>31;break e}case 11:{g=(e[O>>2]|0)+(4-1)&~(4-1);T=e[g>>2]|0;e[O>>2]=g+4;g=D;e[g>>2]=T;e[g+4>>2]=0;break e}case 12:{g=(e[O>>2]|0)+(8-1)&~(8-1);T=g;Ce=e[T>>2]|0;T=e[T+4>>2]|0;e[O>>2]=g+8;g=D;e[g>>2]=Ce;e[g+4>>2]=T;break e}case 13:{g=(e[O>>2]|0)+(4-1)&~(4-1);T=e[g>>2]|0;e[O>>2]=g+4;T=(T&65535)<<16>>16;g=D;e[g>>2]=T;e[g+4>>2]=((T|0)<0)<<31>>31;break e}case 14:{g=(e[O>>2]|0)+(4-1)&~(4-1);T=e[g>>2]|0;e[O>>2]=g+4;g=D;e[g>>2]=T&65535;e[g+4>>2]=0;break e}case 15:{g=(e[O>>2]|0)+(4-1)&~(4-1);T=e[g>>2]|0;e[O>>2]=g+4;T=(T&255)<<24>>24;g=D;e[g>>2]=T;e[g+4>>2]=((T|0)<0)<<31>>31;break e}case 16:{g=(e[O>>2]|0)+(4-1)&~(4-1);T=e[g>>2]|0;e[O>>2]=g+4;g=D;e[g>>2]=T&255;e[g+4>>2]=0;break e}case 17:{g=(e[O>>2]|0)+(8-1)&~(8-1);F=+f[g>>3];e[O>>2]=g+8;f[D>>3]=F;break e}case 18:{g=(e[O>>2]|0)+(8-1)&~(8-1);F=+f[g>>3];e[O>>2]=g+8;f[D>>3]=F;break e}default:break e}while(0);while(0);u=u+1|0;if((u|0)>=10){Y=1;k=363;break}}if((k|0)==363){t=z;return Y|0}if((Re|0)>=10){g=1;t=z;return g|0}while(1){if(e[_e+(Re<<2)>>2]|0){Y=-1;k=363;break}Re=Re+1|0;if((Re|0)>=10){Y=1;k=363;break}}if((k|0)==363){t=z;return Y|0}}else if((k|0)==363){t=z;return Y|0}return 0}function ki(r,n,i){r=r|0;n=n|0;i=i|0;var t=0,o=0;t=r+20|0;o=e[t>>2]|0;r=(e[r+16>>2]|0)-o|0;r=r>>>0>i>>>0?i:r;l(o|0,n|0,r|0)|0;e[t>>2]=(e[t>>2]|0)+r;return i|0}function W(n){n=n|0;var d=0,l=0,c=0,s=0,o=0,r=0,i=0,f=0,p=0,S=0,b=0,m=0,v=0,w=0,u=0,I=0,y=0,M=0,k=0,_=0,t=0,h=0,A=0,E=0,D=0,L=0,x=0,U=0,H=0,z=0,P=0,N=0,T=0,F=0,g=0,C=0,R=0,O=0;do if(n>>>0<245){u=n>>>0<11?16:n+11&-8;n=u>>>3;S=e[24122]|0;f=S>>>n;if(f&3){c=(f&1^1)+n|0;s=c<<1;d=96528+(s<<2)|0;s=96528+(s+2<<2)|0;o=e[s>>2]|0;r=o+8|0;i=e[r>>2]|0;do if((d|0)!=(i|0)){if(i>>>0<(e[24126]|0)>>>0)a();l=i+12|0;if((e[l>>2]|0)==(o|0)){e[l>>2]=d;e[s>>2]=i;break}else a()}else e[24122]=S&~(1<<c);while(0);t=c<<3;e[o+4>>2]=t|3;t=o+(t|4)|0;e[t>>2]=e[t>>2]|1;t=r;return t|0}d=e[24124]|0;if(u>>>0>d>>>0){if(f){s=2<<n;s=f<<n&(s|0-s);s=(s&0-s)+-1|0;n=s>>>12&16;s=s>>>n;c=s>>>5&8;s=s>>>c;l=s>>>2&4;s=s>>>l;o=s>>>1&2;s=s>>>o;r=s>>>1&1;r=(c|n|l|o|r)+(s>>>r)|0;s=r<<1;o=96528+(s<<2)|0;s=96528+(s+2<<2)|0;l=e[s>>2]|0;n=l+8|0;c=e[n>>2]|0;do if((o|0)!=(c|0)){if(c>>>0<(e[24126]|0)>>>0)a();i=c+12|0;if((e[i>>2]|0)==(l|0)){e[i>>2]=o;e[s>>2]=c;p=e[24124]|0;break}else a()}else{e[24122]=S&~(1<<r);p=d}while(0);t=r<<3;d=t-u|0;e[l+4>>2]=u|3;f=l+u|0;e[l+(u|4)>>2]=d|1;e[l+t>>2]=d;if(p){c=e[24127]|0;o=p>>>3;i=o<<1;s=96528+(i<<2)|0;r=e[24122]|0;o=1<<o;if(r&o){r=96528+(i+2<<2)|0;i=e[r>>2]|0;if(i>>>0<(e[24126]|0)>>>0)a();else{b=r;m=i}}else{e[24122]=r|o;b=96528+(i+2<<2)|0;m=s}e[b>>2]=c;e[m+12>>2]=c;e[c+8>>2]=m;e[c+12>>2]=s}e[24124]=d;e[24127]=f;t=n;return t|0}n=e[24123]|0;if(n){r=(n&0-n)+-1|0;_=r>>>12&16;r=r>>>_;k=r>>>5&8;r=r>>>k;t=r>>>2&4;r=r>>>t;i=r>>>1&2;r=r>>>i;o=r>>>1&1;o=e[96792+((k|_|t|i|o)+(r>>>o)<<2)>>2]|0;r=(e[o+4>>2]&-8)-u|0;i=o;while(1){l=e[i+16>>2]|0;if(!l){l=e[i+20>>2]|0;if(!l){S=r;p=o;break}}i=(e[l+4>>2]&-8)-u|0;t=i>>>0<r>>>0;r=t?i:r;i=l;o=t?l:o}n=e[24126]|0;if(p>>>0<n>>>0)a();d=p+u|0;if(p>>>0>=d>>>0)a();f=e[p+24>>2]|0;o=e[p+12>>2]|0;do if((o|0)==(p|0)){r=p+20|0;i=e[r>>2]|0;if(!i){r=p+16|0;i=e[r>>2]|0;if(!i){c=0;break}}while(1){o=i+20|0;s=e[o>>2]|0;if(s){i=s;r=o;continue}o=i+16|0;s=e[o>>2]|0;if(!s)break;else{i=s;r=o}}if(r>>>0<n>>>0)a();else{e[r>>2]=0;c=i;break}}else{s=e[p+8>>2]|0;if(s>>>0<n>>>0)a();i=s+12|0;if((e[i>>2]|0)!=(p|0))a();r=o+8|0;if((e[r>>2]|0)==(p|0)){e[i>>2]=o;e[r>>2]=s;c=o;break}else a()}while(0);do if(f){i=e[p+28>>2]|0;r=96792+(i<<2)|0;if((p|0)==(e[r>>2]|0)){e[r>>2]=c;if(!c){e[24123]=e[24123]&~(1<<i);break}}else{if(f>>>0<(e[24126]|0)>>>0)a();i=f+16|0;if((e[i>>2]|0)==(p|0))e[i>>2]=c;else e[f+20>>2]=c;if(!c)break}r=e[24126]|0;if(c>>>0<r>>>0)a();e[c+24>>2]=f;i=e[p+16>>2]|0;do if(i)if(i>>>0<r>>>0)a();else{e[c+16>>2]=i;e[i+24>>2]=c;break}while(0);i=e[p+20>>2]|0;if(i)if(i>>>0<(e[24126]|0)>>>0)a();else{e[c+20>>2]=i;e[i+24>>2]=c;break}}while(0);if(S>>>0<16){t=S+u|0;e[p+4>>2]=t|3;t=p+(t+4)|0;e[t>>2]=e[t>>2]|1}else{e[p+4>>2]=u|3;e[p+(u|4)>>2]=S|1;e[p+(S+u)>>2]=S;l=e[24124]|0;if(l){c=e[24127]|0;o=l>>>3;i=o<<1;s=96528+(i<<2)|0;r=e[24122]|0;o=1<<o;if(r&o){i=96528+(i+2<<2)|0;r=e[i>>2]|0;if(r>>>0<(e[24126]|0)>>>0)a();else{w=i;v=r}}else{e[24122]=r|o;w=96528+(i+2<<2)|0;v=s}e[w>>2]=c;e[v+12>>2]=c;e[c+8>>2]=v;e[c+12>>2]=s}e[24124]=S;e[24127]=d}t=p+8|0;return t|0}else E=u}else E=u}else if(n>>>0<=4294967231){n=n+11|0;w=n&-8;p=e[24123]|0;if(p){f=0-w|0;n=n>>>8;if(n)if(w>>>0>16777215)S=31;else{u=(n+1048320|0)>>>16&8;t=n<<u;v=(t+520192|0)>>>16&4;t=t<<v;S=(t+245760|0)>>>16&2;S=14-(v|u|S)+(t<<S>>>15)|0;S=w>>>(S+7|0)&1|S<<1}else S=0;n=e[96792+(S<<2)>>2]|0;e:do if(!n){r=0;n=0;t=86}else{c=f;r=0;l=w<<((S|0)==31?0:25-(S>>>1)|0);d=n;n=0;while(1){o=e[d+4>>2]&-8;f=o-w|0;if(f>>>0<c>>>0)if((o|0)==(w|0)){o=d;n=d;t=90;break e}else n=d;else f=c;t=e[d+20>>2]|0;d=e[d+16+(l>>>31<<2)>>2]|0;r=(t|0)==0|(t|0)==(d|0)?r:t;if(!d){t=86;break}else{c=f;l=l<<1}}}while(0);if((t|0)==86){if((r|0)==0&(n|0)==0){n=2<<S;n=p&(n|0-n);if(!n){E=w;break}n=(n&0-n)+-1|0;m=n>>>12&16;n=n>>>m;b=n>>>5&8;n=n>>>b;v=n>>>2&4;n=n>>>v;u=n>>>1&2;n=n>>>u;r=n>>>1&1;r=e[96792+((b|m|v|u|r)+(n>>>r)<<2)>>2]|0;n=0}if(!r){m=f;u=n}else{o=r;t=90}}if((t|0)==90)while(1){t=0;u=(e[o+4>>2]&-8)-w|0;r=u>>>0<f>>>0;f=r?u:f;n=r?o:n;r=e[o+16>>2]|0;if(r){o=r;t=90;continue}o=e[o+20>>2]|0;if(!o){m=f;u=n;break}else t=90}if((u|0)!=0?m>>>0<((e[24124]|0)-w|0)>>>0:0){n=e[24126]|0;if(u>>>0<n>>>0)a();b=u+w|0;if(u>>>0>=b>>>0)a();f=e[u+24>>2]|0;o=e[u+12>>2]|0;do if((o|0)==(u|0)){r=u+20|0;i=e[r>>2]|0;if(!i){r=u+16|0;i=e[r>>2]|0;if(!i){y=0;break}}while(1){o=i+20|0;s=e[o>>2]|0;if(s){i=s;r=o;continue}o=i+16|0;s=e[o>>2]|0;if(!s)break;else{i=s;r=o}}if(r>>>0<n>>>0)a();else{e[r>>2]=0;y=i;break}}else{s=e[u+8>>2]|0;if(s>>>0<n>>>0)a();i=s+12|0;if((e[i>>2]|0)!=(u|0))a();r=o+8|0;if((e[r>>2]|0)==(u|0)){e[i>>2]=o;e[r>>2]=s;y=o;break}else a()}while(0);do if(f){i=e[u+28>>2]|0;r=96792+(i<<2)|0;if((u|0)==(e[r>>2]|0)){e[r>>2]=y;if(!y){e[24123]=e[24123]&~(1<<i);break}}else{if(f>>>0<(e[24126]|0)>>>0)a();i=f+16|0;if((e[i>>2]|0)==(u|0))e[i>>2]=y;else e[f+20>>2]=y;if(!y)break}r=e[24126]|0;if(y>>>0<r>>>0)a();e[y+24>>2]=f;i=e[u+16>>2]|0;do if(i)if(i>>>0<r>>>0)a();else{e[y+16>>2]=i;e[i+24>>2]=y;break}while(0);i=e[u+20>>2]|0;if(i)if(i>>>0<(e[24126]|0)>>>0)a();else{e[y+20>>2]=i;e[i+24>>2]=y;break}}while(0);e:do if(m>>>0>=16){e[u+4>>2]=w|3;e[u+(w|4)>>2]=m|1;e[u+(m+w)>>2]=m;i=m>>>3;if(m>>>0<256){r=i<<1;s=96528+(r<<2)|0;o=e[24122]|0;i=1<<i;if(o&i){i=96528+(r+2<<2)|0;r=e[i>>2]|0;if(r>>>0<(e[24126]|0)>>>0)a();else{M=i;k=r}}else{e[24122]=o|i;M=96528+(r+2<<2)|0;k=s}e[M>>2]=b;e[k+12>>2]=b;e[u+(w+8)>>2]=k;e[u+(w+12)>>2]=s;break}l=m>>>8;if(l)if(m>>>0>16777215)s=31;else{_=(l+1048320|0)>>>16&8;t=l<<_;k=(t+520192|0)>>>16&4;t=t<<k;s=(t+245760|0)>>>16&2;s=14-(k|_|s)+(t<<s>>>15)|0;s=m>>>(s+7|0)&1|s<<1}else s=0;i=96792+(s<<2)|0;e[u+(w+28)>>2]=s;e[u+(w+20)>>2]=0;e[u+(w+16)>>2]=0;r=e[24123]|0;o=1<<s;if(!(r&o)){e[24123]=r|o;e[i>>2]=b;e[u+(w+24)>>2]=i;e[u+(w+12)>>2]=b;e[u+(w+8)>>2]=b;break}l=e[i>>2]|0;r:do if((e[l+4>>2]&-8|0)!=(m|0)){r=m<<((s|0)==31?0:25-(s>>>1)|0);while(1){d=l+16+(r>>>31<<2)|0;i=e[d>>2]|0;if(!i)break;if((e[i+4>>2]&-8|0)==(m|0)){E=i;break r}else{r=r<<1;l=i}}if(d>>>0<(e[24126]|0)>>>0)a();else{e[d>>2]=b;e[u+(w+24)>>2]=l;e[u+(w+12)>>2]=b;e[u+(w+8)>>2]=b;break e}}else E=l;while(0);l=E+8|0;d=e[l>>2]|0;t=e[24126]|0;if(d>>>0>=t>>>0&E>>>0>=t>>>0){e[d+12>>2]=b;e[l>>2]=b;e[u+(w+8)>>2]=d;e[u+(w+12)>>2]=E;e[u+(w+24)>>2]=0;break}else a()}else{t=m+w|0;e[u+4>>2]=t|3;t=u+(t+4)|0;e[t>>2]=e[t>>2]|1}while(0);t=u+8|0;return t|0}else E=w}else E=w}else E=-1;while(0);n=e[24124]|0;if(n>>>0>=E>>>0){d=n-E|0;l=e[24127]|0;if(d>>>0>15){e[24127]=l+E;e[24124]=d;e[l+(E+4)>>2]=d|1;e[l+n>>2]=d;e[l+4>>2]=E|3}else{e[24124]=0;e[24127]=0;e[l+4>>2]=n|3;t=l+(n+4)|0;e[t>>2]=e[t>>2]|1}t=l+8|0;return t|0}n=e[24125]|0;if(n>>>0>E>>>0){_=n-E|0;e[24125]=_;t=e[24128]|0;e[24128]=t+E;e[t+(E+4)>>2]=_|1;e[t+4>>2]=E|3;t=t+8|0;return t|0}do if(!(e[24240]|0)){n=Bi(30)|0;if(!(n+-1&n)){e[24242]=n;e[24241]=n;e[24243]=-1;e[24244]=-1;e[24245]=0;e[24233]=0;e[24240]=(mi(0)|0)&-16^1431655768;break}else a()}while(0);S=E+48|0;l=e[24242]|0;d=E+47|0;c=l+d|0;l=0-l|0;b=c&l;if(b>>>0<=E>>>0){t=0;return t|0}n=e[24232]|0;if((n|0)!=0?(M=e[24230]|0,k=M+b|0,k>>>0<=M>>>0|k>>>0>n>>>0):0){t=0;return t|0}e:do if(!(e[24233]&4)){n=e[24128]|0;r:do if(n){r=96936;while(1){f=e[r>>2]|0;if(f>>>0<=n>>>0?(I=r+4|0,(f+(e[I>>2]|0)|0)>>>0>n>>>0):0){o=r;n=I;break}r=e[r+8>>2]|0;if(!r){t=174;break r}}f=c-(e[24125]|0)&l;if(f>>>0<2147483647){r=B(f|0)|0;k=(r|0)==((e[o>>2]|0)+(e[n>>2]|0)|0);n=k?f:0;if(k){if((r|0)!=(-1|0)){h=r;t=194;break e}}else t=184}else n=0}else t=174;while(0);do if((t|0)==174){o=B(0)|0;if((o|0)!=(-1|0)){n=o;f=e[24241]|0;r=f+-1|0;if(!(r&n))f=b;else f=b-n+(r+n&0-f)|0;n=e[24230]|0;r=n+f|0;if(f>>>0>E>>>0&f>>>0<2147483647){k=e[24232]|0;if((k|0)!=0?r>>>0<=n>>>0|r>>>0>k>>>0:0){n=0;break}r=B(f|0)|0;t=(r|0)==(o|0);n=t?f:0;if(t){h=o;t=194;break e}else t=184}else n=0}else n=0}while(0);r:do if((t|0)==184){o=0-f|0;do if(S>>>0>f>>>0&(f>>>0<2147483647&(r|0)!=(-1|0))?(_=e[24242]|0,_=d-f+_&0-_,_>>>0<2147483647):0)if((B(_|0)|0)==(-1|0)){B(o|0)|0;break r}else{f=_+f|0;break}while(0);if((r|0)!=(-1|0)){h=r;n=f;t=194;break e}}while(0);e[24233]=e[24233]|4;t=191}else{n=0;t=191}while(0);if((((t|0)==191?b>>>0<2147483647:0)?(h=B(b|0)|0,A=B(0)|0,h>>>0<A>>>0&((h|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(D=A-h|0,L=D>>>0>(E+40|0)>>>0,L):0){n=L?D:n;t=194}if((t|0)==194){f=(e[24230]|0)+n|0;e[24230]=f;if(f>>>0>(e[24231]|0)>>>0)e[24231]=f;m=e[24128]|0;e:do if(m){c=96936;do{f=e[c>>2]|0;r=c+4|0;o=e[r>>2]|0;if((h|0)==(f+o|0)){x=f;U=r;H=o;z=c;t=204;break}c=e[c+8>>2]|0}while((c|0)!=0);if(((t|0)==204?(e[z+12>>2]&8|0)==0:0)?m>>>0<h>>>0&m>>>0>=x>>>0:0){e[U>>2]=H+n;t=(e[24125]|0)+n|0;_=m+8|0;_=(_&7|0)==0?0:0-_&7;k=t-_|0;e[24128]=m+_;e[24125]=k;e[m+(_+4)>>2]=k|1;e[m+(t+4)>>2]=40;e[24129]=e[24244];break}f=e[24126]|0;if(h>>>0<f>>>0){e[24126]=h;f=h}r=h+n|0;c=96936;while(1){if((e[c>>2]|0)==(r|0)){o=c;r=c;t=212;break}c=e[c+8>>2]|0;if(!c){o=96936;break}}if((t|0)==212)if(!(e[r+12>>2]&8)){e[o>>2]=h;w=r+4|0;e[w>>2]=(e[w>>2]|0)+n;w=h+8|0;w=(w&7|0)==0?0:0-w&7;p=h+(n+8)|0;p=(p&7|0)==0?0:0-p&7;i=h+(p+n)|0;v=w+E|0;u=h+v|0;b=i-(h+w)-E|0;e[h+(w+4)>>2]=E|3;r:do if((i|0)!=(m|0)){if((i|0)==(e[24127]|0)){t=(e[24124]|0)+b|0;e[24124]=t;e[24127]=u;e[h+(v+4)>>2]=t|1;e[h+(t+v)>>2]=t;break}S=n+4|0;r=e[h+(S+p)>>2]|0;if((r&3|0)==1){d=r&-8;c=r>>>3;i:do if(r>>>0>=256){l=e[h+((p|24)+n)>>2]|0;o=e[h+(n+12+p)>>2]|0;do if((o|0)==(i|0)){s=p|16;o=h+(S+s)|0;r=e[o>>2]|0;if(!r){o=h+(s+n)|0;r=e[o>>2]|0;if(!r){g=0;break}}while(1){s=r+20|0;c=e[s>>2]|0;if(c){r=c;o=s;continue}s=r+16|0;c=e[s>>2]|0;if(!c)break;else{r=c;o=s}}if(o>>>0<f>>>0)a();else{e[o>>2]=0;g=r;break}}else{s=e[h+((p|8)+n)>>2]|0;if(s>>>0<f>>>0)a();f=s+12|0;if((e[f>>2]|0)!=(i|0))a();r=o+8|0;if((e[r>>2]|0)==(i|0)){e[f>>2]=o;e[r>>2]=s;g=o;break}else a()}while(0);if(!l)break;f=e[h+(n+28+p)>>2]|0;r=96792+(f<<2)|0;do if((i|0)!=(e[r>>2]|0)){if(l>>>0<(e[24126]|0)>>>0)a();f=l+16|0;if((e[f>>2]|0)==(i|0))e[f>>2]=g;else e[l+20>>2]=g;if(!g)break i}else{e[r>>2]=g;if(g)break;e[24123]=e[24123]&~(1<<f);break i}while(0);r=e[24126]|0;if(g>>>0<r>>>0)a();e[g+24>>2]=l;f=p|16;i=e[h+(f+n)>>2]|0;do if(i)if(i>>>0<r>>>0)a();else{e[g+16>>2]=i;e[i+24>>2]=g;break}while(0);i=e[h+(S+f)>>2]|0;if(!i)break;if(i>>>0<(e[24126]|0)>>>0)a();else{e[g+20>>2]=i;e[i+24>>2]=g;break}}else{o=e[h+((p|8)+n)>>2]|0;s=e[h+(n+12+p)>>2]|0;r=96528+(c<<1<<2)|0;do if((o|0)!=(r|0)){if(o>>>0<f>>>0)a();if((e[o+12>>2]|0)==(i|0))break;a()}while(0);if((s|0)==(o|0)){e[24122]=e[24122]&~(1<<c);break}do if((s|0)==(r|0))P=s+8|0;else{if(s>>>0<f>>>0)a();f=s+8|0;if((e[f>>2]|0)==(i|0)){P=f;break;
- }a()}while(0);e[o+12>>2]=s;e[P>>2]=o}while(0);i=h+((d|p)+n)|0;f=d+b|0}else f=b;i=i+4|0;e[i>>2]=e[i>>2]&-2;e[h+(v+4)>>2]=f|1;e[h+(f+v)>>2]=f;i=f>>>3;if(f>>>0<256){r=i<<1;s=96528+(r<<2)|0;o=e[24122]|0;i=1<<i;do if(!(o&i)){e[24122]=o|i;C=96528+(r+2<<2)|0;R=s}else{i=96528+(r+2<<2)|0;r=e[i>>2]|0;if(r>>>0>=(e[24126]|0)>>>0){C=i;R=r;break}a()}while(0);e[C>>2]=u;e[R+12>>2]=u;e[h+(v+8)>>2]=R;e[h+(v+12)>>2]=s;break}l=f>>>8;do if(!l)s=0;else{if(f>>>0>16777215){s=31;break}_=(l+1048320|0)>>>16&8;t=l<<_;k=(t+520192|0)>>>16&4;t=t<<k;s=(t+245760|0)>>>16&2;s=14-(k|_|s)+(t<<s>>>15)|0;s=f>>>(s+7|0)&1|s<<1}while(0);i=96792+(s<<2)|0;e[h+(v+28)>>2]=s;e[h+(v+20)>>2]=0;e[h+(v+16)>>2]=0;r=e[24123]|0;o=1<<s;if(!(r&o)){e[24123]=r|o;e[i>>2]=u;e[h+(v+24)>>2]=i;e[h+(v+12)>>2]=u;e[h+(v+8)>>2]=u;break}l=e[i>>2]|0;i:do if((e[l+4>>2]&-8|0)!=(f|0)){r=f<<((s|0)==31?0:25-(s>>>1)|0);while(1){d=l+16+(r>>>31<<2)|0;i=e[d>>2]|0;if(!i)break;if((e[i+4>>2]&-8|0)==(f|0)){O=i;break i}else{r=r<<1;l=i}}if(d>>>0<(e[24126]|0)>>>0)a();else{e[d>>2]=u;e[h+(v+24)>>2]=l;e[h+(v+12)>>2]=u;e[h+(v+8)>>2]=u;break r}}else O=l;while(0);l=O+8|0;d=e[l>>2]|0;t=e[24126]|0;if(d>>>0>=t>>>0&O>>>0>=t>>>0){e[d+12>>2]=u;e[l>>2]=u;e[h+(v+8)>>2]=d;e[h+(v+12)>>2]=O;e[h+(v+24)>>2]=0;break}else a()}else{t=(e[24125]|0)+b|0;e[24125]=t;e[24128]=u;e[h+(v+4)>>2]=t|1}while(0);t=h+(w|8)|0;return t|0}else o=96936;while(1){r=e[o>>2]|0;if(r>>>0<=m>>>0?(i=e[o+4>>2]|0,s=r+i|0,s>>>0>m>>>0):0)break;o=e[o+8>>2]|0}f=r+(i+-39)|0;r=r+(i+-47+((f&7|0)==0?0:0-f&7))|0;f=m+16|0;r=r>>>0<f>>>0?m:r;i=r+8|0;o=h+8|0;o=(o&7|0)==0?0:0-o&7;t=n+-40-o|0;e[24128]=h+o;e[24125]=t;e[h+(o+4)>>2]=t|1;e[h+(n+-36)>>2]=40;e[24129]=e[24244];o=r+4|0;e[o>>2]=27;e[i>>2]=e[24234];e[i+4>>2]=e[24235];e[i+8>>2]=e[24236];e[i+12>>2]=e[24237];e[24234]=h;e[24235]=n;e[24237]=0;e[24236]=i;i=r+28|0;e[i>>2]=7;if((r+32|0)>>>0<s>>>0)do{t=i;i=i+4|0;e[i>>2]=7}while((t+8|0)>>>0<s>>>0);if((r|0)!=(m|0)){s=r-m|0;e[o>>2]=e[o>>2]&-2;e[m+4>>2]=s|1;e[r>>2]=s;i=s>>>3;if(s>>>0<256){r=i<<1;s=96528+(r<<2)|0;o=e[24122]|0;i=1<<i;if(o&i){l=96528+(r+2<<2)|0;d=e[l>>2]|0;if(d>>>0<(e[24126]|0)>>>0)a();else{N=l;T=d}}else{e[24122]=o|i;N=96528+(r+2<<2)|0;T=s}e[N>>2]=m;e[T+12>>2]=m;e[m+8>>2]=T;e[m+12>>2]=s;break}l=s>>>8;if(l)if(s>>>0>16777215)r=31;else{_=(l+1048320|0)>>>16&8;t=l<<_;k=(t+520192|0)>>>16&4;t=t<<k;r=(t+245760|0)>>>16&2;r=14-(k|_|r)+(t<<r>>>15)|0;r=s>>>(r+7|0)&1|r<<1}else r=0;i=96792+(r<<2)|0;e[m+28>>2]=r;e[m+20>>2]=0;e[f>>2]=0;l=e[24123]|0;d=1<<r;if(!(l&d)){e[24123]=l|d;e[i>>2]=m;e[m+24>>2]=i;e[m+12>>2]=m;e[m+8>>2]=m;break}l=e[i>>2]|0;r:do if((e[l+4>>2]&-8|0)!=(s|0)){i=s<<((r|0)==31?0:25-(r>>>1)|0);while(1){d=l+16+(i>>>31<<2)|0;c=e[d>>2]|0;if(!c)break;if((e[c+4>>2]&-8|0)==(s|0)){F=c;break r}else{i=i<<1;l=c}}if(d>>>0<(e[24126]|0)>>>0)a();else{e[d>>2]=m;e[m+24>>2]=l;e[m+12>>2]=m;e[m+8>>2]=m;break e}}else F=l;while(0);l=F+8|0;d=e[l>>2]|0;t=e[24126]|0;if(d>>>0>=t>>>0&F>>>0>=t>>>0){e[d+12>>2]=m;e[l>>2]=m;e[m+8>>2]=d;e[m+12>>2]=F;e[m+24>>2]=0;break}else a()}}else{t=e[24126]|0;if((t|0)==0|h>>>0<t>>>0)e[24126]=h;e[24234]=h;e[24235]=n;e[24237]=0;e[24131]=e[24240];e[24130]=-1;l=0;do{t=l<<1;_=96528+(t<<2)|0;e[96528+(t+3<<2)>>2]=_;e[96528+(t+2<<2)>>2]=_;l=l+1|0}while((l|0)!=32);t=h+8|0;t=(t&7|0)==0?0:0-t&7;_=n+-40-t|0;e[24128]=h+t;e[24125]=_;e[h+(t+4)>>2]=_|1;e[h+(n+-36)>>2]=40;e[24129]=e[24244]}while(0);d=e[24125]|0;if(d>>>0>E>>>0){_=d-E|0;e[24125]=_;t=e[24128]|0;e[24128]=t+E;e[t+(E+4)>>2]=_|1;e[t+4>>2]=E|3;t=t+8|0;return t|0}}e[(V()|0)>>2]=12;t=0;return t|0}function _(l){l=l|0;var s=0,t=0,n=0,i=0,r=0,m=0,w=0,c=0,u=0,f=0,p=0,S=0,d=0,h=0,_=0,b=0,v=0,E=0,o=0;if(!l)return;r=l+-8|0;m=e[24126]|0;if(r>>>0<m>>>0)a();i=e[l+-4>>2]|0;n=i&3;if((n|0)==1)a();d=i&-8;_=l+(d+-8)|0;do if(!(i&1)){r=e[r>>2]|0;if(!n)return;w=-8-r|0;f=l+w|0;p=r+d|0;if(f>>>0<m>>>0)a();if((f|0)==(e[24127]|0)){r=l+(d+-4)|0;i=e[r>>2]|0;if((i&3|0)!=3){o=f;u=p;break}e[24124]=p;e[r>>2]=i&-2;e[l+(w+4)>>2]=p|1;e[_>>2]=p;return}t=r>>>3;if(r>>>0<256){n=e[l+(w+8)>>2]|0;i=e[l+(w+12)>>2]|0;r=96528+(t<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0<m>>>0)a();if((e[n+12>>2]|0)!=(f|0))a()}if((i|0)==(n|0)){e[24122]=e[24122]&~(1<<t);o=f;u=p;break}if((i|0)!=(r|0)){if(i>>>0<m>>>0)a();r=i+8|0;if((e[r>>2]|0)==(f|0))s=r;else a()}else s=i+8|0;e[n+12>>2]=i;e[s>>2]=n;o=f;u=p;break}s=e[l+(w+24)>>2]|0;n=e[l+(w+12)>>2]|0;do if((n|0)==(f|0)){i=l+(w+20)|0;r=e[i>>2]|0;if(!r){i=l+(w+16)|0;r=e[i>>2]|0;if(!r){c=0;break}}while(1){n=r+20|0;t=e[n>>2]|0;if(t){r=t;i=n;continue}n=r+16|0;t=e[n>>2]|0;if(!t)break;else{r=t;i=n}}if(i>>>0<m>>>0)a();else{e[i>>2]=0;c=r;break}}else{t=e[l+(w+8)>>2]|0;if(t>>>0<m>>>0)a();r=t+12|0;if((e[r>>2]|0)!=(f|0))a();i=n+8|0;if((e[i>>2]|0)==(f|0)){e[r>>2]=n;e[i>>2]=t;c=n;break}else a()}while(0);if(s){r=e[l+(w+28)>>2]|0;i=96792+(r<<2)|0;if((f|0)==(e[i>>2]|0)){e[i>>2]=c;if(!c){e[24123]=e[24123]&~(1<<r);o=f;u=p;break}}else{if(s>>>0<(e[24126]|0)>>>0)a();r=s+16|0;if((e[r>>2]|0)==(f|0))e[r>>2]=c;else e[s+20>>2]=c;if(!c){o=f;u=p;break}}i=e[24126]|0;if(c>>>0<i>>>0)a();e[c+24>>2]=s;r=e[l+(w+16)>>2]|0;do if(r)if(r>>>0<i>>>0)a();else{e[c+16>>2]=r;e[r+24>>2]=c;break}while(0);r=e[l+(w+20)>>2]|0;if(r)if(r>>>0<(e[24126]|0)>>>0)a();else{e[c+20>>2]=r;e[r+24>>2]=c;o=f;u=p;break}else{o=f;u=p}}else{o=f;u=p}}else{o=r;u=d}while(0);if(o>>>0>=_>>>0)a();r=l+(d+-4)|0;i=e[r>>2]|0;if(!(i&1))a();if(!(i&2)){if((_|0)==(e[24128]|0)){f=(e[24125]|0)+u|0;e[24125]=f;e[24128]=o;e[o+4>>2]=f|1;if((o|0)!=(e[24127]|0))return;e[24127]=0;e[24124]=0;return}if((_|0)==(e[24127]|0)){f=(e[24124]|0)+u|0;e[24124]=f;e[24127]=o;e[o+4>>2]=f|1;e[o+f>>2]=f;return}m=(i&-8)+u|0;s=i>>>3;do if(i>>>0>=256){s=e[l+(d+16)>>2]|0;r=e[l+(d|4)>>2]|0;do if((r|0)==(_|0)){i=l+(d+12)|0;r=e[i>>2]|0;if(!r){i=l+(d+8)|0;r=e[i>>2]|0;if(!r){h=0;break}}while(1){n=r+20|0;t=e[n>>2]|0;if(t){r=t;i=n;continue}n=r+16|0;t=e[n>>2]|0;if(!t)break;else{r=t;i=n}}if(i>>>0<(e[24126]|0)>>>0)a();else{e[i>>2]=0;h=r;break}}else{i=e[l+d>>2]|0;if(i>>>0<(e[24126]|0)>>>0)a();n=i+12|0;if((e[n>>2]|0)!=(_|0))a();t=r+8|0;if((e[t>>2]|0)==(_|0)){e[n>>2]=r;e[t>>2]=i;h=r;break}else a()}while(0);if(s){r=e[l+(d+20)>>2]|0;i=96792+(r<<2)|0;if((_|0)==(e[i>>2]|0)){e[i>>2]=h;if(!h){e[24123]=e[24123]&~(1<<r);break}}else{if(s>>>0<(e[24126]|0)>>>0)a();r=s+16|0;if((e[r>>2]|0)==(_|0))e[r>>2]=h;else e[s+20>>2]=h;if(!h)break}r=e[24126]|0;if(h>>>0<r>>>0)a();e[h+24>>2]=s;i=e[l+(d+8)>>2]|0;do if(i)if(i>>>0<r>>>0)a();else{e[h+16>>2]=i;e[i+24>>2]=h;break}while(0);t=e[l+(d+12)>>2]|0;if(t)if(t>>>0<(e[24126]|0)>>>0)a();else{e[h+20>>2]=t;e[t+24>>2]=h;break}}}else{t=e[l+d>>2]|0;n=e[l+(d|4)>>2]|0;r=96528+(s<<1<<2)|0;if((t|0)!=(r|0)){if(t>>>0<(e[24126]|0)>>>0)a();if((e[t+12>>2]|0)!=(_|0))a()}if((n|0)==(t|0)){e[24122]=e[24122]&~(1<<s);break}if((n|0)!=(r|0)){if(n>>>0<(e[24126]|0)>>>0)a();i=n+8|0;if((e[i>>2]|0)==(_|0))S=i;else a()}else S=n+8|0;e[t+12>>2]=n;e[S>>2]=t}while(0);e[o+4>>2]=m|1;e[o+m>>2]=m;if((o|0)==(e[24127]|0)){e[24124]=m;return}else r=m}else{e[r>>2]=i&-2;e[o+4>>2]=u|1;e[o+u>>2]=u;r=u}i=r>>>3;if(r>>>0<256){n=i<<1;r=96528+(n<<2)|0;s=e[24122]|0;t=1<<i;if(s&t){t=96528+(n+2<<2)|0;s=e[t>>2]|0;if(s>>>0<(e[24126]|0)>>>0)a();else{b=t;v=s}}else{e[24122]=s|t;b=96528+(n+2<<2)|0;v=r}e[b>>2]=o;e[v+12>>2]=o;e[o+8>>2]=v;e[o+12>>2]=r;return}s=r>>>8;if(s)if(r>>>0>16777215)i=31;else{u=(s+1048320|0)>>>16&8;f=s<<u;c=(f+520192|0)>>>16&4;f=f<<c;i=(f+245760|0)>>>16&2;i=14-(c|u|i)+(f<<i>>>15)|0;i=r>>>(i+7|0)&1|i<<1}else i=0;t=96792+(i<<2)|0;e[o+28>>2]=i;e[o+20>>2]=0;e[o+16>>2]=0;s=e[24123]|0;n=1<<i;e:do if(s&n){t=e[t>>2]|0;r:do if((e[t+4>>2]&-8|0)!=(r|0)){i=r<<((i|0)==31?0:25-(i>>>1)|0);while(1){s=t+16+(i>>>31<<2)|0;n=e[s>>2]|0;if(!n)break;if((e[n+4>>2]&-8|0)==(r|0)){E=n;break r}else{i=i<<1;t=n}}if(s>>>0<(e[24126]|0)>>>0)a();else{e[s>>2]=o;e[o+24>>2]=t;e[o+12>>2]=o;e[o+8>>2]=o;break e}}else E=t;while(0);s=E+8|0;t=e[s>>2]|0;f=e[24126]|0;if(t>>>0>=f>>>0&E>>>0>=f>>>0){e[t+12>>2]=o;e[s>>2]=o;e[o+8>>2]=t;e[o+12>>2]=E;e[o+24>>2]=0;break}else a()}else{e[24123]=s|n;e[t>>2]=o;e[o+24>>2]=t;e[o+12>>2]=o;e[o+8>>2]=o}while(0);f=(e[24130]|0)+-1|0;e[24130]=f;if(!f)s=96944;else return;while(1){s=e[s>>2]|0;if(!s)break;else s=s+8|0}e[24130]=-1;return}function k(t,r){t=t|0;r=r|0;var i=0;if(t){i=s(r,t)|0;if((r|t)>>>0>65535)i=((i>>>0)/(t>>>0)|0|0)==(r|0)?i:-1}else i=0;r=W(i)|0;if(!r)return r|0;if(!(e[r+-4>>2]&3))return r|0;c(r|0,0,i|0)|0;return r|0}function Si(){}function R(r,e,i,t){r=r|0;e=e|0;i=i|0;t=t|0;e=e-t-(i>>>0>r>>>0|0)>>>0;return(m=e,r-i>>>0|0)|0}function c(r,t,n){r=r|0;t=t|0;n=n|0;var a=0,s=0,o=0,f=0;a=r+n|0;if((n|0)>=20){t=t&255;o=r&3;f=t|t<<8|t<<16|t<<24;s=a&~3;if(o){o=r+4-o|0;while((r|0)<(o|0)){i[r>>0]=t;r=r+1|0}}while((r|0)<(s|0)){e[r>>2]=f;r=r+4|0}}while((r|0)<(a|0)){i[r>>0]=t;r=r+1|0}return r-n|0}function D(r){r=r|0;var e=0;e=r;while(i[e>>0]|0)e=e+1|0;return e-r|0}function Ne(r,i,e,t){r=r|0;i=i|0;e=e|0;t=t|0;e=r+e>>>0;return(m=i+t+(e>>>0<r>>>0|0)>>>0,e|0)|0}function be(i,r,e){i=i|0;r=r|0;e=e|0;if((e|0)<32){m=r>>>e;return i>>>e|(r&(1<<e)-1)<<32-e}m=0;return r>>>e-32|0}function l(r,t,n){r=r|0;t=t|0;n=n|0;var o=0;if((n|0)>=4096)return Hi(r|0,t|0,n|0)|0;o=r|0;if((r&3)==(t&3)){while(r&3){if(!n)return o|0;i[r>>0]=i[t>>0]|0;r=r+1|0;t=t+1|0;n=n-1|0}while((n|0)>=4){e[r>>2]=e[t>>2];r=r+4|0;t=t+4|0;n=n-4|0}}while((n|0)>0){i[r>>0]=i[t>>0]|0;r=r+1|0;t=t+1|0;n=n-1|0}return o|0}function Le(r,i,e){r=r|0;i=i|0;e=e|0;if((e|0)<32){m=i<<e|(r&(1<<e)-1<<32-e)>>>32-e;return r<<e}m=r<<e-32;return 0}function Fn(i,r,e){i=i|0;r=r|0;e=e|0;if((e|0)<32){m=r>>e;return i>>>e|(r&(1<<e)-1)<<32-e}m=(r|0)<0?-1:0;return r>>e-32|0}function Rr(r){r=r|0;var e=0;e=i[ke+(r&255)>>0]|0;if((e|0)<8)return e|0;e=i[ke+(r>>8&255)>>0]|0;if((e|0)<8)return e+8|0;e=i[ke+(r>>16&255)>>0]|0;if((e|0)<8)return e+16|0;return(i[ke+(r>>>24)>>0]|0)+24|0}function wi(e,r){e=e|0;r=r|0;var t=0,i=0,n=0,o=0;o=e&65535;i=r&65535;t=s(i,o)|0;n=e>>>16;i=(t>>>16)+(s(i,n)|0)|0;r=r>>>16;e=s(r,o)|0;return(m=(i>>>16)+(s(r,n)|0)+(((i&65535)+e|0)>>>16)|0,i+e<<16|t&65535|0)|0}function An(i,e,s,r){i=i|0;e=e|0;s=s|0;r=r|0;var t=0,n=0,f=0,l=0,o=0,a=0;a=e>>31|((e|0)<0?-1:0)<<1;o=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;n=r>>31|((r|0)<0?-1:0)<<1;t=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1;l=R(a^i,o^e,a,o)|0;f=m;e=n^a;i=t^o;return R((Me(l,f,R(n^s,t^r,n,t)|0,m,0)|0)^e,m^i,e,i)|0}function Tn(i,r,f,n){i=i|0;r=r|0;f=f|0;n=n|0;var l=0,o=0,a=0,s=0,u=0,c=0;l=t;t=t+8|0;s=l|0;a=r>>31|((r|0)<0?-1:0)<<1;o=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1;c=n>>31|((n|0)<0?-1:0)<<1;u=((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1;r=R(a^i,o^r,a,o)|0;i=m;Me(r,i,R(c^f,u^n,c,u)|0,m,s)|0;i=R(e[s>>2]^a,e[s+4>>2]^o,a,o)|0;r=m;t=l;return(m=r,i)|0}function Nn(r,i,e,t){r=r|0;i=i|0;e=e|0;t=t|0;var n=0,o=0;n=r;o=e;r=wi(n,o)|0;e=m;return(m=(s(i,o)|0)+(s(t,n)|0)+e|e&0,r|0|0)|0}function se(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;return Me(e,r,i,t,0)|0}function te(i,n,o,a){i=i|0;n=n|0;o=o|0;a=a|0;var r=0,s=0;s=t;t=t+8|0;r=s|0;Me(i,n,o,a,r)|0;t=s;return(m=e[r+4>>2]|0,e[r>>2]|0)|0}function Me(f,c,d,w,n){f=f|0;c=c|0;d=d|0;w=w|0;n=n|0;var u=0,t=0,a=0,l=0,o=0,i=0,r=0,s=0,p=0,h=0;s=f;i=c;r=i;o=d;p=w;a=p;if(!r){u=(n|0)!=0;if(!a){if(u){e[n>>2]=(s>>>0)%(o>>>0);e[n+4>>2]=0}i=0;r=(s>>>0)/(o>>>0)>>>0;return(m=i,r)|0}else{if(!u){i=0;r=0;return(m=i,r)|0}e[n>>2]=f|0;e[n+4>>2]=c&0;i=0;r=0;return(m=i,r)|0}}l=(a|0)==0;do if(o){if(!l){t=(U(a|0)|0)-(U(r|0)|0)|0;if(t>>>0<=31){u=t+1|0;i=31-t|0;o=t-31>>31;a=u;l=s>>>(u>>>0)&o|r<<i;o=r>>>(u>>>0)&o;u=0;t=s<<i;break}if(!n){i=0;r=0;return(m=i,r)|0}e[n>>2]=f|0;e[n+4>>2]=i|c&0;i=0;r=0;return(m=i,r)|0}l=o-1|0;if(l&o){t=(U(o|0)|0)+33-(U(r|0)|0)|0;h=64-t|0;i=32-t|0;f=i>>31;c=t-32|0;o=c>>31;a=t;l=i-1>>31&r>>>(c>>>0)|(r<<i|s>>>(t>>>0))&o;o=o&r>>>(t>>>0);u=s<<h&f;t=(r<<h|s>>>(c>>>0))&f|s<<i&t-33>>31;break}if(n){e[n>>2]=l&s;e[n+4>>2]=0}if((o|0)==1){i=i|c&0;r=f|0|0;return(m=i,r)|0}else{f=Rr(o|0)|0;i=r>>>(f>>>0)|0;r=r<<32-f|s>>>(f>>>0)|0;return(m=i,r)|0}}else{if(l){if(n){e[n>>2]=(r>>>0)%(o>>>0);e[n+4>>2]=0}i=0;r=(r>>>0)/(o>>>0)>>>0;return(m=i,r)|0}if(!s){if(n){e[n>>2]=0;e[n+4>>2]=(r>>>0)%(a>>>0)}i=0;r=(r>>>0)/(a>>>0)>>>0;return(m=i,r)|0}l=a-1|0;if(!(l&a)){if(n){e[n>>2]=f|0;e[n+4>>2]=l&r|c&0}i=0;r=r>>>((Rr(a|0)|0)>>>0);return(m=i,r)|0}t=(U(a|0)|0)-(U(r|0)|0)|0;if(t>>>0<=30){o=t+1|0;t=31-t|0;a=o;l=r<<t|s>>>(o>>>0);o=r>>>(o>>>0);u=0;t=s<<t;break}if(!n){i=0;r=0;return(m=i,r)|0}e[n>>2]=f|0;e[n+4>>2]=i|c&0;i=0;r=0;return(m=i,r)|0}while(0);if(!a){i=t;a=0;t=0}else{r=d|0|0;i=p|w&0;c=Ne(r|0,i|0,-1,-1)|0;f=m;d=t;t=0;do{h=d;d=u>>>31|d<<1;u=t|u<<1;h=l<<1|h>>>31|0;p=l>>>31|o<<1|0;R(c,f,h,p)|0;s=m;w=s>>31|((s|0)<0?-1:0)<<1;t=w&1;l=R(h,p,w&r,(((s|0)<0?-1:0)>>31|((s|0)<0?-1:0)<<1)&i)|0;o=m;a=a-1|0}while((a|0)!=0);i=d;a=0}d=0;if(n){e[n>>2]=l;e[n+4>>2]=o}i=(u|0)>>>31|(i|d)<<1|(d<<1|u>>>31)&0|a;r=(u<<1|0>>>31)&-2|t;return(m=i,r)|0}function ui(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;return y[e&3](r|0,i|0,t|0)|0}function fi(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;return wr[e&7](r|0,i|0,t|0,n|0)|0}function si(e,r,i){e=e|0;r=r|0;i=i|0;K[e&3](r|0,i|0)}function ii(e,r,i){e=e|0;r=r|0;i=i|0;return g[e&1](r|0,i|0)|0}function ri(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;H[e&7](r|0,i|0,t|0,n|0)}function dr(e,r,i){e=e|0;r=r|0;i=i|0;j(0);return 0}function fe(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;j(1);return 0}function br(e,r){e=e|0;r=r|0;j(2)}function Qr(e,r){e=e|0;r=r|0;j(3);return 0}function Sr(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;j(4)}function Gr(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;_i(e|0,r|0,i|0,t|0)}var y=[dr,ki,Fi,dr];var wr=[fe,Oi,Ri,Ai,Ti,fe,fe,fe];var K=[br,Rt,qi,br];var g=[Qr,qr];var H=[Sr,Kr,Xr,jr,Yr,Gr,Vr,Sr];return{_i64Subtract:R,_lame_set_brate:Tr,_lame_encode_buffer_ieee_float:gt,_lame_close:bt,_lame_set_in_samplerate:Cr,_i64Add:Ne,_lame_set_num_channels:Br,_strlen:D,_memset:c,_malloc:W,_memcpy:l,_lame_init:vt,_bitshift64Lshr:be,_free:_,_lame_init_params:At,_lame_encode_flush:kt,_bitshift64Shl:Le,_lame_set_mode:Hr,runPostSets:Si,stackAlloc:et,stackSave:rt,stackRestore:it,establishStackSpace:tt,setThrew:nt,setTempRet0:st,getTempRet0:ft,dynCall_iiii:ui,dynCall_iiiii:fi,dynCall_vii:si,dynCall_iii:ii,dynCall_viiii:ri}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _lame_set_brate=Module["_lame_set_brate"]=asm["_lame_set_brate"];var _lame_encode_buffer_ieee_float=Module["_lame_encode_buffer_ieee_float"]=asm["_lame_encode_buffer_ieee_float"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _lame_close=Module["_lame_close"]=asm["_lame_close"];var _lame_set_in_samplerate=Module["_lame_set_in_samplerate"]=asm["_lame_set_in_samplerate"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _lame_set_num_channels=Module["_lame_set_num_channels"]=asm["_lame_set_num_channels"];var _strlen=Module["_strlen"]=asm["_strlen"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var _lame_set_mode=Module["_lame_set_mode"]=asm["_lame_set_mode"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _lame_init=Module["_lame_init"]=asm["_lame_init"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _free=Module["_free"]=asm["_free"];var _lame_init_params=Module["_lame_init_params"]=asm["_lame_init_params"];var _lame_encode_flush=Module["_lame_encode_flush"]=asm["_lame_encode_flush"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];var i64Math=function(){var e={math:{}};e.math.Long=function(e,r){this.low_=e|0;this.high_=r|0};e.math.Long.IntCache_={};e.math.Long.fromInt=function(r){if(-128<=r&&r<128){var i=e.math.Long.IntCache_[r];if(i){return i}}var t=new e.math.Long(r|0,r<0?-1:0);if(-128<=r&&r<128){e.math.Long.IntCache_[r]=t}return t};e.math.Long.fromNumber=function(r){if(isNaN(r)||!isFinite(r)){return e.math.Long.ZERO}else if(r<=-e.math.Long.TWO_PWR_63_DBL_){return e.math.Long.MIN_VALUE}else if(r+1>=e.math.Long.TWO_PWR_63_DBL_){return e.math.Long.MAX_VALUE}else if(r<0){return e.math.Long.fromNumber(-r).negate()}else{return new e.math.Long(r%e.math.Long.TWO_PWR_32_DBL_|0,r/e.math.Long.TWO_PWR_32_DBL_|0)}};e.math.Long.fromBits=function(r,i){return new e.math.Long(r,i)};e.math.Long.fromString=function(r,s){if(r.length==0){throw Error("number format error: empty string")}var i=s||10;if(i<2||36<i){throw Error("radix out of range: "+i)}if(r.charAt(0)=="-"){return e.math.Long.fromString(r.substring(1),i).negate()}else if(r.indexOf("-")>=0){throw Error('number format error: interior "-" character: '+r)}var f=e.math.Long.fromNumber(Math.pow(i,8));var t=e.math.Long.ZERO;for(var n=0;n<r.length;n+=8){var o=Math.min(8,r.length-n);var a=parseInt(r.substring(n,n+o),i);if(o<8){var l=e.math.Long.fromNumber(Math.pow(i,o));t=t.multiply(l).add(e.math.Long.fromNumber(a))}else{t=t.multiply(f);t=t.add(e.math.Long.fromNumber(a))}}return t};e.math.Long.TWO_PWR_16_DBL_=1<<16;e.math.Long.TWO_PWR_24_DBL_=1<<24;e.math.Long.TWO_PWR_32_DBL_=e.math.Long.TWO_PWR_16_DBL_*e.math.Long.TWO_PWR_16_DBL_;e.math.Long.TWO_PWR_31_DBL_=e.math.Long.TWO_PWR_32_DBL_/2;e.math.Long.TWO_PWR_48_DBL_=e.math.Long.TWO_PWR_32_DBL_*e.math.Long.TWO_PWR_16_DBL_;e.math.Long.TWO_PWR_64_DBL_=e.math.Long.TWO_PWR_32_DBL_*e.math.Long.TWO_PWR_32_DBL_;e.math.Long.TWO_PWR_63_DBL_=e.math.Long.TWO_PWR_64_DBL_/2;e.math.Long.ZERO=e.math.Long.fromInt(0);e.math.Long.ONE=e.math.Long.fromInt(1);e.math.Long.NEG_ONE=e.math.Long.fromInt(-1);e.math.Long.MAX_VALUE=e.math.Long.fromBits(4294967295|0,2147483647|0);e.math.Long.MIN_VALUE=e.math.Long.fromBits(0,2147483648|0);e.math.Long.TWO_PWR_24_=e.math.Long.fromInt(1<<24);e.math.Long.prototype.toInt=function(){return this.low_};e.math.Long.prototype.toNumber=function(){return this.high_*e.math.Long.TWO_PWR_32_DBL_+this.getLowBitsUnsigned()};e.math.Long.prototype.toString=function(l){var r=l||10;if(r<2||36<r){throw Error("radix out of range: "+r)}if(this.isZero()){return"0"}if(this.isNegative()){if(this.equals(e.math.Long.MIN_VALUE)){var o=e.math.Long.fromNumber(r);var a=this.div(o);var i=a.multiply(o).subtract(this);return a.toString(r)+i.toInt().toString(r)}else{return"-"+this.negate().toString(r)}}var s=e.math.Long.fromNumber(Math.pow(r,6));var i=this;var n="";while(true){var f=i.div(s);var u=i.subtract(f.multiply(s)).toInt();var t=u.toString(r);i=f;if(i.isZero()){return t+n}else{while(t.length<6){t="0"+t}n=""+t+n}}};e.math.Long.prototype.getHighBits=function(){return this.high_};e.math.Long.prototype.getLowBits=function(){return this.low_};e.math.Long.prototype.getLowBitsUnsigned=function(){return this.low_>=0?this.low_:e.math.Long.TWO_PWR_32_DBL_+this.low_};e.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative()){if(this.equals(e.math.Long.MIN_VALUE)){return 64}else{return this.negate().getNumBitsAbs()}}else{var i=this.high_!=0?this.high_:this.low_;for(var r=31;r>0;r--){if((i&1<<r)!=0){break}}return this.high_!=0?r+33:r+1}};e.math.Long.prototype.isZero=function(){return this.high_==0&&this.low_==0};e.math.Long.prototype.isNegative=function(){return this.high_<0};e.math.Long.prototype.isOdd=function(){return(this.low_&1)==1};e.math.Long.prototype.equals=function(e){return this.high_==e.high_&&this.low_==e.low_};e.math.Long.prototype.notEquals=function(e){return this.high_!=e.high_||this.low_!=e.low_};e.math.Long.prototype.lessThan=function(e){return this.compare(e)<0};e.math.Long.prototype.lessThanOrEqual=function(e){return this.compare(e)<=0};e.math.Long.prototype.greaterThan=function(e){return this.compare(e)>0};e.math.Long.prototype.greaterThanOrEqual=function(e){return this.compare(e)>=0};e.math.Long.prototype.compare=function(e){if(this.equals(e)){return 0}var r=this.isNegative();var i=e.isNegative();if(r&&!i){return-1}if(!r&&i){return 1}if(this.subtract(e).isNegative()){return-1}else{return 1}};e.math.Long.prototype.negate=function(){if(this.equals(e.math.Long.MIN_VALUE)){return e.math.Long.MIN_VALUE}else{return this.not().add(e.math.Long.ONE)}};e.math.Long.prototype.add=function(t){var s=this.high_>>>16;var d=this.high_&65535;var c=this.low_>>>16;var u=this.low_&65535;var a=t.high_>>>16;var h=t.high_&65535;var f=t.low_>>>16;var l=t.low_&65535;var o=0,i=0,r=0,n=0;n+=u+l;r+=n>>>16;n&=65535;r+=c+f;i+=r>>>16;r&=65535;i+=d+h;o+=i>>>16;i&=65535;o+=s+a;o&=65535;return e.math.Long.fromBits(r<<16|n,o<<16|i)};e.math.Long.prototype.subtract=function(e){return this.add(e.negate())};e.math.Long.prototype.multiply=function(r){if(this.isZero()){return e.math.Long.ZERO}else if(r.isZero()){return e.math.Long.ZERO}if(this.equals(e.math.Long.MIN_VALUE)){return r.isOdd()?e.math.Long.MIN_VALUE:e.math.Long.ZERO}else if(r.equals(e.math.Long.MIN_VALUE)){return this.isOdd()?e.math.Long.MIN_VALUE:e.math.Long.ZERO}if(this.isNegative()){if(r.isNegative()){return this.negate().multiply(r.negate())}else{return this.negate().multiply(r).negate()}}else if(r.isNegative()){return this.multiply(r.negate()).negate()}if(this.lessThan(e.math.Long.TWO_PWR_24_)&&r.lessThan(e.math.Long.TWO_PWR_24_)){return e.math.Long.fromNumber(this.toNumber()*r.toNumber())}var d=this.high_>>>16;var u=this.high_&65535;var l=this.low_>>>16;var o=this.low_&65535;var h=r.high_>>>16;var c=r.high_&65535;var f=r.low_>>>16;var s=r.low_&65535;var n=0,i=0,t=0,a=0;a+=o*s;t+=a>>>16;a&=65535;t+=l*s;i+=t>>>16;t&=65535;t+=o*f;i+=t>>>16;t&=65535;i+=u*s;n+=i>>>16;i&=65535;i+=l*f;n+=i>>>16;i&=65535;i+=o*c;n+=i>>>16;i&=65535;n+=d*s+u*f+l*c+o*h;n&=65535;return e.math.Long.fromBits(t<<16|a,n<<16|i)};e.math.Long.prototype.div=function(r){if(r.isZero()){throw Error("division by zero")}else if(this.isZero()){return e.math.Long.ZERO}if(this.equals(e.math.Long.MIN_VALUE)){if(r.equals(e.math.Long.ONE)||r.equals(e.math.Long.NEG_ONE)){return e.math.Long.MIN_VALUE}else if(r.equals(e.math.Long.MIN_VALUE)){return e.math.Long.ONE}else{var f=this.shiftRight(1);var i=f.div(r).shiftLeft(1);if(i.equals(e.math.Long.ZERO)){return r.isNegative()?e.math.Long.ONE:e.math.Long.NEG_ONE}else{var t=this.subtract(r.multiply(i));var l=i.add(t.div(r));return l}}}else if(r.equals(e.math.Long.MIN_VALUE)){return e.math.Long.ZERO}if(this.isNegative()){if(r.isNegative()){return this.negate().div(r.negate())}else{return this.negate().div(r).negate()}}else if(r.isNegative()){return this.div(r.negate()).negate()}var a=e.math.Long.ZERO;var t=this;while(t.greaterThanOrEqual(r)){var i=Math.max(1,Math.floor(t.toNumber()/r.toNumber()));var s=Math.ceil(Math.log(i)/Math.LN2);var u=s<=48?1:Math.pow(2,s-48);var n=e.math.Long.fromNumber(i);var o=n.multiply(r);while(o.isNegative()||o.greaterThan(t)){i-=u;n=e.math.Long.fromNumber(i);o=n.multiply(r)}if(n.isZero()){n=e.math.Long.ONE}a=a.add(n);t=t.subtract(o)}return a};e.math.Long.prototype.modulo=function(e){return this.subtract(this.div(e).multiply(e))};e.math.Long.prototype.not=function(){return e.math.Long.fromBits(~this.low_,~this.high_)};e.math.Long.prototype.and=function(r){return e.math.Long.fromBits(this.low_&r.low_,this.high_&r.high_)};e.math.Long.prototype.or=function(r){return e.math.Long.fromBits(this.low_|r.low_,this.high_|r.high_)};e.math.Long.prototype.xor=function(r){return e.math.Long.fromBits(this.low_^r.low_,this.high_^r.high_)};e.math.Long.prototype.shiftLeft=function(r){r&=63;if(r==0){return this}else{var i=this.low_;if(r<32){var t=this.high_;return e.math.Long.fromBits(i<<r,t<<r|i>>>32-r)}else{return e.math.Long.fromBits(0,i<<r-32)}}};e.math.Long.prototype.shiftRight=function(r){r&=63;if(r==0){return this}else{var i=this.high_;if(r<32){var t=this.low_;return e.math.Long.fromBits(t>>>r|i<<32-r,i>>r)}else{return e.math.Long.fromBits(i>>r-32,i>=0?0:-1)}}};e.math.Long.prototype.shiftRightUnsigned=function(r){r&=63;if(r==0){return this}else{var i=this.high_;if(r<32){var t=this.low_;return e.math.Long.fromBits(t>>>r|i<<32-r,i>>>r)}else if(r==32){return e.math.Long.fromBits(i,0)}else{return e.math.Long.fromBits(i>>>r-32,0)}}};var m={appName:"Modern Browser"};var o;var D=0xdeadbeefcafe;var w=(D&16777215)==15715070;function r(e,r,i){if(e!=null)if("number"==typeof e)this.fromNumber(e,r,i);else if(r==null&&"string"!=typeof e)this.fromString(e,256);else this.fromString(e,r)}function t(){return new r(null)}function v(n,o,r,i,e,a){while(--a>=0){var t=o*this[n++]+r[i]+e;e=Math.floor(t/67108864);r[i++]=t&67108863}return e}function F(i,o,f,t,r,u){var a=o&32767,s=o>>15;while(--u>=0){var e=this[i]&32767;var l=this[i++]>>15;var n=s*e+l*a;e=a*e+((n&32767)<<15)+f[t]+(r&1073741823);r=(e>>>30)+(n>>>15)+s*l+(r>>>30);f[t++]=e&1073741823}return r}function N(i,o,f,t,r,u){var a=o&16383,s=o>>14;while(--u>=0){var e=this[i]&16383;var l=this[i++]>>14;var n=s*e+l*a;e=a*e+((n&16383)<<14)+f[t]+r;r=(e>>28)+(n>>14)+s*l;f[t++]=e&268435455}return r}if(w&&m.appName=="Microsoft Internet Explorer"){r.prototype.am=F;o=30}else if(w&&m.appName!="Netscape"){r.prototype.am=v;o=26}else{r.prototype.am=N;o=28}r.prototype.DB=o;r.prototype.DM=(1<<o)-1;r.prototype.DV=1<<o;var u=52;r.prototype.FV=Math.pow(2,u);r.prototype.F1=u-o;r.prototype.F2=2*o-u;var I="0123456789abcdefghijklmnopqrstuvwxyz";var l=new Array;var s,n;s="0".charCodeAt(0);for(n=0;n<=9;++n)l[s++]=n;s="a".charCodeAt(0);for(n=10;n<36;++n)l[s++]=n;s="A".charCodeAt(0);for(n=10;n<36;++n)l[s++]=n;function p(e){return I.charAt(e)}function h(r,i){var e=l[r.charCodeAt(i)];return e==null?-1:e}function j(r){for(var e=this.t-1;e>=0;--e)r[e]=this[e];r.t=this.t;r.s=this.s}function E(e){this.t=1;this.s=e<0?-1:0;if(e>0)this[0]=e;else if(e<-1)this[0]=e+DV;else this.t=0}function c(r){var e=t();e.fromInt(r);return e}function S(n,t){var i;if(t==16)i=4;else if(t==8)i=3;else if(t==256)i=8;else if(t==2)i=1;else if(t==32)i=5;else if(t==4)i=2;else{this.fromRadix(n,t);return}this.t=0;this.s=0;var a=n.length,s=false,e=0;while(--a>=0){var o=i==8?n[a]&255:h(n,a);if(o<0){if(n.charAt(a)=="-")s=true;continue}s=false;if(e==0)this[this.t++]=o;else if(e+i>this.DB){this[this.t-1]|=(o&(1<<this.DB-e)-1)<<e;this[this.t++]=o>>this.DB-e}else this[this.t-1]|=o<<e;e+=i;if(e>=this.DB)e-=this.DB}if(i==8&&(n[0]&128)!=0){this.s=-1;if(e>0)this[this.t-1]|=(1<<this.DB-e)-1<<e}this.clamp();if(s)r.ZERO.subTo(this,this)}function b(){var e=this.s&this.DM;while(this.t>0&&this[this.t-1]==e)--this.t}function k(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var s=(1<<e)-1,n,o=false,a="",i=this.t;var r=this.DB-i*this.DB%e;if(i-->0){if(r<this.DB&&(n=this[i]>>r)>0){o=true;a=p(n)}while(i>=0){if(r<e){n=(this[i]&(1<<r)-1)<<e-r;n|=this[--i]>>(r+=this.DB-e)}else{n=this[i]>>(r-=e)&s;if(r<=0){r+=this.DB;--i}}if(n>0)o=true;if(o)a+=p(n)}}return o?a:"0"}function g(){var e=t();r.ZERO.subTo(this,e);return e}function y(){return this.s<0?this.negate():this}function M(i){var e=this.s-i.s;if(e!=0)return e;var r=this.t;e=r-i.t;if(e!=0)return this.s<0?-e:e;while(--r>=0)if((e=this[r]-i[r])!=0)return e;return 0}function d(e){var i=1,r;if((r=e>>>16)!=0){e=r;i+=16}if((r=e>>8)!=0){e=r;i+=8}if((r=e>>4)!=0){e=r;i+=4}if((r=e>>2)!=0){e=r;i+=2}if((r=e>>1)!=0){e=r;i+=1}return i}function O(){if(this.t<=0)return 0;return this.DB*(this.t-1)+d(this[this.t-1]^this.s&this.DM)}function R(i,r){var e;for(e=this.t-1;e>=0;--e)r[e+i]=this[e];for(e=i-1;e>=0;--e)r[e]=0;r.t=this.t+i;r.s=this.s}function A(r,i){for(var e=r;e<this.t;++e)i[e-r]=this[e];i.t=Math.max(this.t-r,0);i.s=this.s}function T(o,r){var t=o%this.DB;var a=this.DB-t;var s=(1<<a)-1;var i=Math.floor(o/this.DB),n=this.s<<t&this.DM,e;for(e=this.t-1;e>=0;--e){r[e+i+1]=this[e]>>a|n;n=(this[e]&s)<<t}for(e=i-1;e>=0;--e)r[e]=0;r[i]=n;r.t=this.t+i+1;r.s=this.s;r.clamp()}function se(n,e){e.s=this.s;var r=Math.floor(n/this.DB);if(r>=this.t){e.t=0;return}var t=n%this.DB;var o=this.DB-t;var a=(1<<t)-1;e[0]=this[r]>>t;for(var i=r+1;i<this.t;++i){e[i-r-1]|=(this[i]&a)<<o;e[i-r]=this[i]>>t}if(t>0)e[this.t-r-1]|=(this.s&a)<<o;e.t=this.t-r;e.clamp()}function _(t,i){var r=0,e=0,n=Math.min(t.t,this.t);while(r<n){e+=this[r]-t[r];i[r++]=e&this.DM;e>>=this.DB}if(t.t<this.t){e-=t.s;while(r<this.t){e+=this[r];i[r++]=e&this.DM;e>>=this.DB}e+=this.s}else{e+=this.s;while(r<t.t){e-=t[r];i[r++]=e&this.DM;e>>=this.DB}e-=t.s}i.s=e<0?-1:0;if(e<-1)i[r++]=this.DV+e;else if(e>0)i[r++]=e;i.t=r;i.clamp()}function P(o,i){var t=this.abs(),n=o.abs();var e=t.t;i.t=e+n.t;while(--e>=0)i[e]=0;for(e=0;e<n.t;++e)i[e+t.t]=t.am(0,n[e],i,e,0,t.t);i.s=0;i.clamp();if(this.s!=o.s)r.ZERO.subTo(i,i)}function L(i){var r=this.abs();var e=i.t=2*r.t;while(--e>=0)i[e]=0;for(e=0;e<r.t-1;++e){var t=r.am(e,r[e],i,2*e,0,1);if((i[e+r.t]+=r.am(e+1,2*r[e],i,2*e+1,t,r.t-e-1))>=r.DV){i[e+r.t]-=r.DV;i[e+r.t+1]=1}}if(i.t>0)i[i.t-1]+=r.am(e,r[e],i,2*e,0,1);i.s=0;i.clamp()}function C(_,a,e){var s=_.abs();if(s.t<=0)return;var m=this.abs();if(m.t<s.t){if(a!=null)a.fromInt(0);if(e!=null)this.copyTo(e);return}if(e==null)e=t();var i=t(),p=this.s,b=_.s;var l=this.DB-d(s[s.t-1]);if(l>0){s.lShiftTo(l,i);m.lShiftTo(l,e)}else{s.copyTo(i);m.copyTo(e)}var n=i.t;var h=i[n-1];if(h==0)return;var w=h*(1<<this.F1)+(n>1?i[n-2]>>this.F2:0);var E=this.FV/w,v=(1<<this.F1)/w,S=1<<this.F2;var f=e.t,u=f-n,o=a==null?t():a;i.dlShiftTo(u,o);if(e.compareTo(o)>=0){e[e.t++]=1;e.subTo(o,e)}r.ONE.dlShiftTo(n,o);o.subTo(i,i);while(i.t<n)i[i.t++]=0;while(--u>=0){var c=e[--f]==h?this.DM:Math.floor(e[f]*E+(e[f-1]+S)*v);if((e[f]+=i.am(0,c,e,u,0,n))<c){i.dlShiftTo(u,o);e.subTo(o,e);while(e[f]<--c)e.subTo(o,e)}}if(a!=null){e.drShiftTo(n,a);if(p!=b)r.ZERO.subTo(a,a)}e.t=n;e.clamp();if(l>0)e.rShiftTo(l,e);if(p<0)r.ZERO.subTo(e,e)}function B(i){var e=t();this.abs().divRemTo(i,null,e);if(this.s<0&&e.compareTo(r.ZERO)>0)i.subTo(e,e);return e}function f(e){this.m=e}function x(e){if(e.s<0||e.compareTo(this.m)>=0)return e.mod(this.m);else return e}function H(e){return e}function U(e){e.divRemTo(this.m,null,e)}function z(r,i,e){r.multiplyTo(i,e);this.reduce(e)}function q(r,e){r.squareTo(e);this.reduce(e)}f.prototype.convert=x;f.prototype.revert=H;f.prototype.reduce=U;f.prototype.mulTo=z;f.prototype.sqrTo=q;function V(){if(this.t<1)return 0;var r=this[0];if((r&1)==0)return 0;var e=r&3;e=e*(2-(r&15)*e)&15;e=e*(2-(r&255)*e)&255;e=e*(2-((r&65535)*e&65535))&65535;e=e*(2-r*e%this.DV)%this.DV;return e>0?this.DV-e:-e}function a(e){this.m=e;this.mp=e.invDigit();this.mpl=this.mp&32767;this.mph=this.mp>>15;this.um=(1<<e.DB-15)-1;this.mt2=2*e.t}function W(i){var e=t();i.abs().dlShiftTo(this.m.t,e);e.divRemTo(this.m,null,e);if(i.s<0&&e.compareTo(r.ZERO)>0)this.m.subTo(e,e);return e}function Y(r){var e=t();r.copyTo(e);this.reduce(e);return e}function K(e){while(e.t<=this.mt2)e[e.t++]=0;for(var i=0;i<this.m.t;++i){var r=e[i]&32767;var t=r*this.mpl+((r*this.mph+(e[i]>>15)*this.mpl&this.um)<<15)&e.DM;r=i+this.m.t;e[r]+=this.m.am(0,t,e,i,0,this.m.t);while(e[r]>=e.DV){e[r]-=e.DV;e[++r]++}}e.clamp();e.drShiftTo(this.m.t,e);if(e.compareTo(this.m)>=0)e.subTo(this.m,e)}function G(r,e){r.squareTo(e);this.reduce(e)}function X(r,i,e){r.multiplyTo(i,e);this.reduce(e)}a.prototype.convert=W;a.prototype.revert=Y;a.prototype.reduce=K;a.prototype.mulTo=X;a.prototype.sqrTo=G;function Z(){return(this.t>0?this[0]&1:this.s)==0}function J(i,n){if(i>4294967295||i<1)return r.ONE;var e=t(),o=t(),a=n.convert(this),s=d(i)-1;a.copyTo(e);while(--s>=0){n.sqrTo(e,o);if((i&1<<s)>0)n.mulTo(o,a,e);else{var f=e;e=o;o=f}}return n.revert(e)}function Q(i,e){var r;if(i<256||e.isEven())r=new f(e);else r=new a(e);return this.exp(i,r)}r.prototype.copyTo=j;r.prototype.fromInt=E;r.prototype.fromString=S;r.prototype.clamp=b;r.prototype.dlShiftTo=R;r.prototype.drShiftTo=A;r.prototype.lShiftTo=T;r.prototype.rShiftTo=se;r.prototype.subTo=_;r.prototype.multiplyTo=P;r.prototype.squareTo=L;r.prototype.divRemTo=C;r.prototype.invDigit=V;r.prototype.isEven=Z;r.prototype.exp=J;r.prototype.toString=k;r.prototype.negate=g;r.prototype.abs=y;r.prototype.compareTo=M;r.prototype.bitLength=O;r.prototype.mod=B;r.prototype.modPowInt=Q;r.ZERO=c(0);
- r.ONE=c(1);function $(o,e){this.fromInt(0);if(e==null)e=10;var a=this.chunkSize(e);var l=Math.pow(e,a),s=false,t=0,i=0;for(var n=0;n<o.length;++n){var f=h(o,n);if(f<0){if(o.charAt(n)=="-"&&this.signum()==0)s=true;continue}i=e*i+f;if(++t>=a){this.dMultiply(l);this.dAddOffset(i,0);t=0;i=0}}if(t>0){this.dMultiply(Math.pow(e,t));this.dAddOffset(i,0)}if(s)r.ZERO.subTo(this,this)}function ee(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function re(){if(this.s<0)return-1;else if(this.t<=0||this.t==1&&this[0]<=0)return 0;else return 1}function ie(e){this[this.t]=this.am(0,e-1,this,0,0,this.t);++this.t;this.clamp()}function te(r,e){if(r==0)return;while(this.t<=e)this[this.t++]=0;this[e]+=r;while(this[e]>=this.DV){this[e]-=this.DV;if(++e>=this.t)this[this.t++]=0;++this[e]}}function ne(e){if(e==null)e=10;if(this.signum()==0||e<2||e>36)return"0";var s=this.chunkSize(e);var o=Math.pow(e,s);var a=c(o),r=t(),i=t(),n="";this.divRemTo(a,r,i);while(r.signum()>0){n=(o+i.intValue()).toString(e).substr(1)+n;r.divRemTo(a,r,i)}return i.intValue().toString(e)+n}function oe(){if(this.s<0){if(this.t==1)return this[0]-this.DV;else if(this.t==0)return-1}else if(this.t==1)return this[0];else if(this.t==0)return 0;return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function ae(t,i){var r=0,e=0,n=Math.min(t.t,this.t);while(r<n){e+=this[r]+t[r];i[r++]=e&this.DM;e>>=this.DB}if(t.t<this.t){e+=t.s;while(r<this.t){e+=this[r];i[r++]=e&this.DM;e>>=this.DB}e+=this.s}else{e+=this.s;while(r<t.t){e+=t[r];i[r++]=e&this.DM;e>>=this.DB}e+=t.s}i.s=e<0?-1:0;if(e>0)i[r++]=e;else if(e<-1)i[r++]=this.DV+e;i.t=r;i.clamp()}r.prototype.fromRadix=$;r.prototype.chunkSize=ee;r.prototype.signum=re;r.prototype.dMultiply=ie;r.prototype.dAddOffset=te;r.prototype.toRadix=ne;r.prototype.intValue=oe;r.prototype.addTo=ae;var i={abs:function(t,n){var i=new e.math.Long(t,n);var r;if(i.isNegative()){r=i.negate()}else{r=i}HEAP32[tempDoublePtr>>2]=r.low_;HEAP32[tempDoublePtr+4>>2]=r.high_},ensureTemps:function(){if(i.ensuredTemps)return;i.ensuredTemps=true;i.two32=new r;i.two32.fromString("4294967296",10);i.two64=new r;i.two64.fromString("18446744073709551616",10);i.temp1=new r;i.temp2=new r},lh2bignum:function(a,s){var e=new r;e.fromString(s.toString(),10);var t=new r;e.multiplyTo(i.two32,t);var n=new r;n.fromString(a.toString(),10);var o=new r;n.addTo(t,o);return o},stringify:function(o,a,s){var t=new e.math.Long(o,a).toString();if(s&&t[0]=="-"){i.ensureTemps();var n=new r;n.fromString(t,10);t=new r;i.two64.addTo(n,t);t=t.toString(10)}return t},fromString:function(h,l,d,c,u){i.ensureTemps();var t=new r;t.fromString(h,l);var a=new r;a.fromString(d,10);var o=new r;o.fromString(c,10);if(u&&t.compareTo(r.ZERO)<0){var f=new r;t.addTo(i.two64,f);t=f}var n=false;if(t.compareTo(a)<0){t=a;n=true}else if(t.compareTo(o)>0){t=o;n=true}var s=e.math.Long.fromString(t.toString());HEAP32[tempDoublePtr>>2]=s.low_;HEAP32[tempDoublePtr+4>>2]=s.high_;if(n)throw"range error"}};return i}();if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,STATIC_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(e){if(e.byteLength)e=new Uint8Array(e);HEAPU8.set(e,STATIC_BASE);removeRunDependency("memory initializer")};var request=Module["memoryInitializerRequest"];if(request){if(request.response){setTimeout(function(){applyMemoryInitializer(request.response)},0)}else{request.addEventListener("load",function(){if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status)}if(!request.response||typeof request.response!=="object"||!request.response.byteLength){console.warn("a problem seems to have happened with Module.memoryInitializerRequest response (expected ArrayBuffer): "+request.response)}applyMemoryInitializer(request.response)})}}else{Browser.asyncLoad(memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})}}}function ExitStatus(e){this.name="ExitStatus";this.message="Program terminated with exit("+e+")";this.status=e}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function S(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=S};Module["callMain"]=Module.callMain=function b(i){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");i=i||[];ensureInitRuntime();var n=i.length+1;function o(){for(var e=0;e<4-1;e++){r.push(0)}}var r=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];o();for(var t=0;t<n-1;t=t+1){r.push(allocate(intArrayFromString(i[t]),"i8",ALLOC_NORMAL));o()}r.push(0);r=allocate(r,"i32",ALLOC_NORMAL);initialStackTop=STACKTOP;try{var a=Module["_main"](n,r,0);exit(a,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(e){e=e||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function r(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(ENVIRONMENT_IS_WEB&&preloadStartTime!==null){Module.printErr("pre-main prep time: "+(Date.now()-preloadStartTime)+" ms")}if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](e);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);r()},1)}else{r()}}Module["run"]=Module.run=run;function exit(e,r){if(r&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=e;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](e)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",function(){process["exit"](e)});console.log(" ");setTimeout(function(){process["exit"](e)},500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(e)}throw new ExitStatus(e)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(e){if(e!==undefined){Module.print(e);Module.printErr(e);e=JSON.stringify(e)}else{e=""}ABORT=true;EXITSTATUS=1;var i="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var r="abort("+e+") at "+stackTrace()+i;if(abortDecorators){abortDecorators.forEach(function(i){r=i(r,e)})}throw r}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run();var NUM_CH=2,HEAPU8=Module.HEAPU8,malloc=Module._malloc,free=Module._free,lame_init=Module._lame_init,lame_set_mode=Module._lame_set_mode,lame_set_num_channels=Module._lame_set_num_channels,lame_set_in_samplerate=Module._lame_set_in_samplerate,lame_set_brate=Module._lame_set_brate,lame_init_params=Module._lame_init_params,lame_encode_buffer_ieee_float=Module._lame_encode_buffer_ieee_float,lame_encode_flush=Module._lame_encode_flush,lame_close=Module._lame_close;var Encoder=function(e,r){this.gfp=lame_init();lame_set_mode(this.gfp,1);lame_set_num_channels(this.gfp,NUM_CH);lame_set_in_samplerate(this.gfp,e);lame_set_brate(this.gfp,r);lame_init_params(this.gfp);this.allocBuffers(8192);this.mp3Buffers=[]};Encoder.prototype.encode=function(i){var r=i[0].length;if(r>this.srcLen){this.freeBuffers();this.allocBuffers(r)}for(var e=0;e<NUM_CH;++e)this.srcBuf[e].set(i[e]);var t=lame_encode_buffer_ieee_float(this.gfp,this.srcPtr[0],this.srcPtr[1],r,this.dstPtr,this.dstSz);this.mp3Buffers.push(new Uint8Array(this.dstBuf.subarray(0,t)))};Encoder.prototype.finish=function(e){var r=lame_encode_flush(this.gfp,this.dstPtr,this.dstSz);this.mp3Buffers.push(new Uint8Array(this.dstBuf.subarray(0,r)));var i=new Blob(this.mp3Buffers,{type:e||"audio/mpeg"});this.cleanup();return i};Encoder.prototype.cancel=Encoder.prototype.cleanup=function(){lame_close(this.gfp);delete this.gfp;delete this.mp3Buffers;this.freeBuffers()};Encoder.prototype.allocBuffers=function(r){this.srcLen=r;this.srcPtr=[];this.srcBuf=[];for(var e=0;e<NUM_CH;++e){this.srcPtr[e]=malloc(this.srcLen*4);this.srcBuf[e]=new Float32Array(HEAPU8.buffer,this.srcPtr[e],this.srcLen)}this.dstSz=Math.ceil(1.25*this.srcLen)+7200;this.dstPtr=malloc(this.dstSz);this.dstBuf=new Uint8Array(HEAPU8.buffer,this.dstPtr,this.dstSz)};Encoder.prototype.freeBuffers=function(){delete this.dstBuf;delete this.srcBuf;free(this.dstPtr);for(var e=0;e<NUM_CH;++e)free(this.srcPtr[e]);delete this.dstPtr;delete this.srcPtr};self.Mp3LameEncoder=Encoder})(self);var NUM_CH=2,sampleRate=44100,options=undefined,maxBuffers=undefined,encoder=undefined,recBuffers=undefined,bufferCount=0;function error(e){self.postMessage({command:"error",message:"mp3: "+e})}function init(e){if(e.config.numChannels===NUM_CH){sampleRate=e.config.sampleRate;options=e.options}else error("numChannels must be "+NUM_CH)}function setOptions(e){if(encoder||recBuffers)error("cannot set options during recording");else options=e}function start(e){maxBuffers=Math.ceil(options.timeLimit*sampleRate/e);if(options.encodeAfterRecord)recBuffers=[];else encoder=new Mp3LameEncoder(sampleRate,options.mp3.bitRate)}function record(e){if(bufferCount++<maxBuffers)if(encoder)encoder.encode(e);else recBuffers.push(e);else self.postMessage({command:"timeout"})}function postProgress(e){self.postMessage({command:"progress",progress:e})}function finish(){if(recBuffers){postProgress(0);encoder=new Mp3LameEncoder(sampleRate,options.mp3.bitRate);var e=Date.now()+options.progressInterval;while(recBuffers.length>0){encoder.encode(recBuffers.shift());var r=Date.now();if(r>e){postProgress((bufferCount-recBuffers.length)/bufferCount);e=r+options.progressInterval}}postProgress(1)}self.postMessage({command:"complete",blob:encoder.finish(options.mp3.mimeType)});cleanup()}function cleanup(){encoder=recBuffers=undefined;bufferCount=0}self.onmessage=function(r){var e=r.data;switch(e.command){case"init":init(e);break;case"options":setOptions(e.options);break;case"start":start(e.bufferSize);break;case"record":record(e.buffer);break;case"finish":finish();break;case"cancel":cleanup()}};self.postMessage({command:"loaded"});
|