diff --git a/Packages/ohif-cornerstone/main.js b/Packages/ohif-cornerstone/main.js index 4e2d880ddc6..25ce1dddac3 100644 --- a/Packages/ohif-cornerstone/main.js +++ b/Packages/ohif-cornerstone/main.js @@ -13,9 +13,21 @@ import * as cornerstoneTools from 'cornerstone-tools'; import * as cornerstoneMath from 'cornerstone-math'; import * as cornerstoneWADOImageLoader from 'cornerstone-wado-image-loader'; import * as dicomParser from 'dicom-parser'; +import { $ } from 'meteor/jquery'; +import Hammer from 'hammerjs'; import './client/'; // which is actually: import './client/index.js'; +// Inject the current cornerstone version into the +// WADO Image Loader and Tools libraries +// +// Note: You would also need to do this with Cornerstone Web Image Loader +cornerstone.external.$ = $; +cornerstoneTools.external.$ = $; +cornerstoneTools.external.Hammer = Hammer; +cornerstoneTools.external.cornerstone = cornerstone; +cornerstoneWADOImageLoader.external.cornerstone = cornerstone; + export { cornerstone, cornerstoneTools, diff --git a/Packages/ohif-cornerstone/package.js b/Packages/ohif-cornerstone/package.js index 50e35f96ddd..03d89156cc9 100644 --- a/Packages/ohif-cornerstone/package.js +++ b/Packages/ohif-cornerstone/package.js @@ -7,11 +7,11 @@ Package.describe({ Npm.depends({ hammerjs: '2.0.8', 'jquery-hammerjs': '2.0.0', - 'cornerstone-core': '0.12.2', - 'cornerstone-tools': '0.9.0', + 'cornerstone-core': '0.13.2', + 'cornerstone-tools': '0.10.0', 'cornerstone-math': '0.1.6', 'dicom-parser': '1.7.5', - 'cornerstone-wado-image-loader': '0.14.7' + 'cornerstone-wado-image-loader': '0.15.1' }); Package.onUse(function(api) { @@ -23,7 +23,7 @@ Package.onUse(function(api) { api.addAssets('public/js/cornerstoneWADOImageLoaderCodecs.es5.js', 'client'); api.addAssets('public/js/cornerstoneWADOImageLoaderWebWorker.es5.js', 'client'); - api.addAssets('public/js/cornerstoneWADOImageLoaderWebWorker.min.js.map', 'client'); + api.addAssets('public/js/cornerstoneWADOImageLoaderWebWorker.es5.js.map', 'client'); api.mainModule('main.js', 'client'); diff --git a/Packages/ohif-cornerstone/public/js/cornerstoneWADOImageLoaderCodecs.es5.js b/Packages/ohif-cornerstone/public/js/cornerstoneWADOImageLoaderCodecs.es5.js index c1c3e32cadf..3c62e3cdeef 100644 --- a/Packages/ohif-cornerstone/public/js/cornerstoneWADOImageLoaderCodecs.es5.js +++ b/Packages/ohif-cornerstone/public/js/cornerstoneWADOImageLoaderCodecs.es5.js @@ -1,4 +1,4 @@ /*! CharLS.js - v2.0.1 - 2016-06-08 | (c) 2016 Chris Hafey | https://github.com/chafey/charls */ -var CharLS=function(Module){Module=Module||{};var Module;if(!Module)Module=(typeof CharLS!=="undefined"?CharLS:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?function(x){dump(x)}:function(x){}}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=function(title){document.title=title}}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=function(){}}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:function(value){tempRet0=value},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(stackTop){STACKTOP=stackTop},getNativeTypeSize:function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}},getNativeFieldSize:function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr},getAlignSize:function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)},dynCall:function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}},functionPointers:[],addFunction:function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret},alignMemory:function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret},makeBigInt:function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret},stringToC:function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret}};var toC={string:JSfuncs["stringToC"],array:JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||4e8;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32};Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+59744;__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_jpegls_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}});allocate([0,0,0,0,0,0,0,0,84,144,0,0,31,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,237,191,0,0,48,0,0,0,0,0,0,0,44,144,0,0,41,192,0,0,84,144,0,0,55,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,115,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,192,0,0,152,3,0,0,0,0,0,0,84,144,0,0,241,192,0,0,216,3,0,0,0,0,0,0,84,144,0,0,55,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,95,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,135,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,216,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,241,193,0,0,48,0,0,0,0,0,0,0,44,144,0,0,13,194,0,0,84,144,0,0,80,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,44,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,139,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,179,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,219,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,3,195,0,0,48,0,0,0,0,0,0,0,84,144,0,0,103,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,157,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,211,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,8,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,71,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,138,196,0,0,160,1,0,0,0,0,0,0,44,144,0,0,120,196,0,0,84,144,0,0,187,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,246,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,49,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,103,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,157,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,210,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,17,198,0,0,160,1,0,0,0,0,0,0,84,144,0,0,86,198,0,0,72,3,0,0,0,0,0,0,84,144,0,0,162,198,0,0,56,2,0,0,0,0,0,0,44,144,0,0,182,198,0,0,84,144,0,0,196,198,0,0,56,2,0,0,0,0,0,0,84,144,0,0,112,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,125,199,0,0,84,144,0,0,138,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,156,199,0,0,84,144,0,0,169,199,0,0,96,2,0,0,0,0,0,0,84,144,0,0,181,199,0,0,120,2,0,0,0,0,0,0,84,144,0,0,214,199,0,0,144,2,0,0,0,0,0,0,84,144,0,0,28,200,0,0,144,2,0,0,0,0,0,0,84,144,0,0,248,199,0,0,176,2,0,0,0,0,0,0,84,144,0,0,62,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,99,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,182,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,245,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,13,222,0,0,152,3,0,0,0,0,0,0,84,144,0,0,38,222,0,0,152,3,0,0,0,0,0,0,44,144,0,0,62,222,0,0,84,144,0,0,87,222,0,0,104,2,0,0,0,0,0,0,44,144,0,0,110,222,0,0,84,144,0,0,135,222,0,0,72,3,0,0,0,0,0,0,84,144,0,0,161,222,0,0,56,3,0,0,0,0,0,0,44,144,0,0,187,222,0,0,84,144,0,0,205,222,0,0,112,3,0,0,0,0,0,0,84,144,0,0,247,222,0,0,112,3,0,0,0,0,0,0,44,144,0,0,33,223,0,0,44,144,0,0,82,223,0,0,124,144,0,0,131,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,178,223,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,124,144,0,0,225,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,16,224,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,84,144,0,0,63,224,0,0,80,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,144,0,0,187,224,0,0,48,3,0,0,0,0,0,0,124,144,0,0,209,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,124,144,0,0,227,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,5,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,40,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,75,225,0,0,144,4,0,0,0,0,0,0,84,144,0,0,109,225,0,0,144,4,0,0,0,0,0,0,124,144,0,0,144,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,178,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,200,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,220,225,0,0,32,4,0,0,0,0,0,0,124,144,0,0,240,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,84,144,0,0,2,226,0,0,32,4,0,0,0,0,0,0,84,144,0,0,23,226,0,0,32,4,0,0,0,0,0,0,124,144,0,0,44,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,80,10,0,0,0,0,0,0,124,144,0,0,112,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,104,10,0,0,0,0,0,0,124,144,0,0,180,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,128,10,0,0,0,0,0,0,124,144,0,0,248,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,152,10,0,0,0,0,0,0,124,144,0,0,60,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,184,10,0,0,0,8,0,0,124,144,0,0,129,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,192,10,0,0,0,8,0,0,124,144,0,0,198,227,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,11,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,80,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,108,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,136,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,164,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,192,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,216,10,0,0,0,0,0,0,124,144,0,0,6,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,224,10,0,0,0,0,0,0,124,144,0,0,76,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,232,10,0,0,0,0,0,0,124,144,0,0,146,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,240,10,0,0,0,0,0,0,124,144,0,0,216,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,124,144,0,0,237,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,144,0,0,73,233,0,0,44,144,0,0,50,233,0,0,124,144,0,0,28,233,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,237,232,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,215,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,124,144,0,0,168,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,44,144,0,0,149,232,0,0,44,144,0,0,115,232,0,0,44,144,0,0,81,232,0,0,44,144,0,0,60,232,0,0,44,144,0,0,39,232,0,0,44,144,0,0,14,232,0,0,44,144,0,0,245,231,0,0,44,144,0,0,220,231,0,0,44,144,0,0,195,231,0,0,44,144,0,0,171,231,0,0,44,144,0,0,190,232,0,0,44,144,0,0,3,233],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([156,143,0,0,0,0,0,0,8,2,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,248,1,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,232,1,0,0,5,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,7,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,200,1,0,0,9,0,0,0,10,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,184,1,0,0,11,0,0,0,12,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,168,1,0,0,13,0,0,0,14,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,144,1,0,0,15,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,128,1,0,0,17,0,0,0,18,0,0,0,9,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,112,1,0,0,19,0,0,0,20,0,0,0,10,0,0,0,2,0,0,0,10,0,0,0,0,0,0,0,96,1,0,0,21,0,0,0,22,0,0,0,11,0,0,0,3,0,0,0,11,0,0,0,0,0,0,0,80,1,0,0,23,0,0,0,24,0,0,0,12,0,0,0,4,0,0,0,12,0,0,0,0,0,0,0,64,1,0,0,25,0,0,0,26,0,0,0,13,0,0,0,5,0,0,0,13,0,0,0,0,0,0,0,240,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,6,0,0,0,14,0,0,0,0,0,0,0,224,0,0,0,29,0,0,0,30,0,0,0,15,0,0,0,7,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,31,0,0,0,32,0,0,0,16,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,200,0,0,0,33,0,0,0,34,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,184,0,0,0,33,0,0,0,35,0,0,0,3,0,0,0,4,0,0,0,56,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,200,255,255,255,200,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,56,0,0,0,0,0,0,0,104,0,0,0,40,0,0,0,41,0,0,0,200,255,255,255,200,255,255,255,104,0,0,0,42,0,0,0,43,0,0,0,0,0,0,0,88,0,0,0,44,0,0,0,45,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,17,0,0,0,3,0,0,0,18,0,0,0,104,141,0,0,64,141,0,0,84,141,0,0,124,141,0,0,0,0,0,0,32,0,0,0,46,0,0,0,47,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,56,0,0,0,48,0,0,0,49,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,72,0,0,0,50,0,0,0,51,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,120,0,0,0,52,0,0,0,53,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,136,0,0,0,54,0,0,0,55,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,152,0,0,0,56,0,0,0,57,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,168,0,0,0,58,0,0,0,59,0,0,0,18,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,216,0,0,0,60,0,0,0,61,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,62,0,0,0,63,0,0,0,20,0,0,0,21,0,0,0,0,0,0,0,16,1,0,0,64,0,0,0,65,0,0,0,22,0,0,0,23,0,0,0,0,0,0,0,32,1,0,0,66,0,0,0,67,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,48,1,0,0,68,0,0,0,69,0,0,0,26,0,0,0,27,0,0,0,0,0,0,0,160,1,0,0,70,0,0,0,71,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,24,2,0,0,72,0,0,0,73,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,0,0,0,0,40,2,0,0,74,0,0,0,75,0,0,0,18,0,0,0,0,0,0,0,64,2,0,0,76,0,0,0,77,0,0,0,19,0,0,0,2,0,0,0,0,0,0,0,80,2,0,0,78,0,0,0,79,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,104,2,0,0,80,0,0,0,81,0,0,0,7,0,0,0,0,0,0,0,128,2,0,0,82,0,0,0,83,0,0,0,8,0,0,0,0,0,0,0,160,2,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,2,0,0,0,9,0,0,0,28,0,0,0,0,0,0,0,208,2,0,0,84,0,0,0,88,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,3,0,0,0,10,0,0,0,29,0,0,0,0,0,0,0,224,2,0,0,84,0,0,0,89,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,4,0,0,0,11,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,1,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,88,146,0,0,200,146,0,0,56,147,0,0,56,147,0,0,120,187,0,0,168,155,0,0,168,149,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,9,0,0,0,159,219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,9,0,0,0,151,215,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,9,0,0,0,143,211,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+35640);allocate([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+39844);allocate([240,2,0,0,90,0,0,0,91,0,0,0,20,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,14,0,0,0,20,0,0,0,0,0,0,0,0,3,0,0,90,0,0,0,92,0,0,0,21,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,16,0,0,0,21,0,0,0,15,0,0,0,22,0,0,0,0,0,0,0,16,3,0,0,93,0,0,0,94,0,0,0,22,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,17,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,32,3,0,0,93,0,0,0,95,0,0,0,23,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,19,0,0,0,20,0,0,0,25,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,56,3,0,0,96,0,0,0,97,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,3,0,0,93,0,0,0,98,0,0,0,17,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,160,3,0,0,90,0,0,0,99,0,0,0,24,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,15,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,168,3,0,0,100,0,0,0,101,0,0,0,248,255,255,255,248,255,255,255,168,3,0,0,102,0,0,0,103,0,0,0,8,0,0,0,0,0,0,0,192,3,0,0,104,0,0,0,105,0,0,0,248,255,255,255,248,255,255,255,192,3,0,0,106,0,0,0,107,0,0,0,4,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,252,255,255,255,252,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,4,0,0,0,0,0,0,0,240,3,0,0,108,0,0,0,109,0,0,0,252,255,255,255,252,255,255,255,240,3,0,0,110,0,0,0,111,0,0,0,0,0,0,0,96,3,0,0,112,0,0,0,113,0,0,0,7,0,0,0,0,0,0,0,112,3,0,0,114,0,0,0,115,0,0,0,0,0,0,0,8,4,0,0,72,0,0,0,116,0,0,0,21,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,117,0,0,0,118,0,0,0,119,0,0,0,1,0,0,0,33,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,5,0,0,120,0,0,0,121,0,0,0,119,0,0,0,2,0,0,0,34,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,5,0,0,122,0,0,0,123,0,0,0,119,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,5,0,0,124,0,0,0,125,0,0,0,119,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,5,0,0,126,0,0,0,127,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,5,0,0,128,0,0,0,129,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,26,0,0,0,3,0,0,0,4,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,5,0,0,130,0,0,0,131,0,0,0,119,0,0,0,22,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,1,0,0,0,248,255,255,255,224,5,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,0,0,132,0,0,0,133,0,0,0,119,0,0,0,30,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,2,0,0,0,248,255,255,255,8,6,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,6,0,0,134,0,0,0,135,0,0,0,119,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,6,0,0,136,0,0,0,137,0,0,0,119,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,6,0,0,138,0,0,0,139,0,0,0,119,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,40,0,0,0,29,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,6,0,0,140,0,0,0,141,0,0,0,119,0,0,0,41,0,0,0,42,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,43,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,6,0,0,142,0,0,0,143,0,0,0,119,0,0,0,44,0,0,0,45,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,46,0,0,0,41,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,6,0,0,144,0,0,0,145,0,0,0,119,0,0,0,47,0,0,0,48,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,49,0,0,0,47,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,6,0,0,146,0,0,0,147,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,0,0,148,0,0,0,149,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,7,0,0,150,0,0,0,151,0,0,0,119,0,0,0,1,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,7,0,0,152,0,0,0,153,0,0,0,119,0,0,0,2,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,0,0,154,0,0,0,155,0,0,0,119,0,0,0,19,0,0,0,7,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,7,0,0,156,0,0,0,157,0,0,0,119,0,0,0,20,0,0,0,8,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,4,0,0,158,0,0,0,159,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,5,0,0,160,0,0,0,161,0,0,0,119,0,0,0,27,0,0,0,21,0,0,0,28,0,0,0,22,0,0,0,29,0,0,0,9,0,0,0,23,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,4,0,0,162,0,0,0,163,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,12,0,0,0,50,0,0,0,51,0,0,0,13,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,5,0,0,164,0,0,0,165,0,0,0,119,0,0,0,53,0,0,0,54,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,0,0,0,0,80,5,0,0,166,0,0,0,167,0,0,0,119,0,0,0,55,0,0,0,56,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,0,0,0,0,32,4,0,0,168,0,0,0,169,0,0,0,119,0,0,0,0,0,0,0,48,4,0,0,168,0,0,0,170,0,0,0,119,0,0,0,24,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,30,0,0,0,25,0,0,0,31,0,0,0,26,0,0,0,32,0,0,0,13,0,0,0,27,0,0,0,14,0,0,0,0,0,0,0,80,4,0,0,168,0,0,0,171,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,15,0,0,0,57,0,0,0,58,0,0,0,16,0,0,0,59,0,0,0,0,0,0,0,112,4,0,0,168,0,0,0,172,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,17,0,0,0,60,0,0,0,61,0,0,0,18,0,0,0,62,0,0,0,0,0,0,0,144,4,0,0,168,0,0,0,173,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,176,4,0,0,168,0,0,0,174,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,192,4,0,0,168,0,0,0,175,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,32,2,32,2,32,2,32,2,32,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,96,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,213,8,213,8,213,8,213,8,213,8,213,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,4,192,4,192,4,192,4,192,4,192,4,192,8,214,8,214,8,214,8,214,8,214,8,214,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,4,192,4,192,4,192,4,192,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,119,83,116,114,101,97,109,32,111,114,32,114,97,119,68,97,116,97,32,110,101,101,100,115,32,116,111,32,114,101,102,101,114,101,110,99,101,32,116,111,32,115,111,109,101,116,104,105,110,103,0,119,105,100,116,104,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,104,101,105,103,104,116,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,98,105,116,115,112,101,114,115,97,109,112,108,101,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,50,44,32,49,54,93,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,110,101,101,100,115,32,116,111,32,98,101,32,115,101,116,32,116,111,32,97,32,118,97,108,117,101,32,111,102,32,123,78,111,110,101,44,32,83,97,109,112,108,101,44,32,76,105,110,101,125,0,99,111,109,112,111,110,101,110,116,115,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,50,53,53,93,0,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,119,105,116,104,32,116,104,101,32,111,116,104,101,114,32,112,97,114,97,109,101,116,101,114,115,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,110,111,116,32,98,101,32,115,101,116,32,116,111,32,83,97,109,112,108,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,52,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,32,111,110,108,121,32,98,101,32,115,101,116,32,116,111,32,78,111,110,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,49,0,67,111,108,111,114,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,0,78,111,32,109,111,114,101,32,98,121,116,101,115,32,97,118,97,105,108,97,98,108,101,32,105,110,32,105,110,112,117,116,32,98,117,102,102,101,114,44,32,115,116,105,108,108,32,110,101,101,100,101,100,105,110,103,32,0,65,110,32,111,100,100,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,40,0,41,32,99,97,110,110,111,116,32,98,101,32,115,119,97,112,112,101,100,46,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,69,0,49,49,80,114,111,99,101,115,115,76,105,110,101,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,105,110,103,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,57,98,97,115,105,99,95,111,115,116,114,105,110,103,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,116,69,69,0,50,50,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,83,116,114,101,97,109,0,50,53,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,67,111,109,112,111,110,101,110,116,0,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,104,69,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,67,104,97,114,76,83,32,101,114,114,111,114,0,99,104,97,114,108,115,0,49,53,99,104,97,114,108,115,95,99,97,116,101,103,111,114,121,0,112,97,114,97,109,115,46,88,116,104,117,109,98,110,97,105,108,32,105,115,32,62,32,48,32,98,117,116,32,112,97,114,97,109,115,46,116,104,117,109,98,110,97,105,108,32,61,61,32,110,117,108,108,95,112,116,114,0,49,55,74,112,101,103,77,97,114,107,101,114,83,101,103,109,101,110,116,0,49,49,74,112,101,103,83,101,103,109,101,110,116,0,50,48,74,112,101,103,73,109,97,103,101,68,97,116,97,83,101,103,109,101,110,116,0,69,120,112,101,99,116,101,100,32,74,80,69,71,32,77,97,114,107,101,114,32,115,116,97,114,116,32,98,121,116,101,32,48,120,70,70,32,98,117,116,32,116,104,101,32,98,121,116,101,32,118,97,108,117,101,32,119,97,115,32,48,120,0,74,80,69,71,32,101,110,99,111,100,105,110,103,32,119,105,116,104,32,109,97,114,107,101,114,32,0,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,0,85,110,107,110,111,119,110,32,74,80,69,71,32,109,97,114,107,101,114,32,0,32,101,110,99,111,117,110,116,101,114,101,100,46,0,109,114,102,120,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,114,111,114,0,83,116,57,116,121,112,101,95,105,110,102,111,0,83,116,56,98,97,100,95,99,97,115,116,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,116,104,114,101,119,32,97,110,32,101,120,99,101,112,116,105,111,110,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+42396);allocate([32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,80,79,83,73,88],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+52636);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,58,32,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,57,95,95,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,105,111,115,116,114,101,97,109,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,37,112,0,67,0,37,0,0,0,0,0,108,0,108,108,0,0,76,0,37,112,0,0,0,0,37,72,58,37,77,58,37,83,37,109,47,37,100,47,37,121,37,89,45,37,109,45,37,100,37,73,58,37,77,58,37,83,32,37,112,37,72,58,37,77,37,72,58,37,77,58,37,83,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,48,49,50,51,52,53,54,55,56,57,0,37,76,102,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,0,37,46,48,76,102,0,116,114,117,101,0,102,97,108,115,101,0,83,117,110,100,97,121,0,77,111,110,100,97,121,0,84,117,101,115,100,97,121,0,87,101,100,110,101,115,100,97,121,0,84,104,117,114,115,100,97,121,0,70,114,105,100,97,121,0,83,97,116,117,114,100,97,121,0,83,117,110,0,77,111,110,0,84,117,101,0,87,101,100,0,84,104,117,0,70,114,105,0,83,97,116,0,74,97,110,117,97,114,121,0,70,101,98,114,117,97,114,121,0,77,97,114,99,104,0,65,112,114,105,108,0,77,97,121,0,74,117,110,101,0,74,117,108,121,0,65,117,103,117,115,116,0,83,101,112,116,101,109,98,101,114,0,79,99,116,111,98,101,114,0,78,111,118,101,109,98,101,114,0,68,101,99,101,109,98,101,114,0,74,97,110,0,70,101,98,0,77,97,114,0,65,112,114,0,74,117,110,0,74,117,108,0,65,117,103,0,83,101,112,0,79,99,116,0,78,111,118,0,68,101,99,0,65,77,0,80,77,0,37,109,47,37,100,47,37,121,0,37,72,58,37,77,58,37,83,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,37,73,58,37,77,58,37,83,32,37,112,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+56215);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}Module["_memset"]=_memset;var _BDtoILow=true;var _emscripten_resume=true;function ___gxx_personality_v0(){}var _emscripten_landingpad=true;function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){return leadingNulls(date.tm_hour<13?date.tm_hour:date.tm_hour-12,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>0&&date.tm_hour<13){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _abort(){Module["abort"]()}function _free(){}Module["_free"]=_free;function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}function ___cxa_end_catch(){if(___cxa_end_catch.rethrown){___cxa_end_catch.rethrown=false;return}asm["setThrew"](0);var ptr=EXCEPTIONS.caught.pop();if(ptr){EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(ptr));EXCEPTIONS.last=0}}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function ___lock(){}function ___unlock(){}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}var _fabs=Math_abs;var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}var PATH=undefined;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}});if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||function(){};canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){Module["noExitRuntime"]=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){Module["noExitRuntime"]=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},xhrLoad:function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)},asyncLoad:function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(!noRunDep)addRunDependency("al "+url)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];return ret},getStr:function(){var ret=Pointer_stringify(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_i64Add"]=_i64Add;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push(function(){Runtime.dynCall("vi",routine,[arg])});_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_broadcast(){return 0}function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_guard_release(){}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _llvm_eh_typeid_for(type){return type}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_mutex_lock(){}var _emscripten_postinvoke=true;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")}}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_bitshift64Shl"]=_bitshift64Shl;function ___cxa_guard_abort(){}Module["_memmove"]=_memmove;var _emscripten_preinvoke=true;var _BItoD=true;function _pthread_cond_wait(){return 0}function ___cxa_rethrow(){___cxa_end_catch.rethrown=true;var ptr=EXCEPTIONS.caught.pop();EXCEPTIONS.last=ptr;throw ptr}function _pthread_mutex_unlock(){}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer)___syscall146.buffer=[];var buffer=___syscall146.buffer;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function $b(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function ac(a){a=a|0;D=a}function bc(){return D|0}function cc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+128|0;p=w+44|0;s=w+8|0;l=w+4|0;n=w;q=e+4|0;r=e+8|0;o=0;Aa(35,c[e>>2]|0,c[q>>2]|0,c[r>>2]|0,f|0);m=o;o=0;if(!(m&1)){j=p;h=j+84|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(h|0));f=p+12|0;if((c[f>>2]|0)==0?(k=$(((c[p+8>>2]|0)+7|0)/8|0,c[p>>2]|0)|0,c[f>>2]=k,(c[p+24>>2]|0)!=0):0)c[f>>2]=$(c[p+16>>2]|0,k)|0;o=0;ha(176,s|0);m=o;o=0;if(!(m&1)){f=p+56|0;do{if(c[f>>2]|0){o=0;f=ka(66,f|0)|0;m=o;o=0;if(!(m&1)){c[l>>2]=f;h=s+28|0;j=c[h>>2]|0;if(j>>>0<(c[s+32>>2]|0)>>>0){c[j>>2]=f;c[h>>2]=j+4;c[l>>2]=0;t=19;break}o=0;ia(57,s+24|0,l|0);m=o;o=0;if(m&1){h=Na(824,0)|0;f=D;j=c[l>>2]|0;c[l>>2]=0;if(!j)break;Bb[c[(c[j>>2]|0)+4>>2]&255](j);break}else{f=c[l>>2]|0;c[l>>2]=0;if(!f){t=19;break}Bb[c[(c[f>>2]|0)+4>>2]&255](f);t=19;break}}else t=15}else t=19}while(0);a:do{if((t|0)==19){j=p+4|0;k=p+8|0;l=p+16|0;o=0;f=va(14,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;m=o;o=0;if(!(m&1)){c[n>>2]=f;m=s+28|0;h=c[m>>2]|0;do{if(h>>>0>=(c[s+32>>2]|0)>>>0){o=0;ia(57,s+24|0,n|0);h=o;o=0;if(h&1){h=Na(824,0)|0;f=D;j=c[n>>2]|0;c[n>>2]=0;if(!j)break a;Bb[c[(c[j>>2]|0)+4>>2]&255](j);break a}else{f=c[n>>2]|0;c[n>>2]=0;if(!f)break;Bb[c[(c[f>>2]|0)+4>>2]&255](f);break}}else{c[h>>2]=f;c[m>>2]=h+4;c[n>>2]=0}}while(0);f=c[p+28>>2]|0;if((f|0)!=0?(o=0,ia(58,s|0,f|0),t=o,o=0,t&1):0){t=15;break}b:do{if(!(c[p+24>>2]|0)){f=$(c[j>>2]|0,c[p>>2]|0)|0;f=$(f,((c[k>>2]|0)+7|0)/8|0)|0;if((c[l>>2]|0)>0){j=0;while(1){o=0;wa(4,s|0,e|0,p|0);t=o;o=0;if(t&1)break;h=c[q>>2]|0;if(h){c[q>>2]=h+f;c[r>>2]=(c[r>>2]|0)-f}j=j+1|0;if((j|0)>=(c[l>>2]|0))break b}h=Na(824,0)|0;f=D;t=16;break a}}else{o=0;wa(4,s|0,e|0,p|0);t=o;o=0;if(t&1){t=15;break a}}}while(0);o=0;ra(33,s|0,b|0)|0;t=o;o=0;if(!(t&1)){c[d>>2]=c[s+16>>2];if(g)a[g>>0]=0;j=s+24|0;f=c[j>>2]|0;if(f){h=c[m>>2]|0;if((h|0)!=(f|0)){do{g=h+-4|0;c[m>>2]=g;h=c[g>>2]|0;c[g>>2]=0;if(h)Bb[c[(c[h>>2]|0)+4>>2]&255](h);h=c[m>>2]|0}while((h|0)!=(f|0));f=c[j>>2]|0}cj(f)}g=0;i=w;return g|0}else t=15}else t=15}}while(0);if((t|0)==15){h=Na(824,0)|0;f=D;t=16}m=s+24|0;j=c[m>>2]|0;if(j){l=s+28|0;k=c[l>>2]|0;if((k|0)!=(j|0)){do{s=k+-4|0;c[l>>2]=s;k=c[s>>2]|0;c[s>>2]=0;if(k)Bb[c[(c[k>>2]|0)+4>>2]&255](k);k=c[l>>2]|0}while((k|0)!=(j|0));j=c[m>>2]|0}cj(j)}}else t=5}else t=5;if((t|0)==5){h=Na(824,0)|0;f=D}s=(f|0)==(Ta(824)|0);k=Va(h|0)|0;f=(g|0)==0;if(!s){if(!f)a[g>>0]=0;Xa();g=14;i=w;return g|0}j=k+12|0;do{if(!f){f=c[j>>2]|0;o=0;h=ua(1)|0;s=o;o=0;if(!(s&1))if((f|0)==(h|0)){ml(g,Eb[c[(c[k>>2]|0)+8>>2]&127](k)|0)|0;t=60;break}else{a[g>>0]=0;t=60;break}}else t=60}while(0);if((t|0)==60?(u=c[j>>2]|0,o=0,v=ua(1)|0,g=o,o=0,!(g&1)):0){g=(u|0)==(v|0)?c[k+8>>2]|0:13;Xa();i=w;return g|0}f=Na()|0;o=0;xa(3);w=o;o=0;if(w&1){w=Na(0)|0;ec(w)}else Ya(f|0);return 0}function dc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;l=i;i=i+112|0;g=l+96|0;k=l+84|0;m=l+72|0;n=l+60|0;p=l+48|0;q=l+36|0;r=l+24|0;s=l+12|0;t=l;j=(b|0)==0;if((a|0)==0&j){f=Ma(16)|0;o=0;wa(5,g|0,48504,52);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,g|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(g);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}h=c[e>>2]|0;if((h+-1|0)>>>0>65534){f=Ma(16)|0;o=0;wa(5,k|0,48557,41);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,k|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(k);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}g=c[e+4>>2]|0;if((g+-1|0)>>>0>65534){f=Ma(16)|0;o=0;wa(5,m|0,48599,42);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,m|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(m);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}f=c[e+8>>2]|0;if((f+-2|0)>>>0>14){f=Ma(16)|0;o=0;wa(5,n|0,48642,46);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,n|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(n);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}a=c[e+24>>2]|0;if(a>>>0>=3){f=Ma(16)|0;o=0;wa(5,p|0,48689,65);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,p|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(p);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}b=c[e+16>>2]|0;if((b+-1|0)>>>0>254){f=Ma(16)|0;o=0;wa(5,q|0,48755,44);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,q|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(q);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}if(!j?(q=$(g,h)|0,($($(q,(f|0)>8?2:1)|0,b)|0)>>>0>d>>>0):0){f=Ma(16)|0;o=0;wa(5,r|0,48800,58);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,r|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(r);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}switch(b|0){case 4:{if((a|0)!=2){i=l;return}f=Ma(16)|0;o=0;wa(5,s|0,48859,73);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,s|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(s);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}case 3:{i=l;return}default:{if(!a){i=l;return}f=Ma(16)|0;o=0;wa(5,t|0,48933,73);s=o;o=0;if(!(s&1)){o=0;b=ua(1)|0;s=o;o=0;if(!(s&1)?(o=0,Aa(36,f|0,1,b|0,t|0),s=o,o=0,!(s&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(t);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}}}function ec(a){a=a|0;Va(a|0)|0;jj()}function fc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;h=n+116|0;j=n;o=0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];ia(59,j|0,h|0);g=o;o=0;if(!(g&1)){if(e){g=j+16|0;d=g+84|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(d|0))}o=0;c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];ia(60,j|0,h|0);j=o;o=0;if(!(j&1)){if(f)a[f>>0]=0;m=0;i=n;return m|0}}b=Na(824,0)|0;j=D;j=(j|0)==(Ta(824)|0);b=Va(b|0)|0;d=(f|0)==0;if(!j){if(!d)a[f>>0]=0;Xa();m=14;i=n;return m|0}g=b+12|0;do{if(!d){d=c[g>>2]|0;o=0;e=ua(1)|0;j=o;o=0;if(!(j&1))if((d|0)==(e|0)){ml(f,Eb[c[(c[b>>2]|0)+8>>2]&127](b)|0)|0;m=10;break}else{a[f>>0]=0;m=10;break}}else m=10}while(0);if((m|0)==10?(k=c[g>>2]|0,o=0,l=ua(1)|0,m=o,o=0,!(m&1)):0){m=(k|0)==(l|0)?c[b+8>>2]|0:13;Xa();i=n;return m|0}d=Na()|0;o=0;xa(3);n=o;o=0;if(n&1){n=Na(0)|0;ec(n)}else Ya(d|0);return 0}function gc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+128|0;g=l+116|0;f=l;o=0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];ia(59,f|0,g|0);g=o;o=0;if((!(g&1)?(o=0,ha(177,f|0),g=o,o=0,!(g&1)):0)?(o=0,ia(61,f|0,1),g=o,o=0,!(g&1)):0){b=f+16|0;f=d+84|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(f|0));if(e)a[e>>0]=0;e=0;i=l;return e|0}g=Na(824,0)|0;d=D;d=(d|0)==(Ta(824)|0);g=Va(g|0)|0;b=(e|0)==0;if(!d){if(!b)a[e>>0]=0;Xa();e=14;i=l;return e|0}d=g+12|0;do{if(!b){b=c[d>>2]|0;o=0;f=ua(1)|0;m=o;o=0;if(!(m&1))if((b|0)==(f|0)){ml(e,Eb[c[(c[g>>2]|0)+8>>2]&127](g)|0)|0;k=13;break}else{a[e>>0]=0;k=13;break}}else k=13}while(0);if((k|0)==13?(h=c[d>>2]|0,o=0,j=ua(1)|0,m=o,o=0,!(m&1)):0){m=(h|0)==(j|0)?c[g+8>>2]|0:13;Xa();i=l;return m|0}b=Na()|0;o=0;xa(3);m=o;o=0;if(m&1){m=Na(0)|0;ec(m)}else Ya(b|0);return 0}function hc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;k=n+36|0;j=n+24|0;l=n+12|0;m=n;if(!((a|0)!=0&(d|0)!=0&(e|0)!=0&(g|0)!=0)){f=1;i=n;return f|0}c[l>>2]=0;c[l+4>>2]=a;c[l+8>>2]=b;c[m>>2]=0;c[m+4>>2]=e;c[m+8>>2]=f;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];f=cc(j,d,k,g,h)|0;i=n;return f|0}function ic(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f+12|0;h=f;j=h;c[j>>2]=0;c[j+4>>2]=0;c[h+4>>2]=a;c[h+8>>2]=b;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];d=gc(g,d,e)|0;i=f;return d|0}function jc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+48|0;j=h+36|0;k=h+24|0;m=h+12|0;l=h;c[m>>2]=0;c[m+4>>2]=a;c[m+8>>2]=b;c[l>>2]=0;c[l+4>>2]=d;c[l+8>>2]=e;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];e=fc(k,j,f,g)|0;i=h;return e|0}function kc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+4|0;d=c[a>>2]|0;f=((c[k>>2]|0)-d>>2)+1|0;if(f>>>0>1073741823){$i(a);d=c[a>>2]|0}l=a+8|0;e=(c[l>>2]|0)-d|0;if(e>>2>>>0<536870911){e=e>>1;e=e>>>0>>0?f:e;d=(c[k>>2]|0)-d>>2;if(!e){g=0;h=0}else i=6}else{e=1073741823;d=(c[k>>2]|0)-d>>2;i=6}if((i|0)==6){g=e;h=bj(e<<2)|0}f=h+(d<<2)|0;e=f;j=h+(g<<2)|0;i=c[b>>2]|0;c[b>>2]=0;c[f>>2]=i;i=h+(d+1<<2)|0;h=c[a>>2]|0;d=c[k>>2]|0;if((d|0)==(h|0)){f=a;g=k}else{do{d=d+-4|0;b=c[d>>2]|0;c[d>>2]=0;c[f+-4>>2]=b;f=e+-4|0;e=f}while((d|0)!=(h|0));d=e;f=a;g=k;e=d;h=c[a>>2]|0;d=c[k>>2]|0}c[f>>2]=e;c[g>>2]=i;c[l>>2]=j;f=h;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;c[d>>2]=0;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e)}while((d|0)!=(f|0));if(!h)return;cj(h);return}function lc(){if(a[8]|0)return 35648;if(!(Ha(8)|0))return 35648;kb(72,35648,n|0)|0;Pa(8);return 35648}function mc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;Ei(l,(1<>2]|0;m=h+1|0;e=m<<1;c[b>>2]=0;j=b+4|0;c[j>>2]=0;c[b+8>>2]=0;a:do{if(m){if(!((h|0)<-1?(o=0,ha(178,b|0),k=o,o=0,k&1):0))f=4;if((f|0)==4?(o=0,g=ka(67,e|0)|0,k=o,o=0,!(k&1)):0){c[j>>2]=g;c[b>>2]=g;c[b+8>>2]=g+e;d=g;while(1){a[d>>0]=0;d=(c[j>>2]|0)+1|0;c[j>>2]=d;e=e+-1|0;if(!e)break a}}e=Na()|0;d=c[b>>2]|0;if(!d)Ya(e|0);if((c[j>>2]|0)!=(d|0))c[j>>2]=d;cj(d);Ya(e|0)}}while(0);d=~h;if((h|0)<(d|0)){i=n;return}j=l+12|0;k=l+8|0;h=l+4|0;g=d;do{d=c[j>>2]|0;if((g|0)>(0-d|0)){e=c[k>>2]|0;if((g|0)>(0-e|0)){f=c[h>>2]|0;if((g|0)>(0-f|0))if((g|0)>=0)if((g|0)>0)if((f|0)<=(g|0))if((e|0)>(g|0))d=2;else d=(d|0)>(g|0)?3:4;else d=1;else d=0;else d=-1;else d=-2}else d=-3}else d=-4;a[(c[b>>2]|0)+(g+m)>>0]=d;g=g+1|0}while((g|0)<(m|0));i=n;return}function nc(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=c[f+16>>2]|0;switch(q|0){case 64:case 0:{o=0;d=ra(34,d|0,e|0)|0;e=o;o=0;if(e&1)r=16;else g=d;break}default:{h=(1<>2])+-1|0;p=c[e+20>>2]|0;n=p<<1;n=((n+h|0)/(n|1|0)|0)+1|0;d=0;while(1)if((1<>2]|0;o=0;g=ka(67,4624)|0;m=o;o=0;if(m&1)r=16;else{i=((j|0)<8?8:j)+j<<1;k=g+4|0;l=e;m=k+84|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));k=g+88|0;m=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));c[g>>2]=35660;c[g+128>>2]=h;c[g+132>>2]=n;c[g+136>>2]=p;c[g+140>>2]=d;c[g+144>>2]=j;c[g+148>>2]=i;c[g+152>>2]=q;d=g+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+172>>2]=c[e>>2];c[g+176>>2]=0;c[g+180>>2]=0;c[g+184>>2]=0;d=g+4568|0;h=g+188|0;do{c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;b[h+10>>1]=1;h=h+12|0}while((h|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1}}}if((r|0)==16){r=Na()|0;Ya(r|0)}if(!g)return g|0;o=0;ia(c[(c[g>>2]|0)+12>>2]|0,g|0,f|0);r=o;o=0;if(!(r&1))return g|0;d=Na()|0;if(!g){r=d;Ya(r|0)}Bb[c[(c[g>>2]|0)+4>>2]&255](g);r=d;Ya(r|0);return 0}function oc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=(c[e+24>>2]|0)==2;if(f?(c[e+16>>2]|0)!=3:0){e=0;return e|0}n=c[e+20>>2]|0;d=c[e+8>>2]|0;a:do{if(!n){if(f){if((d|0)!=8)break;g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35688;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}switch(d|0){case 8:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35716;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}case 12:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35744;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}case 16:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35772;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}default:break a}}}while(0);m=(1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35800;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35660;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}}if((d|0)>=17){e=0;return e|0}i=n<<1;i=((i+m|0)/(i|1|0)|0)+1|0;if(f){d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35828;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35856;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}return 0}function pc(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=c[f+16>>2]|0;switch(q|0){case 64:case 0:{o=0;d=ra(35,d|0,e|0)|0;e=o;o=0;if(e&1)r=16;else g=d;break}default:{h=(1<>2])+-1|0;p=c[e+20>>2]|0;n=p<<1;n=((n+h|0)/(n|1|0)|0)+1|0;d=0;while(1)if((1<>2]|0;o=0;g=ka(67,4632)|0;m=o;o=0;if(m&1)r=16;else{i=((j|0)<8?8:j)+j<<1;c[g+4>>2]=0;k=g+8|0;l=e;m=k+84|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;m=g+116|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[g>>2]=35884;c[g+136>>2]=h;c[g+140>>2]=n;c[g+144>>2]=p;c[g+148>>2]=d;c[g+152>>2]=j;c[g+156>>2]=i;c[g+160>>2]=q;d=g+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+180>>2]=c[e>>2];c[g+184>>2]=0;c[g+188>>2]=0;c[g+192>>2]=0;d=g+4576|0;h=g+196|0;do{c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;b[h+10>>1]=1;h=h+12|0}while((h|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1}}}if((r|0)==16){r=Na()|0;Ya(r|0)}if(!g)return g|0;o=0;ia(c[(c[g>>2]|0)+8>>2]|0,g|0,f|0);r=o;o=0;if(!(r&1))return g|0;d=Na()|0;if(!g){r=d;Ya(r|0)}Bb[c[(c[g>>2]|0)+4>>2]&255](g);r=d;Ya(r|0);return 0}function qc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=(c[e+24>>2]|0)==2;if(f?(c[e+16>>2]|0)!=3:0){e=0;return e|0}n=c[e+20>>2]|0;d=c[e+8>>2]|0;a:do{if(!n){if(f){if((d|0)!=8)break;g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35912;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}switch(d|0){case 8:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35940;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}case 12:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35968;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}case 16:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35996;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}default:break a}}}while(0);m=(1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36024;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=35884;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}}if((d|0)>=17){e=0;return e|0}i=n<<1;i=((i+m|0)/(i|1|0)|0)+1|0;if(f){d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36052;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36080;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}return 0}function rc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=2832;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=4880);iw(2832,0,2048)|0;a=0;do{h=2832+(a+128<<3)|0;c[h>>2]=0;c[h+4>>2]=1;a=a+1|0}while((a|0)!=128);a=3088;c[a>>2]=1;c[a+4>>2]=3;a=3096;c[a>>2]=1;c[a+4>>2]=3;a=3104;c[a>>2]=1;c[a+4>>2]=3;a=3112;c[a>>2]=1;c[a+4>>2]=3;a=3120;c[a>>2]=1;c[a+4>>2]=3;a=3128;c[a>>2]=1;c[a+4>>2]=3;a=3136;c[a>>2]=1;c[a+4>>2]=3;a=3144;c[a>>2]=1;c[a+4>>2]=3;a=3152;c[a>>2]=1;c[a+4>>2]=3;a=3160;c[a>>2]=1;c[a+4>>2]=3;a=3168;c[a>>2]=1;c[a+4>>2]=3;a=3176;c[a>>2]=1;c[a+4>>2]=3;a=3184;c[a>>2]=1;c[a+4>>2]=3;a=3192;c[a>>2]=1;c[a+4>>2]=3;a=3200;c[a>>2]=1;c[a+4>>2]=3;a=3208;c[a>>2]=1;c[a+4>>2]=3;a=3216;c[a>>2]=1;c[a+4>>2]=3;a=3224;c[a>>2]=1;c[a+4>>2]=3;a=3232;c[a>>2]=1;c[a+4>>2]=3;a=3240;c[a>>2]=1;c[a+4>>2]=3;a=3248;c[a>>2]=1;c[a+4>>2]=3;a=3256;c[a>>2]=1;c[a+4>>2]=3;a=3264;c[a>>2]=1;c[a+4>>2]=3;a=3272;c[a>>2]=1;c[a+4>>2]=3;a=3280;c[a>>2]=1;c[a+4>>2]=3;a=3288;c[a>>2]=1;c[a+4>>2]=3;a=3296;c[a>>2]=1;c[a+4>>2]=3;a=3304;c[a>>2]=1;c[a+4>>2]=3;a=3312;c[a>>2]=1;c[a+4>>2]=3;a=3320;c[a>>2]=1;c[a+4>>2]=3;a=3328;c[a>>2]=1;c[a+4>>2]=3;a=3336;c[a>>2]=1;c[a+4>>2]=3;a=2896;c[a>>2]=2;c[a+4>>2]=5;a=2904;c[a>>2]=2;c[a+4>>2]=5;a=2912;c[a>>2]=2;c[a+4>>2]=5;a=2920;c[a>>2]=2;c[a+4>>2]=5;a=2928;c[a>>2]=2;c[a+4>>2]=5;a=2936;c[a>>2]=2;c[a+4>>2]=5;a=2944;c[a>>2]=2;c[a+4>>2]=5;a=2952;c[a>>2]=2;c[a+4>>2]=5;a=2848;c[a>>2]=3;c[a+4>>2]=7;a=2856;c[a>>2]=3;c[a+4>>2]=7;a=0;do{h=2832+(a+64<<3)|0;c[h>>2]=-1;c[h+4>>2]=2;a=a+1|0}while((a|0)!=64);a=2960;c[a>>2]=-2;c[a+4>>2]=4;a=2968;c[a>>2]=-2;c[a+4>>2]=4;a=2976;c[a>>2]=-2;c[a+4>>2]=4;a=2984;c[a>>2]=-2;c[a+4>>2]=4;a=2992;c[a>>2]=-2;c[a+4>>2]=4;a=3e3;c[a>>2]=-2;c[a+4>>2]=4;a=3008;c[a>>2]=-2;c[a+4>>2]=4;a=3016;c[a>>2]=-2;c[a+4>>2]=4;a=3024;c[a>>2]=-2;c[a+4>>2]=4;a=3032;c[a>>2]=-2;c[a+4>>2]=4;a=3040;c[a>>2]=-2;c[a+4>>2]=4;a=3048;c[a>>2]=-2;c[a+4>>2]=4;a=3056;c[a>>2]=-2;c[a+4>>2]=4;a=3064;c[a>>2]=-2;c[a+4>>2]=4;a=3072;c[a>>2]=-2;c[a+4>>2]=4;a=3080;c[a>>2]=-2;c[a+4>>2]=4;a=2864;c[a>>2]=-3;c[a+4>>2]=6;a=2872;c[a>>2]=-3;c[a+4>>2]=6;a=2880;c[a>>2]=-3;c[a+4>>2]=6;a=2888;c[a>>2]=-3;c[a+4>>2]=6;a=2840;c[a>>2]=-4;c[a+4>>2]=8;a=4880;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=6928);iw(4880,0,2048)|0;d=2;a=0;f=0;g=0;while(1){d=d<<16>>16;b=8-d|0;e=1<>2]=f;c[h+4>>2]=d;b=b+1|0}while((b|0)<(e|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==7){b=2;f=1;g=-1;h=-1;break}else{d=(a>>1)+2|0;f=b>>16}}while(1){d=b<<16>>16;a=8-d|0;e=1<>2]=g;c[f+4>>2]=d;b=b+1|0}while((b|0)<(e|0))}a=(h<<16)+-65536|0;f=a>>31^a>>15;b=(f>>1)+2|0;if((b|0)>8){a=6928;break}else{g=a>>16;h=h+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=8976);iw(6928,0,2048)|0;f=3;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==12){f=3;b=1;e=-1;g=-1;break}else{f=(a>>2)+3|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>2)+3|0;if((f|0)>8){a=8976;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=11024);iw(8976,0,2048)|0;f=4;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==20){f=4;b=1;e=-1;g=-1;break}else{f=(a>>3)+4|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>3)+4|0;if((f|0)>8){a=11024;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=13072);iw(11024,0,2048)|0;f=5;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==32){f=5;b=1;e=-1;g=-1;break}else{f=(a>>4)+5|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>4)+5|0;if((f|0)>8){a=13072;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=15120);iw(13072,0,2048)|0;f=6;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==48){f=6;b=1;e=-1;g=-1;break}else{f=(a>>5)+6|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>5)+6|0;if((f|0)>8){a=15120;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=17168);iw(15120,0,2048)|0;f=7;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==64){f=7;b=1;e=-1;g=-1;break}else{f=(a>>6)+7|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>6)+7|0;if((f|0)>8){a=17168;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=19216);iw(17168,0,2048)|0;f=8;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==64){g=8;e=1;f=-1;h=-1;break}else{f=(a>>7)+8|0;e=b>>16}}while(1){a=8-g|0;d=1<>2]=f;c[e+4>>2]=g;b=b+1|0}while((b|0)<(d|0))}b=(h<<16)+-65536|0;e=b>>31^b>>15;a=e>>7;if((a|0)>0){a=19216;break}else{g=a+8|0;f=b>>16;h=h+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=21264);iw(19216,0,2048)|0;a=21264;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=23312);iw(21264,0,2048)|0;a=23312;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=25360);iw(23312,0,2048)|0;a=25360;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=27408);iw(25360,0,2048)|0;a=27408;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=29456);iw(27408,0,2048)|0;a=29456;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=31504);iw(29456,0,2048)|0;a=31504;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=33552);iw(31504,0,2048)|0;a=33552;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=35600);iw(33552,0,2048)|0;mc(35600,8);kb(179,35600,n|0)|0;mc(35612,10);kb(179,35612,n|0)|0;mc(35624,12);kb(179,35624,n|0)|0;mc(35636,16);kb(179,35636,n|0)|0;return}function sc(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;a=a+4|0;if((c[a>>2]|0)!=(b|0))c[a>>2]=b;cj(b);return}function tc(a){a=a|0;var b=0,d=0;c[a>>2]=36080;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function uc(a){a=a|0;var b=0,d=0;c[a>>2]=36080;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function vc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;he(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function wc(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35856;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Yd(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Yd(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function xc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function yc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36460;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36436;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Ac(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36412;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Bc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36388;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=b+32|0;Jm(i,d)|0;h=b+44|0;c[h>>2]=0;j=b+48|0;g=c[j>>2]|0;if(g&8){d=a[i>>0]|0;if(!(d&1)){d=((d&255)>>>1)+(i+1)|0;c[h>>2]=d;e=i+1|0;f=i+1|0}else{d=(c[b+40>>2]|0)+(c[b+36>>2]|0)|0;c[h>>2]=d;f=c[b+40>>2]|0;e=f}c[b+8>>2]=e;c[b+12>>2]=f;c[b+16>>2]=d}if(!(g&16))return;d=a[i>>0]|0;if(!(d&1)){g=(d&255)>>>1;c[h>>2]=i+1+g;d=10;h=g}else{g=c[b+36>>2]|0;c[h>>2]=(c[b+40>>2]|0)+g;d=(c[i>>2]&-2)+-1|0;h=g}Mm(i,d,0);d=a[i>>0]|0;if(!(d&1)){g=i+1|0;f=(d&255)>>>1;e=i+1|0}else{e=c[b+40>>2]|0;g=e;f=c[b+36>>2]|0}d=b+24|0;c[d>>2]=e;c[b+20>>2]=e;c[b+28>>2]=g+f;if(!(c[j>>2]&3))return;c[d>>2]=e+h;return}function Dc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;j=q+16|0;p=q+8|0;k=q;o=0;ia(65,p|0,b|0);m=o;o=0;a:do{if(m&1){e=Na(0)|0;f=b;g=b}else{do{if(a[p>>0]|0){f=c[(c[b>>2]|0)+-12>>2]|0;c[k>>2]=c[b+(f+24)>>2];l=b+f|0;m=c[b+(f+4)>>2]|0;g=d+e|0;f=b+(f+76)|0;e=c[f>>2]|0;do{if((e|0)==-1){o=0;e=ka(68,l|0)|0;r=o;o=0;if(r&1)n=13;else{c[j>>2]=e;o=0;e=ra(37,j|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(j);e=h<<24>>24;c[f>>2]=e;n=9;break}e=Na(0)|0;Gs(j)}}else n=9}while(0);if((n|0)==9){o=0;c[j>>2]=c[k>>2];e=ja(39,j|0,d|0,((m&176|0)==32?g:d)|0,g|0,l|0,e&255|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break;else n=13}else n=13}if((n|0)==13)e=Na(0)|0;ho(p);f=b;g=b;break a}}while(0);ho(p);i=q;return b|0}}while(0);Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();i=q;return b|0}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0);return 0}function Ec(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[d+48>>2]|0;if(e&16){e=d+44|0;f=c[e>>2]|0;g=c[d+24>>2]|0;if(f>>>0>>0)c[e>>2]=g;else g=f;f=c[d+20>>2]|0;h=g-f|0;if(h>>>0>4294967279)_i(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{d=h+16&-16;e=bj(d)|0;c[b+8>>2]=e;c[b>>2]=d|1;c[b+4>>2]=h}if((f|0)!=(g|0)){d=e;while(1){a[d>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(g|0))break;else d=d+1|0}e=e+h|0}a[e>>0]=0;return}if(!(e&8)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}f=c[d+8>>2]|0;d=c[d+16>>2]|0;h=d-f|0;if(h>>>0>4294967279)_i(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{g=h+16&-16;e=bj(g)|0;c[b+8>>2]=e;c[b>>2]=g|1;c[b+4>>2]=h}if((f|0)!=(d|0)){g=e;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(d|0))break;else g=g+1|0}e=e+h|0}a[e>>0]=0;return}function Fc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36364;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do{if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Gc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36340;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do{if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Hc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36316;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do{if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Ic(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36316;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Jc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36316;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Kc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;Pc(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Pc(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;Mc(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Nc(a,f,b,d,e);return}}function Mc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=d+4|0;j=c[m>>2]|0;do{if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{o=c[j>>2]|0;m=e[n+(f*6|0)+2>>1]<>1]<>1]<>1]=(m+49152+((d+i|0)>>>2)&65535)>>>o;b[g+(f*6|0)+2>>1]=d>>>o;b[g+(f*6|0)+4>>1]=i>>>o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{h=e[n+(f*6|0)+2>>1]<>1]<>1]<>1]=(h+49152+((d+o|0)>>>2)&65535)>>>j;b[g+(f+i<<1)>>1]=d>>>j;b[g+(f+l<<1)>>1]=o>>>j;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;m=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;p=e[n+(f<<3)+2>>1]<>1]<>1]<>1]=(p+49152+((h+d|0)>>>2)&65535)>>>j;b[g+(f+i<<1)>>1]=h>>>j;b[g+(f+l<<1)>>1]=d>>>j;b[g+(f+m<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}default:return}}function Nc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Mc(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Mc(b,t,e,f,g);i=q;return}function Oc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+176|0;e=g+152|0;l=g+16|0;j=g;if(!(d&1)){e=(d|0)/4|0;if((d|0)>3){f=0;do{l=b+(f<<2)|0;k=c[l>>2]|0;c[l>>2]=k>>>8&16711935|k<<8&-16711936;f=f+1|0}while((f|0)<(e|0))}if(!(d&3)){i=g;return}j=b+(d+-2)|0;l=b+(d+-1)|0;k=a[j>>0]|0;a[j>>0]=a[l>>0]|0;a[l>>0]=k;i=g;return}k=l+56|0;h=l+4|0;c[l>>2]=36160;c[k>>2]=36180;o=0;ia(62,l+56|0,h|0);g=o;o=0;if(g&1){l=Na()|0;fn(k);Ya(l|0)}c[l+128>>2]=0;c[l+132>>2]=-1;c[l>>2]=36200;c[l+56>>2]=36220;o=0;ha(180,h|0);g=o;o=0;do{if(g&1)e=Na()|0;else{c[h>>2]=36236;g=l+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[l+52>>2]=16;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;o=0;ia(63,h|0,e|0);b=o;o=0;if(b&1){l=Na()|0;Im(e);Im(g);nn(h);e=l;break}Im(e);o=0;e=ma(28,l|0,49087,24)|0;b=o;o=0;if((!(b&1)?(o=0,f=ra(36,e|0,d|0)|0,d=o,o=0,!(d&1)):0)?(o=0,ma(28,f|0,49112,20)|0,d=o,o=0,!(d&1)):0){b=Ma(16)|0;o=0;ia(64,j|0,h|0);d=o;o=0;if(!(d&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,b|0,1,35648,j|0);d=o;o=0;if(d&1)f=1;else{o=0;wa(6,b|0,824,96);o=0;f=0}e=Na()|0;Im(j);if(!f){j=e;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}}else e=Na()|0;La(b|0);j=e;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}j=Na()|0;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}}while(0);l=e;fn(k);Ya(l|0)}function Pc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=d+4|0;j=c[n>>2]|0;a:do{switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{i=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>1]<>2)+16384|0;b[g+(d*6|0)>>1]=(k+32768+m&65535)>>>i;b[g+(d*6|0)+2>>1]=(m&65535)>>>i;b[g+(d*6|0)+4>>1]=(l+32768+m&65535)>>>i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{m=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>1]<>2)+16384|0;b[g+(d*6|0)>>1]=(q+32768+o&65535)>>>m;b[g+(d*6|0)+2>>1]=(o&65535)>>>m;b[g+(d*6|0)+4>>1]=(p+32768+o&65535)>>>m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{q=c[j>>2]|0;p=e[f+(k+i<<1)>>1]<>1]<>1]<>2)+16384|0;r=b[f+(k+d<<1)>>1]|0;t=mw((o&65535)>>>q&65535|0,0,16)|0;p=(p+32768+o&65535)>>>q|D;r=mw(r&65535|0,0,48)|0;r=t|(s+32768+o&65535)>>>q&65535|r;p=p&65535|D;q=g+(k<<3)|0;o=q;b[o>>1]=r;b[o+2>>1]=r>>>16;q=q+4|0;b[q>>1]=p;b[q+2>>1]=p>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){t=j+4|0;s=b[j>>1]|0;b[j>>1]=b[t>>1]|0;b[t>>1]=s;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function Qc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36340;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Rc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36340;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;Wc(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Wc(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Tc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;Uc(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Vc(a,f,b,d,e);return}}function Uc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=d+4|0;j=c[m>>2]|0;do{if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{i=c[j>>2]|0;m=e[n+(f*6|0)>>1]<>1]<>1]<>>1)&65535)>>>i&65535;b[g+(f*6|0)>>1]=(m+32768-d&65535)>>>i;b[g+(f*6|0)+2>>1]=(d&65535)>>>i;b[g+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{h=e[n+(f*6|0)>>1]<>1]<>1]<>>1)&65535)>>>j&65535;b[g+(f<<1)>>1]=(h+32768-d&65535)>>>j;b[g+(f+i<<1)>>1]=(d&65535)>>>j;b[g+(f+l<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;m=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;p=e[n+(f<<3)>>1]<>1]<>1]<>>1)&65535)>>>j&65535;b[g+(f<<1)>>1]=(p+32768-h&65535)>>>j;b[g+(f+i<<1)>>1]=(h&65535)>>>j;b[g+(f+l<<1)>>1]=d;b[g+(f+m<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}default:return}}function Vc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Uc(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Uc(b,t,e,f,g);i=q;return}function Wc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=d+4|0;j=c[n>>2]|0;a:do{switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{m=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>1]<>>1)&65535)>>>m&65535;b[g+(d*6|0)>>1]=k>>>m;b[g+(d*6|0)+2>>1]=l>>>m;b[g+(d*6|0)+4>>1]=i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{o=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>1]<>>1)&65535)>>>o&65535;b[g+(d*6|0)>>1]=q>>>o;b[g+(d*6|0)+2>>1]=p>>>o;b[g+(d*6|0)+4>>1]=m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{o=c[j>>2]|0;q=e[f+(k+i<<1)>>1]<>1]<>1]<>>1)&65535)>>>o;r=b[f+(k+d<<1)>>1]|0;q=mw(q>>>o&65535|0,0,16)|0;p=D|p;r=mw(r&65535|0,0,48)|0;r=s>>>o&65535|q|r;p=p&65535|D;q=g+(k<<3)|0;o=q;b[o>>1]=r;b[o+2>>1]=r>>>16;q=q+4|0;b[q>>1]=p;b[q+2>>1]=p>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){s=j+4|0;r=b[j>>1]|0;b[j>>1]=b[s>>1]|0;b[s>>1]=r;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function Xc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36364;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Yc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36364;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;bd(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;bd(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function _c(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;$c(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{ad(a,f,b,d,e);return}}function $c(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;m=d+4|0;j=c[m>>2]|0;do{if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{i=c[j>>2]|0;d=e[n+(f*6|0)+2>>1]<>1]<>>i&65535;b[g+(f*6|0)>>1]=((e[n+(f*6|0)>>1]<>>i;b[g+(f*6|0)+2>>1]=(d&65535)>>>i;b[g+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{d=e[n+(f*6|0)+2>>1]<>1]<>>j&65535;b[g+(f<<1)>>1]=((e[n+(f*6|0)>>1]<>>j;b[g+(f+i<<1)>>1]=(d&65535)>>>j;b[g+(f+l<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;l=(i|0)<(h|0)?i:h;if((l|0)<=0)return;m=i<<1;k=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;h=e[n+(f<<3)+2>>1]<>1]<>>j&65535;b[g+(f<<1)>>1]=((e[n+(f<<3)>>1]<>>j;b[g+(f+i<<1)>>1]=(h&65535)>>>j;b[g+(f+m<<1)>>1]=d;b[g+(f+k<<1)>>1]=o;f=f+1|0}while((f|0)!=(l|0));return}default:return}}function ad(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;$c(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;$c(b,t,e,f,g);i=q;return}function bd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=d+4|0;j=c[n>>2]|0;a:do{switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{m=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>>m&65535;b[g+(d*6|0)>>1]=((e[f+(d*6|0)>>1]<>>m;b[g+(d*6|0)+2>>1]=(l&65535)>>>m;b[g+(d*6|0)+4>>1]=i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{o=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>>o&65535;b[g+(d*6|0)>>1]=((e[f+(d<<1)>>1]<>>o;b[g+(d*6|0)+2>>1]=(p&65535)>>>o;b[g+(d*6|0)+4>>1]=m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{q=c[j>>2]|0;s=e[f+(k+i<<1)>>1]<>1]<>>q;o=(s+32768+(e[f+(k+l<<1)>>1]<>>q;r=b[f+(k+d<<1)>>1]|0;q=mw((s&65535)>>>q&65535|0,0,16)|0;o=o|D;r=mw(r&65535|0,0,48)|0;r=q|p&65535|r;o=o&65535|D;p=g+(k<<3)|0;q=p;b[q>>1]=r;b[q+2>>1]=r>>>16;p=p+4|0;b[p>>1]=o;b[p+2>>1]=o>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){s=j+4|0;r=b[j>>1]|0;b[j>>1]=b[s>>1]|0;b[s>>1]=r;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function cd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0;p=i;i=i+16|0;m=p;n=c[b>>2]|0;if(!n){b=0;i=p;return b|0}q=d;k=f-q|0;l=g+12|0;j=c[l>>2]|0;k=(j|0)>(k|0)?j-k|0:0;j=e;g=j-q|0;if((g|0)>0?(Gb[c[(c[n>>2]|0)+48>>2]&63](n,d,g)|0)!=(g|0):0){c[b>>2]=0;q=0;i=p;return q|0}do{if((k|0)>0){Hm(m,k,h);o=0;g=ma(c[(c[n>>2]|0)+48>>2]|0,n|0,((a[m>>0]&1)==0?m+1|0:c[m+8>>2]|0)|0,k|0)|0;q=o;o=0;if(q&1){q=Na()|0;Im(m);Ya(q|0)}if((g|0)==(k|0)){Im(m);break}c[b>>2]=0;Im(m);q=0;i=p;return q|0}}while(0);f=f-j|0;if((f|0)>0?(Gb[c[(c[n>>2]|0)+48>>2]&63](n,e,f)|0)!=(f|0):0){c[b>>2]=0;q=0;i=p;return q|0}c[l>>2]=0;q=n;i=p;return q|0}function dd(a){a=a|0;c[a>>2]=36236;Im(a+32|0);nn(a);return}function ed(a){a=a|0;c[a>>2]=36236;Im(a+32|0);nn(a);cj(a);return}function fd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=d+44|0;j=c[i>>2]|0;l=d+24|0;m=c[l>>2]|0;if(j>>>0>>0){c[i>>2]=m;j=m}k=j;i=h&24;if(!i){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((g|0)==1&(i|0)==24){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}a:do{switch(g|0){case 0:{i=0;g=0;break}case 1:if(!(h&8)){g=m-(c[d+20>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}else{g=(c[d+12>>2]|0)-(c[d+8>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}case 2:{i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;g=j-i|0;i=g;g=((g|0)<0)<<31>>31;break}default:{d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}}while(0);g=jw(i|0,g|0,e|0,f|0)|0;e=D;if((e|0)>=0){i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;f=j-i|0;j=((f|0)<0)<<31>>31;if(!((j|0)<(e|0)|(j|0)==(e|0)&f>>>0>>0)){i=h&8;if(!((g|0)==0&(e|0)==0)){if((i|0)!=0?(c[d+12>>2]|0)==0:0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((h&16|0)!=0&(m|0)==0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}if(i){c[d+12>>2]=(c[d+8>>2]|0)+g;c[d+16>>2]=k}if(h&16)c[l>>2]=(c[d+20>>2]|0)+g;d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=g;c[d+4>>2]=e;return}}d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}function gd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=d+8|0;Ib[c[(c[b>>2]|0)+16>>2]&15](a,b,c[d>>2]|0,c[d+4>>2]|0,0,e);return}function hd(a){a=a|0;var b=0,e=0,f=0,g=0;b=a+44|0;e=c[b>>2]|0;f=c[a+24>>2]|0;if(e>>>0>>0){c[b>>2]=f;e=f}if(!(c[a+48>>2]&8)){a=-1;return a|0}g=a+16|0;b=c[g>>2]|0;f=a+12|0;if(b>>>0>>0){f=c[f>>2]|0;c[g>>2]=e;b=e}else f=c[f>>2]|0;if(f>>>0>=b>>>0){a=-1;return a|0}a=d[f>>0]|0;return a|0}function id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=b+44|0;e=c[f>>2]|0;g=c[b+24>>2]|0;if(e>>>0>>0){c[f>>2]=g;e=g}j=b+8|0;f=c[j>>2]|0;k=b+12|0;h=c[k>>2]|0;i=f;if(f>>>0>=h>>>0){b=-1;return b|0}if((d|0)==-1){c[j>>2]=f;c[k>>2]=h+-1;c[b+16>>2]=e;b=0;return b|0}if(!(c[b+48>>2]&16)){g=d&255;f=h+-1|0;if(g<<24>>24!=(a[f>>0]|0)){b=-1;return b|0}}else{g=d&255;f=h+-1|0}c[j>>2]=i;c[k>>2]=f;c[b+16>>2]=e;a[f>>0]=g;b=d;return b|0}function jd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+16|0;n=t;if((d|0)==-1){b=0;i=t;return b|0}p=b+12|0;q=b+8|0;r=(c[p>>2]|0)-(c[q>>2]|0)|0;s=b+24|0;e=c[s>>2]|0;m=b+28|0;f=c[m>>2]|0;do{if((e|0)==(f|0)){k=b+48|0;if(!(c[k>>2]&16)){b=-1;i=t;return b|0}l=b+20|0;j=c[l>>2]|0;g=e-j|0;h=b+44|0;j=(c[h>>2]|0)-j|0;f=b+32|0;o=0;ia(67,f|0,0);e=o;o=0;if(!(e&1)){if(!(a[f>>0]&1))e=10;else e=(c[f>>2]&-2)+-1|0;o=0;wa(8,f|0,e|0,0);e=o;o=0;if(!(e&1)){e=a[f>>0]|0;if(!(e&1)){f=f+1|0;e=(e&255)>>>1}else{f=c[b+40>>2]|0;e=c[b+36>>2]|0}u=f+e|0;c[l>>2]=f;c[m>>2]=u;l=f+g|0;c[s>>2]=l;e=f+j|0;c[h>>2]=e;f=u;break}}u=Na(0)|0;Va(u|0)|0;Xa();u=-1;i=t;return u|0}else{u=b+44|0;k=b+48|0;h=u;l=e;e=c[u>>2]|0}}while(0);j=l+1|0;c[n>>2]=j;g=c[(j>>>0>>0?h:n)>>2]|0;c[h>>2]=g;if(c[k>>2]&8){e=b+32|0;if(!(a[e>>0]&1))e=e+1|0;else e=c[b+40>>2]|0;c[q>>2]=e;c[p>>2]=e+r;c[b+16>>2]=g}if((l|0)==(f|0)){u=Lb[c[(c[b>>2]|0)+52>>2]&63](b,d&255)|0;i=t;return u|0}else{c[s>>2]=j;a[l>>0]=d;u=d&255;i=t;return u|0}return 0}function kd(a){a=a|0;var b=0,d=0;c[a>>2]=36200;b=a+56|0;c[b>>2]=36220;d=a+4|0;c[d>>2]=36236;Im(a+36|0);nn(d);fn(b);return}function ld(a){a=a|0;var b=0,d=0;c[a>>2]=36200;b=a+56|0;c[b>>2]=36220;d=a+4|0;c[d>>2]=36236;Im(a+36|0);nn(d);fn(b);cj(a);return}function md(a){a=a|0;var b=0,d=0,e=0,f=0;f=c[(c[a>>2]|0)+-12>>2]|0;b=a+f|0;c[b>>2]=36200;d=a+(f+56)|0;c[d>>2]=36220;e=a+(f+4)|0;c[e>>2]=36236;Im(a+(f+36)|0);nn(e);fn(d);cj(b);return}function nd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36388;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function od(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36388;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function pd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;td(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;td(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;rd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{sd(a,f,b,d,e);return}}function rd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;l=d+4|0;j=c[l>>2]|0;do{if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{l=e[m+(j*6|0)+2>>1]|0;i=32768-l+(e[m+(j*6|0)+4>>1]|0)|0;n=(e[m+(j*6|0)>>1]|0)-l+32768|0;b[g+(j*6|0)>>1]=l+49152+(((i&65535)+(n&65535)|0)>>>2);b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{l=e[m+(f*6|0)+2>>1]|0;h=32768-l+(e[m+(f*6|0)+4>>1]|0)|0;n=(e[m+(f*6|0)>>1]|0)-l+32768|0;b[g+(f<<1)>>1]=l+49152+(((h&65535)+(n&65535)|0)>>>2);b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{n=b[m+(k<<3)+6>>1]|0;o=e[m+(k<<3)+2>>1]|0;l=32768-o+(e[m+(k<<3)+4>>1]|0)|0;h=(e[m+(k<<3)>>1]|0)-o+32768|0;b[g+(k<<1)>>1]=o+49152+(((l&65535)+(h&65535)|0)>>>2);b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function sd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;rd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;rd(b,t,e,f,g);i=q;return}function td(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=e[f+(d*6|0)+2>>1]|0;k=e[f+(d*6|0)+4>>1]|0;i=(e[f+(d*6|0)>>1]|0)-((k+l|0)>>>2)+16384|0;b[g+(d*6|0)>>1]=k+32768+i;b[g+(d*6|0)+2>>1]=i;b[g+(d*6|0)+4>>1]=l+32768+i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=e[f+(k+i<<1)>>1]|0;o=e[f+(k+j<<1)>>1]|0;l=(e[f+(k<<1)>>1]|0)-((o+n|0)>>>2)+16384|0;b[g+(k*6|0)>>1]=o+32768+l;b[g+(k*6|0)+2>>1]=l;b[g+(k*6|0)+4>>1]=n+32768+l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{n=e[f+(k+i<<1)>>1]|0;p=e[f+(k+d<<1)>>1]|0;o=(e[f+(k<<1)>>1]|0)-((p+n|0)>>>2)+16384|0;q=b[f+(k+j<<1)>>1]|0;r=mw(o&65535|0,0,16)|0;n=n+32768+o|D;q=mw(q&65535|0,0,48)|0;q=r|p+32768+o&65535|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){r=d+4|0;q=b[d>>1]|0;b[d>>1]=b[r>>1]|0;b[r>>1]=q;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function ud(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36412;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function vd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36412;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function wd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Ad(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Ad(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;yd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{zd(a,f,b,d,e);return}}function yd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=d+4|0;j=c[l>>2]|0;do{if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{k=e[m+(j*6|0)>>1]|0;i=b[m+(j*6|0)+2>>1]|0;l=i&65535;n=(e[m+(j*6|0)+4>>1]|0)+32768-((l+k|0)>>>1)&65535;b[g+(j*6|0)>>1]=k+32768-l;b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{h=b[m+(f*6|0)+2>>1]|0;k=e[m+(f*6|0)>>1]|0;l=h&65535;n=(e[m+(f*6|0)+4>>1]|0)+32768-((l+k|0)>>>1)&65535;b[g+(f<<1)>>1]=k+32768-l;b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{l=b[m+(k<<3)+2>>1]|0;n=b[m+(k<<3)+6>>1]|0;p=e[m+(k<<3)>>1]|0;o=l&65535;h=(e[m+(k<<3)+4>>1]|0)+32768-((o+p|0)>>>1)&65535;b[g+(k<<1)>>1]=p+32768-o;b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function zd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;yd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;yd(b,t,e,f,g);i=q;return}function Ad(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;i=l&65535;k=(e[f+(d*6|0)>>1]|0)+32768+i|0;i=(e[f+(d*6|0)+4>>1]|0)+32768+(((k&65535)+i|0)>>>1)&65535;b[g+(d*6|0)>>1]=k;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;l=n&65535;o=(e[f+(k<<1)>>1]|0)+32768+l|0;l=(e[f+(k+j<<1)>>1]|0)+32768+(((o&65535)+l|0)>>>1)&65535;b[g+(k*6|0)>>1]=o;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{o=b[f+(k+i<<1)>>1]|0;n=o&65535;p=(e[f+(k<<1)>>1]|0)+32768+n&65535;n=(e[f+(k+d<<1)>>1]|0)+32768+((p+n|0)>>>1)|0;q=b[f+(k+j<<1)>>1]|0;o=mw(o&65535|0,0,16)|0;n=D|n;q=mw(q&65535|0,0,48)|0;q=p|o|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Bd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36436;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Cd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36436;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Dd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Hd(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Hd(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Ed(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Fd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Gd(a,f,b,d,e);return}}function Fd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;l=d+4|0;j=c[l>>2]|0;do{if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{i=b[m+(j*6|0)+2>>1]|0;l=i&65535;n=32768-l+(e[m+(j*6|0)+4>>1]|0)&65535;b[g+(j*6|0)>>1]=(e[m+(j*6|0)>>1]|0)+32768-l;b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{h=b[m+(f*6|0)+2>>1]|0;l=h&65535;n=32768-l+(e[m+(f*6|0)+4>>1]|0)&65535;b[g+(f<<1)>>1]=(e[m+(f*6|0)>>1]|0)+32768-l;b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{l=b[m+(k<<3)+2>>1]|0;n=b[m+(k<<3)+6>>1]|0;o=l&65535;h=32768-o+(e[m+(k<<3)+4>>1]|0)&65535;b[g+(k<<1)>>1]=(e[m+(k<<3)>>1]|0)+32768-o;b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function Gd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Fd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Fd(b,t,e,f,g);i=q;return}function Hd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;k=l&65535;i=k+32768+(e[f+(d*6|0)+4>>1]|0)&65535;b[g+(d*6|0)>>1]=(e[f+(d*6|0)>>1]|0)+32768+k;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;o=n&65535;l=o+32768+(e[f+(k+j<<1)>>1]|0)&65535;b[g+(k*6|0)>>1]=(e[f+(k<<1)>>1]|0)+32768+o;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{o=b[f+(k+i<<1)>>1]|0;n=o&65535;p=(e[f+(k<<1)>>1]|0)+32768+n|0;n=n+32768+(e[f+(k+d<<1)>>1]|0)|0;q=b[f+(k+j<<1)>>1]|0;o=mw(o&65535|0,0,16)|0;n=D|n;q=mw(q&65535|0,0,48)|0;q=p&65535|o|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Id(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36460;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Jd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36460;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Kd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Od(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Od(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Ld(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Md(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Nd(a,f,b,d,e);return}}function Md(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;k=d+4|0;i=c[k>>2]|0;do{if(!(a[i+32>>0]|0))l=e;else{d=d+8|0;lw(c[d>>2]|0,e|0,g*6|0)|0;i=c[k>>2]|0;j=c[i+16>>2]|0;if((g|0)<=0){l=c[d>>2]|0;break}d=c[d>>2]|0;i=d;e=0;while(1){l=i+4|0;m=b[i>>1]|0;b[i>>1]=b[l>>1]|0;b[l>>1]=m;e=e+1|0;if((e|0)==(g|0))break;else i=i+(j<<1)|0}l=d;i=c[k>>2]|0}}while(0);switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{h=b[l+(i*6|0)+2>>1]|0;m=b[l+(i*6|0)+4>>1]|0;b[f+(i*6|0)>>1]=b[l+(i*6|0)>>1]|0;b[f+(i*6|0)+2>>1]=h;b[f+(i*6|0)+4>>1]=m;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;d=h<<1;e=0;do{g=b[l+(e*6|0)+2>>1]|0;m=b[l+(e*6|0)+4>>1]|0;b[f+(e<<1)>>1]=b[l+(e*6|0)>>1]|0;b[f+(e+h<<1)>>1]=g;b[f+(e+d<<1)>>1]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;d=h<<1;e=h*3|0;j=0;do{k=b[l+(j<<3)+2>>1]|0;g=b[l+(j<<3)+4>>1]|0;m=b[l+(j<<3)+6>>1]|0;b[f+(j<<1)>>1]=b[l+(j<<3)>>1]|0;b[f+(j+h<<1)>>1]=k;b[f+(j+d<<1)>>1]=g;b[f+(j+e<<1)>>1]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Nd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Md(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Md(b,t,e,f,g);i=q;return}function Od(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;i=b[f+(d*6|0)+4>>1]|0;b[g+(d*6|0)>>1]=b[f+(d*6|0)>>1]|0;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;l=b[f+(k+j<<1)>>1]|0;b[g+(k*6|0)>>1]=b[f+(k<<1)>>1]|0;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{n=b[f+(k<<1)>>1]|0;q=b[f+(k+j<<1)>>1]|0;o=e[f+(k+d<<1)>>1]|0;p=mw(e[f+(k+i<<1)>>1]|0,0,16)|0;o=D|o;q=mw(q&65535|0,0,48)|0;q=p|n&65535|q;o=o&65535|D;n=g+(k<<3)|0;p=n;b[p>>1]=q;b[p+2>>1]=q>>>16;n=n+4|0;b[n>>1]=o;b[n+2>>1]=o>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Pd(a){a=a|0;return}function Qd(a){a=a|0;cj(a);return}function Rd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;e=$(c[b+8>>2]|0,e)|0;b=c[b+4>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,d,e)|0)==(e|0))return;f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,3,35648);b=o;o=0;if(b&1){b=Na()|0;La(f|0);Ya(b|0)}else lb(f|0,824,96)}function Sd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,p=0;p=i;i=i+16|0;m=p;l=b+8|0;g=c[l>>2]|0;f=$(g,e)|0;do{if(f){j=b+4|0;h=f;while(1){g=c[j>>2]|0;g=Gb[c[(c[g>>2]|0)+32>>2]&63](g,d,h)|0;if(!g)break;f=h-g|0;if((h|0)==(g|0)){k=11;break}else h=f}if((k|0)==11){g=c[l>>2]|0;h=f;break}f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,3,35648);b=o;o=0;if(b&1){b=Na()|0;La(f|0);Ya(b|0)}else lb(f|0,824,96)}else h=0}while(0);if((g|0)==2){Oc(d,e<<1);g=c[l>>2]|0}f=c[b+12>>2]|0;if((f|0)<=($(g,e)|0)){i=p;return}b=c[b+4>>2]|0;Ib[c[(c[b>>2]|0)+16>>2]&15](m,b,f-h|0,0,1,24);i=p;return}function Td(a){a=a|0;cj(a);return}function Ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;lw(c[e>>2]|0,b|0,$(c[a+8>>2]|0,d)|0)|0;c[e>>2]=(c[e>>2]|0)+(c[a+12>>2]|0);return}function Vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;lw(b|0,c[e>>2]|0,$(c[a+8>>2]|0,d)|0)|0;c[e>>2]=(c[e>>2]|0)+(c[a+12>>2]|0);return}function Wd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c[b+112>>2]=0;c[b+108>>2]=0;l=c[d>>2]|0;g=l;do{if(l){i=b+92|0;l=b+96|0;j=c[l>>2]|0;k=c[i>>2]|0;e=k;f=j-e|0;if(f>>>0>=4e4)if(f>>>0>4e4?(h=k+4e4|0,(j|0)!=(h|0)):0){c[l>>2]=h;h=e}else h=e;else{Xd(i,4e4-f|0);h=c[i>>2]|0;g=c[d>>2]|0}e=b+116|0;c[e>>2]=h;j=b+124|0;c[j>>2]=h;k=b+104|0;c[k>>2]=g;f=g;if(g){if((c[f+12>>2]|0)==(c[f+16>>2]|0)){d=(Eb[c[(c[g>>2]|0)+36>>2]&127](f)|0)==-1;f=c[j>>2]|0;if(d)break;g=c[e>>2]|0}else{f=h;g=h}i=f-g|0;if(i>>>0<=64){h=b+92|0;if((f|0)==(g|0))f=g;else{f=g;g=0;do{a[(c[h>>2]|0)+g>>0]=a[f+g>>0]|0;g=g+1|0;f=c[e>>2]|0}while(g>>>0>>0);g=c[j>>2]|0}h=c[h>>2]|0;d=h;m=d-f|0;c[e>>2]=h;f=g+m|0;c[j>>2]=f;h=b+120|0;c[h>>2]=(c[h>>2]|0)+m;k=c[k>>2]|0;f=Gb[c[(c[k>>2]|0)+32>>2]&63](k,f,(c[l>>2]|0)-(d+i)|0)|0;f=(c[j>>2]|0)+f|0;c[j>>2]=f}}else f=h}else{c[b+104>>2]=0;f=c[d+4>>2]|0;e=b+116|0;c[e>>2]=f;f=f+(c[d+8>>2]|0)|0;c[b+124>>2]=f}}while(0);e=c[e>>2]|0;if(e>>>0>=f>>>0){l=e;m=b+120|0;c[m>>2]=l;ge(b);return}while(1){if((a[e>>0]|0)==-1){f=20;break}e=e+1|0;if(e>>>0>=f>>>0){f=20;break}}if((f|0)==20){m=b+120|0;c[m>>2]=e;ge(b);return}}function Xd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=b+8|0;g=c[k>>2]|0;l=b+4|0;e=c[l>>2]|0;f=e;if((g-f|0)>>>0>=d>>>0){do{a[e>>0]=0;e=(c[l>>2]|0)+1|0;c[l>>2]=e;d=d+-1|0}while((d|0)!=0);return}e=c[b>>2]|0;h=f-e+d|0;if((h|0)<0){$i(b);g=c[k>>2]|0;e=c[b>>2]|0}f=g-e|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f;e=(c[l>>2]|0)-e|0;if(!f){g=0;i=0;h=e}else j=8}else{f=2147483647;e=(c[l>>2]|0)-e|0;j=8}if((j|0)==8){g=f;i=bj(f)|0;h=e}e=i+h|0;g=i+g|0;f=e;do{a[f>>0]=0;f=e+1|0;e=f;d=d+-1|0}while((d|0)!=0);d=c[b>>2]|0;f=(c[l>>2]|0)-d|0;j=i+(h-f)|0;lw(j|0,d|0,f|0)|0;c[b>>2]=j;c[l>>2]=e;c[k>>2]=g;if(!d)return;cj(d);return}function Yd(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+180|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do{if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+12|0;a:do{if((c[h>>2]|0)>0){j=a+4604|0;k=($(t,s)|0)+1|0;l=a+4608|0;m=a+92|0;n=(t|0)>0;p=a+4600|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(68,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40}while(0);do{if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Zd(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4604|0;f=c[p>>2]|0;s=d+180|0;if((c[s>>2]|0)<=0)return;q=d+4608|0;r=d+4612|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(ce(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=be(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function _d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+104|0;if((c[g>>2]|0)>>>0<4)$d(b);h=b+100|0;i=b+112|0;j=b+96|0;k=b+108|0;l=b+116|0;d=c[h>>2]|0;f=0;do{e=a[i>>0]|0;if((d|0)>31)break;d=c[j>>2]|0;if(!(e<<24>>24)){a[c[k>>2]>>0]=d>>>24;c[j>>2]=c[j>>2]<<8;d=(c[h>>2]|0)+8|0}else{a[c[k>>2]>>0]=d>>>25;c[j>>2]=c[j>>2]<<7;d=(c[h>>2]|0)+7|0}c[h>>2]=d;m=c[k>>2]|0;e=(a[m>>0]|0)==-1&1;a[i>>0]=e;c[k>>2]=m+1;c[g>>2]=(c[g>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1;f=f+1|0}while((f|0)<4);if(!(e<<24>>24))ae(b,0,(d|0)%8|0);else ae(b,0,(d+-1|0)%8|0);if((c[g>>2]|0)>>>0<4)$d(b);d=c[h>>2]|0;e=0;do{if((d|0)>31)break;d=c[j>>2]|0;if(!(a[i>>0]|0)){a[c[k>>2]>>0]=d>>>24;c[j>>2]=c[j>>2]<<8;d=(c[h>>2]|0)+8|0}else{a[c[k>>2]>>0]=d>>>25;c[j>>2]=c[j>>2]<<7;d=(c[h>>2]|0)+7|0}c[h>>2]=d;m=c[k>>2]|0;a[i>>0]=(a[m>>0]|0)==-1&1;c[k>>2]=m+1;c[g>>2]=(c[g>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1;e=e+1|0}while((e|0)<4);if(!(c[b+132>>2]|0))return;$d(b);return}function $d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+132>>2]|0;if(!d){d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,4,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}e=b+108|0;f=b+120|0;h=c[f>>2]|0;g=(c[e>>2]|0)-h|0;if((Gb[c[(c[d>>2]|0)+48>>2]&63](d,h,g)|0)==(g|0)){h=c[f>>2]|0;c[e>>2]=h;c[b+104>>2]=(c[b+124>>2]|0)-h;return}d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,4,35648);h=o;o=0;if(!(h&1))lb(d|0,824,96);h=Na()|0;La(d|0);Ya(h|0)}function ae(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+100|0;e=(c[l>>2]|0)-e|0;c[l>>2]=e;if((e|0)>-1){m=b+96|0;c[m>>2]=c[m>>2]|d<>2]=c[m>>2]|d>>0-e;k=b+104|0;if((c[k>>2]|0)>>>0<4){$d(b);e=c[l>>2]|0}h=b+112|0;i=b+108|0;j=b+116|0;f=0;while(1){if((e|0)>31)break;e=c[m>>2]|0;if(!(a[h>>0]|0)){a[c[i>>2]>>0]=e>>>24;c[m>>2]=c[m>>2]<<8;e=(c[l>>2]|0)+8|0}else{a[c[i>>2]>>0]=e>>>25;c[m>>2]=c[m>>2]<<7;e=(c[l>>2]|0)+7|0}c[l>>2]=e;n=c[i>>2]|0;a[h>>0]=(a[n>>0]|0)==-1&1;c[i>>2]=n+1;c[k>>2]=(c[k>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;f=f+1|0;if((f|0)>=4){g=11;break}}a:do{if((g|0)==11)if((e|0)<0){c[m>>2]=c[m>>2]|d>>0-e;if((c[k>>2]|0)>>>0<4){$d(b);e=c[l>>2]|0;f=0}else f=0;do{if((e|0)>31)break a;e=c[m>>2]|0;if(!(a[h>>0]|0)){a[c[i>>2]>>0]=e>>>24;c[m>>2]=c[m>>2]<<8;e=(c[l>>2]|0)+8|0}else{a[c[i>>2]>>0]=e>>>25;c[m>>2]=c[m>>2]<<7;e=(c[l>>2]|0)+7|0}c[l>>2]=e;n=c[i>>2]|0;a[h>>0]=(a[n>>0]|0)==-1&1;c[i>>2]=n+1;c[k>>2]=(c[k>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;f=f+1|0}while((f|0)<4)}}while(0);c[m>>2]=c[m>>2]|d<>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;fe(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&65535;return r|0}r=g&~(d>>31);r=r&65535;return r|0}function ce(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=(c[a+180>>2]|0)-d|0;m=c[a+4608>>2]|0;n=c[a+4604>>2]|0;h=b[m+(d+-1<<1)>>1]|0;k=h&65535;f=c[a+144>>2]|0;i=0;while(1){g=m+(i+d<<1)|0;j=(e[g>>1]|0)-k|0;if((((j|0)>-1?j:0-j|0)|0)>(f|0))break;b[g>>1]=h;i=i+1|0;if((i|0)==(l|0)){i=l;break}}h=(i|0)==(l|0);j=a+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(a,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]=de(a,e[d>>1]|0,k,e[n+(l<<1)>>1]|0)|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;a=i+1|0;return a|0}if(!f){a=l;return a|0}ae(a,1,1);a=l;return a|0}function de(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=d-e|0;j=a+136|0;h=a+144|0;f=c[h>>2]|0;if((((i|0)>-1?i:0-i|0)|0)>(f|0)){g=e-d>>31|1;b=$(g,b-e|0)|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;d=((b|0)<0?f:0)+b|0;f=d-((d|0)<((f+1|0)/2|0|0)?0:f)|0;ee(a,a+4576|0,f);f=$(f,g)|0;g=c[h>>2]|0;h=g<<1|1;f=($(f,h)|0)+e|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&65535;return j|0}j=b&~(f>>31);j=j&65535;return j|0}else{b=b-d|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;g=((b|0)<0?f:0)+b|0;f=g-((g|0)<((f+1|0)/2|0|0)?0:f)|0;ee(a,a+4588|0,f);g=c[h>>2]|0;h=g<<1|1;f=($(h,f)|0)+d|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&65535;return j|0}j=b&~(f>>31);j=j&65535;return j|0}return 0}function ee(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;fe(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>2]|0;l=b+120|0;if(e>>>0<((c[l>>2]|0)+-3|0)>>>0){l=b+112|0;j=c[l>>2]|0;b=b+108|0;c[b>>2]=(d[e+1>>0]<<16|d[e>>0]<<24|d[e+2>>0]<<8|d[e+3>>0])>>>j|c[b>>2];b=32-j>>3;c[k>>2]=e+b;c[l>>2]=(b<<3)+j;return}j=b+104|0;f=c[j>>2]|0;do{if(f){if((c[f+12>>2]|0)==(c[f+16>>2]|0)){if((Eb[c[(c[f>>2]|0)+36>>2]&127](f)|0)==-1)break;e=c[k>>2]|0}h=b+124|0;f=c[h>>2]|0;i=f-e|0;if(i>>>0<=64){g=b+92|0;if((f|0)==(e|0))f=e;else{f=0;do{a[(c[g>>2]|0)+f>>0]=a[e+f>>0]|0;f=f+1|0;e=c[k>>2]|0}while(f>>>0>>0);f=e;e=c[h>>2]|0}p=c[g>>2]|0;g=p;m=g-f|0;c[k>>2]=p;f=e+m|0;c[h>>2]=f;c[l>>2]=(c[l>>2]|0)+m;j=c[j>>2]|0;j=Gb[c[(c[j>>2]|0)+32>>2]&63](j,f,(c[b+96>>2]|0)-(g+i)|0)|0;c[h>>2]=(c[h>>2]|0)+j}}}while(0);j=b+112|0;i=b+108|0;b=c[b+124>>2]|0;h=b+-1|0;e=c[k>>2]|0;while(1){if(e>>>0>=b>>>0){f=14;break}g=a[e>>0]|0;f=g&255;g=g<<24>>24==-1;if(g){if((e|0)==(h|0)){f=25;break}e=e+1|0;if((a[e>>0]|0)<0){f=25;break}}else e=e+1|0;p=c[j>>2]|0;c[i>>2]=f<<24-p|c[i>>2];c[k>>2]=e;p=p+(g?7:8)|0;c[j>>2]=p;if((p|0)>=24){f=33;break}}if((f|0)==14){if((c[j>>2]|0)>=1)return;e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);p=o;o=0;if(!(p&1))lb(e|0,824,96);p=Na()|0;La(e|0);Ya(p|0)}else if((f|0)==25){if((c[j>>2]|0)>=1)return;e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);p=o;o=0;if(!(p&1))lb(e|0,824,96);p=Na()|0;La(e|0);Ya(p|0)}else if((f|0)==33){a:do{if(e>>>0>>0)do{if((a[e>>0]|0)==-1)break a;e=e+1|0}while(e>>>0>>0)}while(0);c[l>>2]=e;return}}function he(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do{if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function ie(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=b+8|0;g=c[k>>2]|0;l=b+4|0;e=c[l>>2]|0;f=e;if((g-f|0)>>>0>=d>>>0){do{a[e>>0]=0;e=(c[l>>2]|0)+1|0;c[l>>2]=e;d=d+-1|0}while((d|0)!=0);return}e=c[b>>2]|0;h=f-e+d|0;if((h|0)<0){$i(b);g=c[k>>2]|0;e=c[b>>2]|0}f=g-e|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f;e=(c[l>>2]|0)-e|0;if(!f){g=0;i=0;h=e}else j=8}else{f=2147483647;e=(c[l>>2]|0)-e|0;j=8}if((j|0)==8){g=f;i=bj(f)|0;h=e}e=i+h|0;g=i+g|0;f=e;do{a[f>>0]=0;f=e+1|0;e=f;d=d+-1|0}while((d|0)!=0);d=c[b>>2]|0;f=(c[l>>2]|0)-d|0;j=i+(h-f)|0;lw(j|0,d|0,f|0)|0;c[b>>2]=j;c[l>>2]=e;c[k>>2]=g;if(!d)return;cj(d);return}function je(a){a=a|0;var b=0,d=0;c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function ke(a){a=a|0;var b=0,d=0;c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function le(a){a=a|0;var b=0,d=0;c[a>>2]=36052;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function me(a){a=a|0;var b=0,d=0;c[a>>2]=36052;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ne(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;xe(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function oe(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35828;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];qe(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;qe(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function pe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function qe(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=a+180|0;r=(c[q>>2]|0)+4|0;if((c[a+32>>2]|0)==1)s=c[a+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;do{if(d){if(!(d>>>0>715827882?(o=0,ha(178,w|0),v=o,o=0,v&1):0))j=6;if((j|0)==6?(o=0,e=ka(67,d*6|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;f=e+(d*6|0)|0;c[w+8>>2]=f;while(1){b[e>>1]=0;b[e+2>>1]=0;b[e+4>>1]=0;d=d+-1|0;if(!d)break;else e=e+6|0}c[x>>2]=f;break}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)j=20;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))j=18;if((j|0)==18?(g=s<<2,o=0,h=ka(67,g|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=h;j=h+(s<<2)|0;c[t+8>>2]=j;iw(h|0,0,g|0)|0;c[v>>2]=j;j=20;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==20){g=a+12|0;a:do{if((c[g>>2]|0)>0){h=a+4604|0;j=($(s,r)|0)+1|0;k=a+4608|0;l=a+92|0;m=(s|0)>0;n=a+4600|0;p=0;b:while(1){e=c[w>>2]|0;d=e+6|0;c[h>>2]=d;e=e+(j*6|0)|0;c[k>>2]=e;if(!(p&1))d=e;else{c[h>>2]=e;c[k>>2]=d}f=c[l>>2]|0;o=0;Aa(c[(c[f>>2]|0)+12>>2]|0,f|0,d|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){j=30;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*6|0)|0;e=e+((y+-1|0)*6|0)|0;b[d>>1]=b[e>>1]|0;b[d+2>>1]=b[e+2>>1]|0;b[d+4>>1]=b[e+4>>1]|0;e=(c[k>>2]|0)+-6|0;d=c[h>>2]|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;b[e+4>>1]=b[d+4>>1]|0;o=0;ia(69,a|0,0);e=o;o=0;if(e&1){j=29;break b}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*6|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*6|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(182,a|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);i=u;return}}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}function re(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;B=d+180|0;if((c[B>>2]|0)<=0)return;C=d+4608|0;D=d+4604|0;E=d+4612|0;A=0;while(1){x=A+-1|0;j=c[C>>2]|0;k=c[D>>2]|0;f=A+1|0;i=e[k+(A*6|0)>>1]|0;z=c[E>>2]|0;l=e[k+(x*6|0)>>1]|0;m=i-l|0;n=e[j+(x*6|0)>>1]|0;o=l-n|0;p=((((a[z+((e[k+(f*6|0)>>1]|0)-i)>>0]|0)*9|0)+(a[z+m>>0]|0)|0)*9|0)+(a[z+o>>0]|0)|0;h=e[k+(A*6|0)+2>>1]|0;q=e[k+(x*6|0)+2>>1]|0;r=h-q|0;s=e[j+(x*6|0)+2>>1]|0;t=q-s|0;u=((((a[z+((e[k+(f*6|0)+2>>1]|0)-h)>>0]|0)*9|0)+(a[z+r>>0]|0)|0)*9|0)+(a[z+t>>0]|0)|0;g=e[k+(A*6|0)+4>>1]|0;v=e[k+(x*6|0)+4>>1]|0;w=g-v|0;x=e[j+(x*6|0)+4>>1]|0;y=v-x|0;z=((((a[z+((e[k+(f*6|0)+4>>1]|0)-g)>>0]|0)*9|0)+(a[z+w>>0]|0)|0)*9|0)+(a[z+y>>0]|0)|0;if(!(u|p|z))f=(se(d,A,0)|0)+A|0;else{k=e[j+(A*6|0)>>1]|0;j=i-n>>31;if((j^o|0)>=0)if((j^m|0)<0)i=n;else i=n-l+i|0;k=te(d,p,k,i,0)|0;j=e[(c[C>>2]|0)+(A*6|0)+2>>1]|0;i=h-s>>31;if((i^t|0)>=0)if((i^r|0)<0)h=s;else h=s-q+h|0;i=te(d,u,j,h,0)|0;j=e[(c[C>>2]|0)+(A*6|0)+4>>1]|0;h=g-x>>31;if((h^y|0)>=0)if((h^w|0)<0)g=x;else g=x-v+g|0;y=te(d,z,j,g,0)|0;z=c[C>>2]|0;b[z+(A*6|0)>>1]=k;b[z+(A*6|0)+2>>1]=i;b[z+(A*6|0)+4>>1]=y}if((f|0)<(c[B>>2]|0))A=f;else break}return}function se(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=i;i=i+48|0;r=B+30|0;q=B+24|0;p=B+18|0;s=B+12|0;x=B+6|0;y=B;z=(c[a+180>>2]|0)-d|0;A=c[a+4608>>2]|0;t=c[a+4604>>2]|0;w=d+-1|0;u=b[A+(w*6|0)>>1]|0;v=b[A+(w*6|0)+2>>1]|0;w=b[A+(w*6|0)+4>>1]|0;f=u&65535;g=a+144|0;h=v&65535;j=w&65535;o=0;while(1){m=o+d|0;k=A+(m*6|0)|0;l=A+(m*6|0)+2|0;m=A+(m*6|0)+4|0;C=(e[k>>1]|0)-f|0;n=c[g>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(e[l>>1]|0)-h|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(e[m>>1]|0)-j|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;b[k>>1]=u;b[l>>1]=v;b[m>>1]=w;o=o+1|0;if((o|0)==(z|0)){o=z;break}}h=(o|0)==(z|0);j=a+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(o|0))f=o;else{f=o;do{ae(a,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]=b[C>>1]|0;b[x+2>>1]=b[C+2>>1]|0;b[x+4>>1]=b[C+4>>1]|0;b[y>>1]=u;b[y+2>>1]=v;b[y+4>>1]=w;d=t+(d*6|0)|0;b[p>>1]=b[x>>1]|0;b[p+2>>1]=b[x+2>>1]|0;b[p+4>>1]=b[x+4>>1]|0;b[q>>1]=b[y>>1]|0;b[q+2>>1]=b[y+2>>1]|0;b[q+4>>1]=b[y+4>>1]|0;b[r>>1]=b[d>>1]|0;b[r+2>>1]=b[d+2>>1]|0;b[r+4>>1]=b[d+4>>1]|0;ve(s,a,p,q,r);b[C>>1]=b[s>>1]|0;b[C+2>>1]=b[s+2>>1]|0;b[C+4>>1]=b[s+4>>1]|0;C=c[j>>2]|0;c[j>>2]=(C|0)<1?0:C+-1|0;C=o+1|0;i=B;return C|0}if(!f){C=z;i=B;return C|0}ae(a,1,1);C=z;i=B;return C|0}function te(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;ue(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&65535;return r|0}r=g&~(d>>31);r=r&65535;return r|0}function ue(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>1]|0;p=o-(e[g>>1]|0)>>31|1;i=$(p,(e[f>>1]|0)-o|0)|0;m=d+144|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;w=d+140|0;l=c[w>>2]|0;k=((i|0)<0?l:0)+i|0;l=k-((k|0)<((l+1|0)/2|0|0)?0:l)|0;k=d+4576|0;we(d,k,l);t=e[h+2>>1]|0;u=t-(e[g+2>>1]|0)>>31|1;i=$(u,(e[f+2>>1]|0)-t|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;q=c[w>>2]|0;v=((i|0)<0?q:0)+i|0;q=v-((v|0)<((q+1|0)/2|0|0)?0:q)|0;we(d,k,q);v=e[h+4>>1]|0;s=v-(e[g+4>>1]|0)>>31|1;i=$(s,(e[f+4>>1]|0)-v|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;n=c[w>>2]|0;i=((i|0)<0?n:0)+i|0;n=i-((i|0)<((n+1|0)/2|0|0)?0:n)|0;we(d,k,n);k=c[m>>2]|0;m=k<<1|1;i=($($(m,l)|0,p)|0)+o|0;f=0-k|0;if((i|0)>=(f|0)){j=c[r>>2]|0;if((j+k|0)<(i|0)){i=i-($(c[w>>2]|0,m)|0)|0;g=j}else g=j}else{i=($(c[w>>2]|0,m)|0)+i|0;g=c[r>>2]|0}if((i&g|0)!=(i|0))i=g&~(i>>31);h=i&65535;i=($($(m,q)|0,u)|0)+t|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)!=(i|0))i=g&~(i>>31);j=i&65535;i=($($(m,n)|0,s)|0)+v|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)==(i|0)){w=i;w=w&65535;b[a>>1]=h;v=a+2|0;b[v>>1]=j;a=a+4|0;b[a>>1]=w;return}w=g&~(i>>31);w=w&65535;b[a>>1]=h;v=a+2|0;b[v>>1]=j;a=a+4|0;b[a>>1]=w;return}function we(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;ue(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function xe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do{if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function ye(a){a=a|0;var b=0,d=0;c[a>>2]=36024;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function ze(a){a=a|0;var b=0,d=0;c[a>>2]=36024;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Ae(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;pf(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function Be(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35800;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Ce(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function De(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36712;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Ee(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36688;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Fe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36664;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Ge(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36640;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function He(a){a=a|0;var b=0,d=0;c[a>>2]=36640;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function Ie(a){a=a|0;var b=0,d=0;c[a>>2]=36640;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Je(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;Ne(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;Ne(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Le(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Me(a,f,b,d,e);return}}function Le(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{j=d[k+(i*3|0)+1>>0]|0;h=128-j+(d[k+(i*3|0)+2>>0]|0)|0;l=(d[k+(i*3|0)>>0]|0)-j+128|0;m=f+(i*3|0)|0;a[m>>0]=j+192+(((h&255)+(l&255)|0)>>>2);a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{g=d[k+(e*3|0)+1>>0]|0;l=128-g+(d[k+(e*3|0)+2>>0]|0)|0;m=(d[k+(e*3|0)>>0]|0)-g+128|0;a[f+e>>0]=g+192+(((l&255)+(m&255)|0)>>>2);a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{m=a[k+(j<<2)+3>>0]|0;n=d[k+(j<<2)+1>>0]|0;g=128-n+(d[k+(j<<2)+2>>0]|0)|0;l=(d[k+(j<<2)>>0]|0)-n+128|0;a[f+j>>0]=n+192+(((g&255)+(l&255)|0)>>>2);a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Me(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Le(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Le(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function Ne(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=d[e+(b*3|0)+1>>0]|0;i=d[e+(b*3|0)+2>>0]|0;k=(d[e+(b*3|0)>>0]|0)-((i+j|0)>>>2)+64|0;h=f+(b*3|0)|0;a[h>>0]=i+128+k;a[h+1>>0]=k;a[h+2>>0]=j+128+k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=d[e+(j+h)>>0]|0;o=d[e+(j+i)>>0]|0;m=(d[e+j>>0]|0)-((o+n|0)>>>2)+64|0;k=f+(j*3|0)|0;a[k>>0]=o+128+m;a[k+1>>0]=m;a[k+2>>0]=n+128+m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{m=d[e+(j+h)>>0]|0;p=d[e+(j+b)>>0]|0;n=(d[e+j>>0]|0)-((p+m|0)>>>2)+64|0;o=f+(j<<2)|0;n=n<<8&65280|d[e+(j+i)>>0]<<24|p+128+n&255|m+128+n<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){p=b+2|0;o=a[b>>0]|0;a[b>>0]=a[p>>0]|0;a[p>>0]=o;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function Oe(a){a=a|0;var b=0,d=0;c[a>>2]=36664;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function Pe(a){a=a|0;var b=0,d=0;c[a>>2]=36664;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Qe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;Ue(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;Ue(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Se(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Te(a,f,b,d,e);return}}function Se(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{e=d[k+(i*3|0)>>0]|0;h=a[k+(i*3|0)+1>>0]|0;j=h&255;l=(d[k+(i*3|0)+2>>0]|0)+128-((j+e|0)>>>1)&255;m=f+(i*3|0)|0;a[m>>0]=e+128-j;a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{l=a[k+(e*3|0)+1>>0]|0;j=d[k+(e*3|0)>>0]|0;g=l&255;m=(d[k+(e*3|0)+2>>0]|0)+128-((g+j|0)>>>1)&255;a[f+e>>0]=j+128-g;a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{g=a[k+(j<<2)+1>>0]|0;m=a[k+(j<<2)+3>>0]|0;o=d[k+(j<<2)>>0]|0;n=g&255;l=(d[k+(j<<2)+2>>0]|0)+128-((n+o|0)>>>1)&255;a[f+j>>0]=o+128-n;a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Te(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Se(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Se(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function Ue(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;k=j&255;i=(d[e+(b*3|0)>>0]|0)+128+k|0;k=(d[e+(b*3|0)+2>>0]|0)+128+(((i&255)+k|0)>>>1)&255;h=f+(b*3|0)|0;a[h>>0]=i;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;m=n&255;o=(d[e+j>>0]|0)+128+m|0;m=(d[e+(j+i)>>0]|0)+128+(((o&255)+m|0)>>>1)&255;k=f+(j*3|0)|0;a[k>>0]=o;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=d[e+(j+h)>>0]|0;m=(d[e+j>>0]|0)+128+n&255;o=f+(j<<2)|0;n=m|n<<8|d[e+(j+i)>>0]<<24|(d[e+(j+b)>>0]|0)+128+((m+n|0)>>>1)<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){o=b+2|0;n=a[b>>0]|0;a[b>>0]=a[o>>0]|0;a[o>>0]=n;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function Ve(a){a=a|0;var b=0,d=0;c[a>>2]=36688;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function We(a){a=a|0;var b=0,d=0;c[a>>2]=36688;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Xe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;$e(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;$e(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Ze(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{_e(a,f,b,d,e);return}}function Ze(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{h=a[k+(i*3|0)+1>>0]|0;j=h&255;l=128-j+(d[k+(i*3|0)+2>>0]|0)&255;m=f+(i*3|0)|0;a[m>>0]=(d[k+(i*3|0)>>0]|0)+128-j;a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{l=a[k+(e*3|0)+1>>0]|0;g=l&255;m=128-g+(d[k+(e*3|0)+2>>0]|0)&255;a[f+e>>0]=(d[k+(e*3|0)>>0]|0)+128-g;a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{g=a[k+(j<<2)+1>>0]|0;m=a[k+(j<<2)+3>>0]|0;n=g&255;l=128-n+(d[k+(j<<2)+2>>0]|0)&255;a[f+j>>0]=(d[k+(j<<2)>>0]|0)+128-n;a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function _e(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Ze(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Ze(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function $e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;i=j&255;k=i+128+(d[e+(b*3|0)+2>>0]|0)&255;h=f+(b*3|0)|0;a[h>>0]=(d[e+(b*3|0)>>0]|0)+128+i;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;o=n&255;m=o+128+(d[e+(j+i)>>0]|0)&255;k=f+(j*3|0)|0;a[k>>0]=(d[e+j>>0]|0)+128+o;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=d[e+(j+h)>>0]|0;o=f+(j<<2)|0;n=(d[e+j>>0]|0)+128+n&255|n<<8|d[e+(j+i)>>0]<<24|n+128+(d[e+(j+b)>>0]|0)<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){o=b+2|0;n=a[b>>0]|0;a[b>>0]=a[o>>0]|0;a[o>>0]=n;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function af(a){a=a|0;var b=0,d=0;c[a>>2]=36712;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function bf(a){a=a|0;var b=0,d=0;c[a>>2]=36712;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function cf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;gf(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;gf(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;ef(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{ff(a,f,b,d,e);return}}function ef(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=b+4|0;h=c[j>>2]|0;if(!(a[h+32>>0]|0))j=d;else{i=b+8|0;lw(c[i>>2]|0,d|0,f*3|0)|0;h=c[j>>2]|0;d=c[h+16>>2]|0;if((f|0)>0){h=c[i>>2]|0;b=0;while(1){k=h+2|0;l=a[h>>0]|0;a[h>>0]=a[k>>0]|0;a[k>>0]=l;b=b+1|0;if((b|0)==(f|0))break;else h=h+d|0}h=c[j>>2]|0}j=c[i>>2]|0}switch(c[h+16>>2]|0){case 3:{if((c[h+24>>2]|0)==2){if((f|0)>0)h=0;else return;do{g=a[j+(h*3|0)+1>>0]|0;k=a[j+(h*3|0)+2>>0]|0;l=e+(h*3|0)|0;a[l>>0]=a[j+(h*3|0)>>0]|0;a[l+1>>0]=g;a[l+2>>0]=k;h=h+1|0}while((h|0)!=(f|0));return}h=(g|0)<(f|0)?g:f;if((h|0)<=0)return;b=g<<1;d=0;do{k=a[j+(d*3|0)+1>>0]|0;l=a[j+(d*3|0)+2>>0]|0;a[e+d>>0]=a[j+(d*3|0)>>0]|0;a[e+(d+g)>>0]=k;a[e+(d+b)>>0]=l;d=d+1|0}while((d|0)!=(h|0));return}case 4:{if((c[h+24>>2]|0)!=1)return;h=(g|0)<(f|0)?g:f;if((h|0)<=0)return;b=g<<1;d=g*3|0;i=0;do{f=a[j+(i<<2)+1>>0]|0;k=a[j+(i<<2)+2>>0]|0;l=a[j+(i<<2)+3>>0]|0;a[e+i>>0]=a[j+(i<<2)>>0]|0;a[e+(i+g)>>0]=f;a[e+(i+b)>>0]=k;a[e+(i+d)>>0]=l;i=i+1|0}while((i|0)!=(h|0));return}default:return}}function ff(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;ef(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){ef(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function gf(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;k=a[e+(b*3|0)+2>>0]|0;h=f+(b*3|0)|0;a[h>>0]=a[e+(b*3|0)>>0]|0;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;m=a[e+(j+i)>>0]|0;k=f+(j*3|0)|0;a[k>>0]=a[e+j>>0]|0;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=f+(j<<2)|0;m=d[e+(j+h)>>0]<<8|d[e+j>>0]|d[e+(j+b)>>0]<<16|d[e+(j+i)>>0]<<24;a[n>>0]=m;a[n+1>>0]=m>>8;a[n+2>>0]=m>>16;a[n+3>>0]=m>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){n=b+2|0;m=a[b>>0]|0;a[b>>0]=a[n>>0]|0;a[n>>0]=m;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function hf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+180|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[x>>2]|0)+3|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){g=b+12|0;b:do{if((c[g>>2]|0)>0){h=b+4604|0;j=($(s,r)|0)+1|0;k=b+4608|0;l=b+92|0;m=(s|0)>0;n=b+4600|0;p=0;c:while(1){f=c[w>>2]|0;d=f+3|0;c[h>>2]=d;e=f+(j*3|0)|0;c[k>>2]=e;if(!(p&1))d=j;else{c[h>>2]=e;c[k>>2]=d;d=1}e=c[l>>2]|0;o=0;Aa(c[(c[e>>2]|0)+12>>2]|0,e|0,f+(d*3|0)|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*3|0)|0;e=e+((y+-1|0)*3|0)|0;a[d>>0]=a[e>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;d=c[h>>2]|0;e=(c[k>>2]|0)+-3|0;a[e>>0]=a[d>>0]|0;a[e+1>>0]=a[d+1>>0]|0;a[e+2>>0]=a[d+2>>0]|0;o=0;ia(70,b|0,0);e=o;o=0;if(e&1){h=28;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*3|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*3|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){f=Na()|0;break}else if((h|0)==29){f=Na()|0;break}}else h=41}while(0);do{if((h|0)==41){o=0;ha(182,b|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=u;return}}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function jf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+180|0;if((c[A>>2]|0)<=0)return;B=b+4608|0;C=b+4604|0;D=b+4612|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=(kf(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=lf(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=lf(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=lf(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function kf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=i;i=i+32|0;A=B+15|0;q=B+12|0;p=B+9|0;r=B+6|0;w=B+3|0;x=B;y=(c[b+180>>2]|0)-e|0;z=c[b+4608>>2]|0;s=c[b+4604>>2]|0;v=z+((e+-1|0)*3|0)|0;t=a[v>>0]|0;u=a[v+1>>0]|0;v=a[v+2>>0]|0;f=t&255;g=b+144|0;h=u&255;j=v&255;o=0;while(1){k=z+((o+e|0)*3|0)|0;l=k+1|0;m=k+2|0;C=(d[k>>0]|0)-f|0;n=c[g>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(d[l>>0]|0)-h|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(d[m>>0]|0)-j|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;a[k>>0]=t;a[l>>0]=u;a[m>>0]=v;o=o+1|0;if((o|0)==(y|0)){o=y;break}}h=(o|0)==(y|0);j=b+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(o|0))f=o;else{f=o;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]=a[C>>0]|0;a[w+1>>0]=a[C+1>>0]|0;a[w+2>>0]=a[C+2>>0]|0;a[x>>0]=t;a[x+1>>0]=u;a[x+2>>0]=v;e=s+(e*3|0)|0;a[p>>0]=a[w>>0]|0;a[p+1>>0]=a[w+1>>0]|0;a[p+2>>0]=a[w+2>>0]|0;a[q>>0]=a[x>>0]|0;a[q+1>>0]=a[x+1>>0]|0;a[q+2>>0]=a[x+2>>0]|0;a[A>>0]=a[e>>0]|0;a[A+1>>0]=a[e+1>>0]|0;a[A+2>>0]=a[e+2>>0]|0;nf(r,b,p,q,A);a[C>>0]=a[r>>0]|0;a[C+1>>0]=a[r+1>>0]|0;a[C+2>>0]=a[r+2>>0]|0;C=c[j>>2]|0;c[j>>2]=(C|0)<1?0:C+-1|0;C=o+1|0;i=B;return C|0}if(!f){C=y;i=B;return C|0}ae(b,1,1);C=y;i=B;return C|0}function lf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;mf(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&255;return r|0}r=g&~(d>>31);r=r&255;return r|0}function mf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>0]|0;p=o-(d[g>>0]|0)>>31|1;i=$(p,(d[f>>0]|0)-o|0)|0;m=e+144|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;w=e+140|0;l=c[w>>2]|0;k=((i|0)<0?l:0)+i|0;l=k-((k|0)<((l+1|0)/2|0|0)?0:l)|0;k=e+4576|0;of(e,k,l);t=d[h+1>>0]|0;u=t-(d[g+1>>0]|0)>>31|1;i=$(u,(d[f+1>>0]|0)-t|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;q=c[w>>2]|0;v=((i|0)<0?q:0)+i|0;q=v-((v|0)<((q+1|0)/2|0|0)?0:q)|0;of(e,k,q);v=d[h+2>>0]|0;s=v-(d[g+2>>0]|0)>>31|1;i=$(s,(d[f+2>>0]|0)-v|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;n=c[w>>2]|0;i=((i|0)<0?n:0)+i|0;n=i-((i|0)<((n+1|0)/2|0|0)?0:n)|0;of(e,k,n);k=c[m>>2]|0;m=k<<1|1;i=($($(m,l)|0,p)|0)+o|0;f=0-k|0;if((i|0)>=(f|0)){j=c[r>>2]|0;if((j+k|0)<(i|0)){i=i-($(c[w>>2]|0,m)|0)|0;g=j}else g=j}else{i=($(c[w>>2]|0,m)|0)+i|0;g=c[r>>2]|0}if((i&g|0)!=(i|0))i=g&~(i>>31);h=i&255;i=($($(m,q)|0,u)|0)+t|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)!=(i|0))i=g&~(i>>31);j=i&255;i=($($(m,n)|0,s)|0)+v|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)==(i|0)){w=i;w=w&255;a[b>>0]=h;v=b+1|0;a[v>>0]=j;b=b+2|0;a[b>>0]=w;return}w=g&~(i>>31);w=w&255;a[b>>0]=h;v=b+1|0;a[v>>0]=j;b=b+2|0;a[b>>0]=w;return}function of(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;mf(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function pf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do{if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function qf(a){a=a|0;var b=0,d=0;c[a>>2]=35996;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function rf(a){a=a|0;var b=0,d=0;c[a>>2]=35996;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function sf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,65535,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Bf(d);g=0;do{c[d+172+(g*12|0)>>2]=1024;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=1024;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=1024;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function tf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35772;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];vf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;vf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function uf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function vf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+156|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do{if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+12|0;a:do{if((c[h>>2]|0)>0){j=a+4580|0;k=($(t,s)|0)+1|0;l=a+4584|0;m=a+92|0;n=(t|0)>0;p=a+4576|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(71,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40}while(0);do{if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function wf(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4580|0;f=c[p>>2]|0;s=d+156|0;if((c[s>>2]|0)<=0)return;q=d+4584|0;r=d+4588|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(yf(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=xf(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function xf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&65535|0)==(g|0))m=g;else m=g>>31&65535^65535;j=(e-m^q)-q<<16;l=j>>16;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;f=g^l;f=f>>30^f<<1;g=f>>h;if((g|0)<47){if((g|0)>30){i=(g|0)/2|0;ae(a,0,i);g=g-i|0}ae(a,1,g+1|0);ae(a,f&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-65536?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}function yf(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[a+156>>2]|0)-d|0;k=c[a+4584>>2]|0;m=c[a+4580>>2]|0;h=b[k+(d+-1<<1)>>1]|0;g=0;while(1){f=k+(g+d<<1)|0;if((b[f>>1]|0)!=h<<16>>16){n=g;break}b[f>>1]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&65535;h=(n|0)==(j|0);l=a+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(a,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]|0;f=e[m+(f<<1)>>1]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<16>>16;zf(a,a+4564|0,f);f=f+i|0}else{m=f-i>>31|1;d=($(g-f<<16,m)|0)>>16;zf(a,a+4552|0,d);f=($(d,m)|0)+f|0}b[h>>1]=f;a=c[l>>2]|0;c[l>>2]=(a|0)<1?0:a+-1|0;a=n+1|0;return a|0}function zf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Af(b,h,g,63-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Af(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-16|0;if((e|0)<(d+-17|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-47|0)}else ae(a,1,f);ae(a,c+65535&65535,16);return}function Bf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,65535,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8909]|0;c[b+4588>>2]=l+(((c[8910]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=131072){if(h>>>0>131072?(j=d+131072|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,131072-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+65536;j=b+168|0;g=b+164|0;h=-65536;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==65536)break}i=m;return}function Cf(a){a=a|0;var b=0,d=0;c[a>>2]=35968;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Df(a){a=a|0;var b=0,d=0;c[a>>2]=35968;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Ef(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,4095,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Nf(d);g=0;do{c[d+172+(g*12|0)>>2]=64;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=64;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=64;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function Ff(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35744;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Gf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Hf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+156|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do{if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+12|0;a:do{if((c[h>>2]|0)>0){j=a+4580|0;k=($(t,s)|0)+1|0;l=a+4584|0;m=a+92|0;n=(t|0)>0;p=a+4576|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(72,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40}while(0);do{if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function If(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4580|0;f=c[p>>2]|0;s=d+156|0;if((c[s>>2]|0)<=0)return;q=d+4584|0;r=d+4588|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(Kf(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=Jf(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function Jf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&4095|0)==(g|0))m=g;else m=g>>31&4095^4095;j=(e-m^q)-q<<20;l=j>>20;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;f=g^l;f=f>>30^f<<1;g=f>>h;if((g|0)<35){if((g|0)>30){i=(g|0)/2|0;ae(a,0,i);g=g-i|0}ae(a,1,g+1|0);ae(a,f&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-1048576?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}function Kf(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[a+156>>2]|0)-d|0;k=c[a+4584>>2]|0;m=c[a+4580>>2]|0;h=b[k+(d+-1<<1)>>1]|0;g=0;while(1){f=k+(g+d<<1)|0;if((b[f>>1]|0)!=h<<16>>16){n=g;break}b[f>>1]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&65535;h=(n|0)==(j|0);l=a+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(a,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]|0;f=e[m+(f<<1)>>1]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<20>>20;Lf(a,a+4564|0,f);f=f+i|0}else{m=f-i>>31|1;d=($(g-f<<20,m)|0)>>20;Lf(a,a+4552|0,d);f=($(d,m)|0)+f|0}b[h>>1]=f&4095;a=c[l>>2]|0;c[l>>2]=(a|0)<1?0:a+-1|0;a=n+1|0;return a|0}function Lf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Mf(b,h,g,47-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Mf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-12|0;if((e|0)<(d+-13|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-43|0)}else ae(a,1,f);ae(a,c+4095&4095,12);return}function Nf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,4095,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8906]|0;c[b+4588>>2]=l+(((c[8907]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=8192){if(h>>>0>8192?(j=d+8192|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,8192-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+4096;j=b+168|0;g=b+164|0;h=-4096;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==4096)break}i=m;return}function Of(a){a=a|0;var b=0,d=0;c[a>>2]=35940;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Pf(a){a=a|0;var b=0,d=0;c[a>>2]=35940;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Qf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Zf(d);g=0;do{c[d+172+(g*12|0)>>2]=4;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=4;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=4;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function Rf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35716;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Tf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Tf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Sf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Tf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+156|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[x>>2]|0)+1|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}e=Na()|0;d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){g=b+12|0;b:do{if((c[g>>2]|0)>0){h=b+4580|0;j=($(s,r)|0)+1|0;k=b+4584|0;l=b+92|0;m=(s|0)>0;n=b+4576|0;p=0;c:while(1){e=c[w>>2]|0;d=e+1|0;c[h>>2]=d;e=e+j|0;c[k>>2]=e;if(!(p&1))d=e;else{c[h>>2]=e;c[k>>2]=d}f=c[l>>2]|0;o=0;Aa(c[(c[f>>2]|0)+12>>2]|0,f|0,d|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[h>>2]|0;e=c[t>>2]|0;f=0;do{c[n>>2]=c[e+(f<<2)>>2];e=c[q>>2]|0;a[d+e>>0]=a[d+(e+-1)>>0]|0;a[(c[k>>2]|0)+-1>>0]=a[c[h>>2]>>0]|0;o=0;ia(73,b|0,0);e=o;o=0;if(e&1){h=28;break c}e=c[t>>2]|0;c[e+(f<<2)>>2]=c[n>>2];d=(c[h>>2]|0)+r|0;c[h>>2]=d;c[k>>2]=(c[k>>2]|0)+r;f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){e=Na()|0;break}else if((h|0)==29){e=Na()|0;break}}else h=41}while(0);do{if((h|0)==41){o=0;ha(182,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return}}while(0);d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}function Uf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4580|0;e=c[o>>2]|0;r=b+156|0;if((c[r>>2]|0)<=0)return;p=b+4584|0;q=b+4588|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(Wf(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=Vf(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function Vf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&255|0)==(g|0))m=g;else m=g>>31&255^255;j=(e-m^q)-q<<24;l=j>>24;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;g=g^l;g=g>>30^g<<1;f=g>>h;if((f|0)<23){ae(a,1,f+1|0);ae(a,g&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-16777216?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}function Wf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[b+156>>2]|0)-e|0;k=c[b+4584>>2]|0;m=c[b+4580>>2]|0;h=a[k+(e+-1)>>0]|0;g=0;while(1){f=k+(g+e)|0;if((a[f>>0]|0)!=h<<24>>24){n=g;break}a[f>>0]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&255;h=(n|0)==(j|0);l=b+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(b,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]|0;f=d[m+f>>0]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<24>>24;Xf(b,b+4564|0,f);f=f+i|0}else{m=f-i>>31|1;e=($(g-f<<24,m)|0)>>24;Xf(b,b+4552|0,e);f=($(e,m)|0)+f|0}a[h>>0]=f;b=c[l>>2]|0;c[l>>2]=(b|0)<1?0:b+-1|0;b=n+1|0;return b|0}function Xf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Yf(b,h,g,31-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-8|0;if((e|0)<(d+-9|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-39|0)}else ae(a,1,f);ae(a,c+255&255,8);return}function Zf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8900]|0;c[b+4588>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+256;j=b+168|0;g=b+164|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function _f(a){a=a|0;var b=0,d=0;c[a>>2]=35912;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function $f(a){a=a|0;var b=0,d=0;c[a>>2]=35912;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ag(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;jg(d);g=0;do{c[d+172+(g*12|0)>>2]=4;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=4;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=4;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function bg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35688;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];dg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;dg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function cg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function dg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+156|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[x>>2]|0)+3|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){g=b+12|0;b:do{if((c[g>>2]|0)>0){h=b+4580|0;j=($(s,r)|0)+1|0;k=b+4584|0;l=b+92|0;m=(s|0)>0;n=b+4576|0;p=0;c:while(1){f=c[w>>2]|0;d=f+3|0;c[h>>2]=d;e=f+(j*3|0)|0;c[k>>2]=e;if(!(p&1))d=j;else{c[h>>2]=e;c[k>>2]=d;d=1}e=c[l>>2]|0;o=0;Aa(c[(c[e>>2]|0)+12>>2]|0,e|0,f+(d*3|0)|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*3|0)|0;e=e+((y+-1|0)*3|0)|0;a[d>>0]=a[e>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;d=c[h>>2]|0;e=(c[k>>2]|0)+-3|0;a[e>>0]=a[d>>0]|0;a[e+1>>0]=a[d+1>>0]|0;a[e+2>>0]=a[d+2>>0]|0;o=0;ia(74,b|0,0);e=o;o=0;if(e&1){h=28;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*3|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*3|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){f=Na()|0;break}else if((h|0)==29){f=Na()|0;break}}else h=41}while(0);do{if((h|0)==41){o=0;ha(182,b|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=u;return}}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function eg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+156|0;if((c[A>>2]|0)<=0)return;B=b+4584|0;C=b+4580|0;D=b+4588|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=(fg(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=gg(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=gg(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=gg(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function fg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=(c[b+156>>2]|0)-e|0;n=c[b+4584>>2]|0;o=c[b+4580>>2]|0;l=n+((e+-1|0)*3|0)|0;p=a[l>>0]|0;k=a[l+1>>0]|0;l=a[l+2>>0]|0;i=0;while(1){f=n+((i+e|0)*3|0)|0;g=f+1|0;h=f+2|0;if(!(((a[f>>0]|0)==p<<24>>24?(a[g>>0]|0)==k<<24>>24:0)&(a[h>>0]|0)==l<<24>>24))break;a[f>>0]=p;a[g>>0]=k;a[h>>0]=l;i=i+1|0;if((i|0)==(m|0)){i=m;break}}h=(i|0)==(m|0);j=b+4576|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]|0;e=m+2|0;f=a[e>>0]|0;o=o+(q*3|0)|0;q=a[o+1>>0]|0;t=a[o+2>>0]|0;o=d[o>>0]|0;h=o-(p&255)>>31|1;g=($((d[m>>0]|0)-o<<24,h)|0)>>24;s=b+4552|0;hg(b,s,g);p=q&255;q=p-(k&255)>>31|1;r=($((r&255)-p<<24,q)|0)>>24;hg(b,s,r);k=t&255;l=k-(l&255)>>31|1;f=($((f&255)-k<<24,l)|0)>>24;hg(b,s,f);p=($(r,q)|0)+p&255;b=($(f,l)|0)+k&255;a[m>>0]=($(g,h)|0)+o;a[n>>0]=p;a[e>>0]=b;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;b=i+1|0;return b|0}if(!f){t=m;return t|0}ae(b,1,1);t=m;return t|0}function gg(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&255|0)==(g|0))m=g;else m=g>>31&255^255;j=(e-m^q)-q<<24;l=j>>24;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;g=g^l;g=g>>30^g<<1;f=g>>h;if((f|0)<23){ae(a,1,f+1|0);ae(a,g&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-16777216?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}function hg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;ig(b,h,g,31-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function ig(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-8|0;if((e|0)<(d+-9|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-39|0)}else ae(a,1,f);ae(a,c+255&255,8);return}function jg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8900]|0;c[b+4588>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+256;j=b+168|0;g=b+164|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function kg(a){a=a|0;var b=0,d=0;c[a>>2]=35884;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function lg(a){a=a|0;var b=0,d=0;c[a>>2]=35884;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function mg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;wg(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function ng(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35660;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];pg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;pg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function pg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;u=i;i=i+32|0;w=u+12|0;t=u;r=b+180|0;s=(c[r>>2]|0)+4|0;if((c[b+32>>2]|0)==1)p=c[b+24>>2]|0;else p=1;d=$(p<<1,s)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,w|0),v=o,o=0,v&1):0))q=6;if((q|0)==6?(o=0,e=ka(67,d|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[x>>2]|0)+1|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!p)q=19;else{if(!(p>>>0>1073741823?(o=0,ha(178,t|0),n=o,o=0,n&1):0))q=17;if((q|0)==17?(f=p<<2,o=0,g=ka(67,f|0)|0,n=o,o=0,!(n&1)):0){c[t>>2]=g;q=g+(p<<2)|0;c[t+8>>2]=q;iw(g|0,0,f|0)|0;c[v>>2]=q;q=19;break}e=Na()|0;d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((q|0)==19){j=b+12|0;b:do{if((c[j>>2]|0)>0){k=b+4604|0;l=($(p,s)|0)+1|0;m=b+4608|0;n=b+92|0;h=b+4600|0;if((p|0)>0)g=0;else{f=0;while(1){e=c[w>>2]|0;d=e+1|0;c[k>>2]=d;e=e+l|0;c[m>>2]=e;if(!(f&1))d=e;else{c[k>>2]=e;c[m>>2]=d}p=c[n>>2]|0;o=0;Aa(c[(c[p>>2]|0)+12>>2]|0,p|0,d|0,c[r>>2]|0,s|0);p=o;o=0;if(p&1)break;f=f+1|0;if((f|0)>=(c[j>>2]|0)){q=45;break b}}e=Na()|0;break}c:while(1){e=c[w>>2]|0;d=e+1|0;c[k>>2]=d;e=e+l|0;c[m>>2]=e;if(!(g&1))d=e;else{c[k>>2]=e;c[m>>2]=d}q=c[n>>2]|0;o=0;Aa(c[(c[q>>2]|0)+12>>2]|0,q|0,d|0,c[r>>2]|0,s|0);q=o;o=0;if(q&1){q=28;break}d=c[t>>2]|0;e=c[k>>2]|0;f=0;do{c[h>>2]=c[d+(f<<2)>>2];q=c[r>>2]|0;a[e+q>>0]=a[e+(q+-1)>>0]|0;a[(c[m>>2]|0)+-1>>0]=a[c[k>>2]>>0]|0;o=0;ia(75,b|0,0);q=o;o=0;if(q&1){q=36;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[h>>2];e=(c[k>>2]|0)+s|0;c[k>>2]=e;c[m>>2]=(c[m>>2]|0)+s;f=f+1|0}while((f|0)<(p|0));g=g+1|0;if((g|0)>=(c[j>>2]|0)){q=45;break b}}if((q|0)==28){e=Na()|0;break}else if((q|0)==36){e=Na()|0;break}}else q=45}while(0);do{if((q|0)==45){o=0;ha(182,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return}}while(0);d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}function qg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4604|0;e=c[o>>2]|0;r=b+180|0;if((c[r>>2]|0)<=0)return;p=b+4608|0;q=b+4612|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(sg(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=rg(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function rg(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;vg(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&255;return r|0}r=g&~(d>>31);r=r&255;return r|0}function sg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=(c[b+180>>2]|0)-e|0;m=c[b+4608>>2]|0;n=c[b+4604>>2]|0;h=a[m+(e+-1)>>0]|0;k=h&255;f=b+144|0;i=0;while(1){g=m+(i+e)|0;j=(d[g>>0]|0)-k|0;if((((j|0)>-1?j:0-j|0)|0)>(c[f>>2]|0))break;a[g>>0]=h;i=i+1|0;if((i|0)==(l|0)){i=l;break}}h=(i|0)==(l|0);j=b+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]=tg(b,d[e>>0]|0,k,d[n+l>>0]|0)|0;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;b=i+1|0;return b|0}if(!f){b=l;return b|0}ae(b,1,1);b=l;return b|0}function tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=d-e|0;j=a+136|0;h=a+144|0;f=c[h>>2]|0;if((((i|0)>-1?i:0-i|0)|0)>(f|0)){g=e-d>>31|1;b=$(g,b-e|0)|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;d=((b|0)<0?f:0)+b|0;f=d-((d|0)<((f+1|0)/2|0|0)?0:f)|0;ug(a,a+4576|0,f);f=$(f,g)|0;g=c[h>>2]|0;h=g<<1|1;f=($(f,h)|0)+e|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&255;return j|0}j=b&~(f>>31);j=j&255;return j|0}else{b=b-d|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;g=((b|0)<0?f:0)+b|0;f=g-((g|0)<((f+1|0)/2|0|0)?0:f)|0;ug(a,a+4588|0,f);g=c[h>>2]|0;h=g<<1|1;f=($(h,f)|0)+d|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&255;return j|0}j=b&~(f>>31);j=j&255;return j|0}return 0}function ug(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;vg(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function xg(a){a=a|0;var b=0,d=0;c[a>>2]=35856;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function yg(a){a=a|0;var b=0,d=0;c[a>>2]=35856;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function zg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Ag(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;Lg(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function Bg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Cg(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Cg(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+172|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4596|0;k=$(y,x)|0;l=k+1|0;m=a+4600|0;n=(y|0)>0;p=a+160|0;q=a+168|0;r=a+164|0;s=a+156|0;t=a+88|0;u=a+4592|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(76,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Dg(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=d+4596|0;g=c[q>>2]|0;u=d+172|0;f=c[u>>2]|0;if((f|0)<=0)return;r=d+4600|0;s=d+4604|0;t=d+4592|0;l=g;j=e[g+-2>>1]|0;g=e[g>>1]|0;p=0;while(1){n=c[r>>2]|0;k=b[n+(p+-1<<1)>>1]|0;o=k&65535;i=p+1|0;h=e[l+(i<<1)>>1]|0;m=c[s>>2]|0;l=g-j|0;j=j-o|0;m=((((a[m+(h-g)>>0]|0)*9|0)+(a[m+l>>0]|0)|0)*9|0)+(a[m+j>>0]|0)|0;n=n+(p<<1)|0;if(!m){f=Gg(d,k,n,f-p|0)|0;g=f+p|0;if((g|0)!=(c[u>>2]|0)){o=Hg(d,o,e[(c[q>>2]|0)+(g<<1)>>1]|0)|0;b[(c[r>>2]|0)+(g<<1)>>1]=o;o=c[t>>2]|0;c[t>>2]=(o|0)<1?0:o+-1|0;f=f+1|0}i=f+p|0;h=c[q>>2]|0;g=e[h+(i+-1<<1)>>1]|0;h=e[h+(i<<1)>>1]|0}else{f=g-o>>31;if((f^j|0)<0)f=g;else f=o+((f^l|0)<0?0:l)|0;o=Fg(d,m,e[n>>1]|0,f,0)|0;b[(c[r>>2]|0)+(p<<1)>>1]=o}f=c[u>>2]|0;if((f|0)<=(i|0))break;l=c[q>>2]|0;j=g;g=h;p=i}return}function Eg(b){b=b|0;var d=0,e=0,f=0,g=0;f=b+116|0;e=c[f>>2]|0;if((a[e>>0]|0)!=-1){g=b+112|0;d=c[g>>2]|0;if((d|0)<1){ge(b);d=c[g>>2]|0;e=c[f>>2]|0}b=b+108|0;f=c[b>>2]|0;c[g>>2]=d+-1;d=f<<1;c[b>>2]=d;if((a[e>>0]|0)!=-1){d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,6,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}}else d=c[b+108>>2]|0;if(!d)return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,6,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}function Fg(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&65535;return d|0}d=f&~(h>>31);d=d&65535;return d|0}function Gg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4592|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=b-d|0;h=a+128|0;e=a+136|0;if((((g|0)>-1?g:0-g|0)|0)>(c[e>>2]|0)){b=$(Ig(a,a+4568|0)|0,d-b>>31|1)|0;f=c[e>>2]|0;g=f<<1|1;b=($(b,g)|0)+d|0;if((b|0)>=(0-f|0)){e=c[h>>2]|0;if((e+f|0)<(b|0))b=b-($(c[a+132>>2]|0,g)|0)|0}else{b=($(c[a+132>>2]|0,g)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&65535;return a|0}a=e&~(b>>31);a=a&65535;return a|0}else{d=Ig(a,a+4580|0)|0;g=c[e>>2]|0;f=g<<1|1;b=($(f,d)|0)+b|0;if((b|0)>=(0-g|0)){e=c[h>>2]|0;if((e+g|0)<(b|0))b=b-($(c[a+132>>2]|0,f)|0)|0}else{b=($(c[a+132>>2]|0,f)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&65535;return a|0}a=e&~(b>>31);a=a&65535;return a|0}return 0}function Ig(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function Jg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=a+112|0;if((c[g>>2]|0)<16)ge(a);h=a+108|0;d=c[h>>2]|0;if((d|0)>=0)if(!(d&1073741824))if(!(d&536870912))if(!(d&268435456))if(!(d&134217728))if(!(d&67108864))if(!(d&33554432))if(!(d&16777216))if(!(d&8388608))if(!(d&4194304))if(!(d&2097152))if(!(d&1048576))if(!(d&524288))if(!(d&262144))if(!(d&131072)){f=d>>>12&16;b=f+-1|0;if(!f){b=(c[g>>2]|0)+-15|0;c[g>>2]=b;e=d<<15;c[h>>2]=e;d=b;b=15;while(1){if((d|0)<1){ge(a);f=c[h>>2]|0;d=c[g>>2]|0}else f=e;d=d+-1|0;c[g>>2]=d;e=f<<1;c[h>>2]=e;if((f|0)<0)break;else b=b+1|0}return b|0}}else b=14;else b=13;else b=12;else b=11;else b=10;else b=9;else b=8;else b=7;else b=6;else b=5;else b=4;else b=3;else b=2;else b=1;else b=0;a=b+1|0;c[g>>2]=(c[g>>2]|0)-a;c[h>>2]=d<>2]|0;if((e|0)<(d|0)){ge(b);e=c[f>>2]|0;if((e|0)<(d|0)){e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);b=o;o=0;if(b&1){b=Na()|0;La(e|0);Ya(b|0)}else lb(e|0,824,96)}}g=b+108|0;b=c[g>>2]|0;c[f>>2]=e-d;c[g>>2]=b<>>(32-d|0)|0}function Lg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function Mg(a){a=a|0;var b=0,d=0;c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Ng(a){a=a|0;var b=0,d=0;c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Og(a){a=a|0;var b=0,d=0;c[a>>2]=35828;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Pg(a){a=a|0;var b=0,d=0;c[a>>2]=35828;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Qg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Rg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;Zg(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function Sg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Tg(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Tg(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+172|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!(d>>>0>715827882?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(o=0,e=ka(67,d*6|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;f=e+(d*6|0)|0;c[C+8>>2]=f;while(1){b[e>>1]=0;b[e+2>>1]=0;b[e+4>>1]=0;d=d+-1|0;if(!d)break;else e=e+6|0}c[D>>2]=f;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=20;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=18;if((j|0)==18?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=20;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==20){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4596|0;k=$(y,x)|0;l=k+1|0;m=a+4600|0;n=(y|0)>0;p=a+160|0;q=a+168|0;r=a+164|0;s=a+156|0;t=a+88|0;u=a+4592|0;v=0;b:while(1){f=c[C>>2]|0;e=f+6|0;c[j>>2]=e;f=f+(l*6|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*6|0)|0;e=e+((d+-1|0)*6|0)|0;b[g>>1]=b[e>>1]|0;b[g+2>>1]=b[e+2>>1]|0;b[g+4>>1]=b[e+4>>1]|0;g=(c[m>>2]|0)+-6|0;e=c[j>>2]|0;b[g>>1]=b[e>>1]|0;b[g+2>>1]=b[e+2>>1]|0;b[g+4>>1]=b[e+4>>1]|0;o=0;ia(77,a|0,0);g=o;o=0;if(g&1){j=31;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*6|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*6|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*6|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=32;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=44;break a}}if((j|0)==31){f=Na()|0;break}else if((j|0)==32){f=Na()|0;break}}else j=44}while(0);do{if((j|0)==44){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}function Ug(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=i;i=i+32|0;D=N+24|0;M=N+18|0;L=N+12|0;E=N+6|0;F=N;G=d+172|0;f=c[G>>2]|0;if((f|0)<=0){i=N;return}H=d+4600|0;I=d+4596|0;J=d+4604|0;K=d+4592|0;C=0;while(1){h=C+-1|0;j=c[H>>2]|0;O=c[I>>2]|0;g=C+1|0;k=e[O+(C*6|0)>>1]|0;B=c[J>>2]|0;l=e[O+(h*6|0)>>1]|0;m=k-l|0;n=e[j+(h*6|0)>>1]|0;o=l-n|0;p=((((a[B+((e[O+(g*6|0)>>1]|0)-k)>>0]|0)*9|0)+(a[B+m>>0]|0)|0)*9|0)+(a[B+o>>0]|0)|0;q=e[O+(C*6|0)+2>>1]|0;r=e[O+(h*6|0)+2>>1]|0;s=q-r|0;t=e[j+(h*6|0)+2>>1]|0;u=r-t|0;v=((((a[B+((e[O+(g*6|0)+2>>1]|0)-q)>>0]|0)*9|0)+(a[B+s>>0]|0)|0)*9|0)+(a[B+u>>0]|0)|0;w=e[O+(C*6|0)+4>>1]|0;x=e[O+(h*6|0)+4>>1]|0;y=w-x|0;z=e[j+(h*6|0)+4>>1]|0;A=x-z|0;B=((((a[B+((e[O+(g*6|0)+4>>1]|0)-w)>>0]|0)*9|0)+(a[B+y>>0]|0)|0)*9|0)+(a[B+A>>0]|0)|0;if(!(v|p|B)){g=j+(h*6|0)|0;b[L>>1]=b[g>>1]|0;b[L+2>>1]=b[g+2>>1]|0;b[L+4>>1]=b[g+4>>1]|0;b[D>>1]=b[g>>1]|0;b[D+2>>1]=b[g+2>>1]|0;b[D+4>>1]=b[g+4>>1]|0;f=Vg(d,D,j+(C*6|0)|0,f-C|0)|0;g=f+C|0;if((g|0)!=(c[G>>2]|0)){O=(c[I>>2]|0)+(g*6|0)|0;b[F>>1]=b[O>>1]|0;b[F+2>>1]=b[O+2>>1]|0;b[F+4>>1]=b[O+4>>1]|0;O=(c[H>>2]|0)+(g*6|0)|0;b[M>>1]=b[L>>1]|0;b[M+2>>1]=b[L+2>>1]|0;b[M+4>>1]=b[L+4>>1]|0;b[D>>1]=b[F>>1]|0;b[D+2>>1]=b[F+2>>1]|0;b[D+4>>1]=b[F+4>>1]|0;Wg(E,d,M,D);b[O>>1]=b[E>>1]|0;b[O+2>>1]=b[E+2>>1]|0;b[O+4>>1]=b[E+4>>1]|0;O=c[K>>2]|0;c[K>>2]=(O|0)<1?0:O+-1|0;f=f+1|0}g=f+C|0}else{h=e[j+(C*6|0)>>1]|0;f=k-n>>31;if((f^o|0)>=0)if((f^m|0)<0)f=n;else f=n-l+k|0;else f=k;k=Xg(d,p,h,f,0)|0;h=e[(c[H>>2]|0)+(C*6|0)+2>>1]|0;f=q-t>>31;if((f^u|0)>=0)if((f^s|0)<0)f=t;else f=t-r+q|0;else f=q;h=Xg(d,v,h,f,0)|0;j=e[(c[H>>2]|0)+(C*6|0)+4>>1]|0;f=w-z>>31;if((f^A|0)>=0)if((f^y|0)<0)f=z;else f=z-x+w|0;else f=w;B=Xg(d,B,j,f,0)|0;O=c[H>>2]|0;b[O+(C*6|0)>>1]=k;b[O+(C*6|0)+2>>1]=h;b[O+(C*6|0)+4>>1]=B}f=c[G>>2]|0;if((g|0)>=(f|0))break;else C=g}i=N;return}function Vg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4592|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)<=0)return h|0;i=0;do{r=f+(i*6|0)|0;b[r>>1]=b[e>>1]|0;b[r+2>>1]=b[e+2>>1]|0;b[r+4>>1]=b[e+4>>1]|0;i=i+1|0}while((i|0)!=(h|0));return h|0}function Wg(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=d+4568|0;o=Yg(d,l)|0;j=Yg(d,l)|0;l=Yg(d,l)|0;i=d+128|0;h=e[g>>1]|0;m=c[d+136>>2]|0;n=m<<1|1;h=($($(n,o)|0,h-(e[f>>1]|0)>>31|1)|0)+h|0;o=0-m|0;if((h|0)>=(o|0)){i=c[i>>2]|0;if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else{h=($(c[d+132>>2]|0,n)|0)+h|0;i=c[i>>2]|0}if((h&i|0)!=(h|0))h=i&~(h>>31);k=h&65535;h=e[g+2>>1]|0;h=($($(n,j)|0,h-(e[f+2>>1]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else h=($(c[d+132>>2]|0,n)|0)+h|0;if((h&i|0)!=(h|0))h=i&~(h>>31);j=h&65535;h=e[g+4>>1]|0;h=($($(n,l)|0,h-(e[f+4>>1]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else h=($(c[d+132>>2]|0,n)|0)+h|0;if((h&i|0)==(h|0)){d=h;d=d&65535;b[a>>1]=k;o=a+2|0;b[o>>1]=j;a=a+4|0;b[a>>1]=d;return}d=i&~(h>>31);d=d&65535;b[a>>1]=k;o=a+2|0;b[o>>1]=j;a=a+4|0;b[a>>1]=d;return}function Xg(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&65535;return d|0}d=f&~(h>>31);d=d&65535;return d|0}function Yg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function Zg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function _g(a){a=a|0;var b=0,d=0;c[a>>2]=35800;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function $g(a){a=a|0;var b=0,d=0;c[a>>2]=35800;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ah(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function bh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;jh(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function ch(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);dh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function dh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=b+172|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[D>>2]|0)+3|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){h=b+8|0;b:do{if((c[h>>2]|0)>0){j=b+4596|0;k=$(y,x)|0;l=k+1|0;m=b+4600|0;n=(y|0)>0;p=b+160|0;q=b+168|0;r=b+164|0;s=b+156|0;t=b+88|0;u=b+4592|0;v=0;c:while(1){f=c[C>>2]|0;e=f+3|0;c[j>>2]=e;f=f+(l*3|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*3|0)|0;e=e+((d+-1|0)*3|0)|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;e=c[j>>2]|0;g=(c[m>>2]|0)+-3|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;o=0;ia(78,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*3|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*3|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*3|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){f=Na()|0;break}else if((h|0)==31){f=Na()|0;break}}else h=43}while(0);do{if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function eh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=i;i=i+16|0;C=M+12|0;L=M+9|0;K=M+6|0;D=M+3|0;E=M;F=b+172|0;e=c[F>>2]|0;if((e|0)<=0){i=M;return}G=b+4600|0;H=b+4596|0;I=b+4604|0;J=b+4592|0;B=0;while(1){y=B+-1|0;g=c[G>>2]|0;h=g+(y*3|0)|0;N=c[H>>2]|0;f=B+1|0;j=d[N+(B*3|0)>>0]|0;A=c[I>>2]|0;k=d[N+(y*3|0)>>0]|0;l=j-k|0;m=d[h>>0]|0;n=k-m|0;o=((((a[A+((d[N+(f*3|0)>>0]|0)-j)>>0]|0)*9|0)+(a[A+l>>0]|0)|0)*9|0)+(a[A+n>>0]|0)|0;p=d[N+(B*3|0)+1>>0]|0;q=d[N+(y*3|0)+1>>0]|0;r=p-q|0;s=d[g+(y*3|0)+1>>0]|0;t=q-s|0;u=((((a[A+((d[N+(f*3|0)+1>>0]|0)-p)>>0]|0)*9|0)+(a[A+r>>0]|0)|0)*9|0)+(a[A+t>>0]|0)|0;v=d[N+(B*3|0)+2>>0]|0;w=d[N+(y*3|0)+2>>0]|0;x=v-w|0;y=d[g+(y*3|0)+2>>0]|0;z=w-y|0;A=((((a[A+((d[N+(f*3|0)+2>>0]|0)-v)>>0]|0)*9|0)+(a[A+x>>0]|0)|0)*9|0)+(a[A+z>>0]|0)|0;if(!(u|o|A)){a[K>>0]=a[h>>0]|0;a[K+1>>0]=a[h+1>>0]|0;a[K+2>>0]=a[h+2>>0]|0;a[C>>0]=a[h>>0]|0;a[C+1>>0]=a[h+1>>0]|0;a[C+2>>0]=a[h+2>>0]|0;e=fh(b,C,g+(B*3|0)|0,e-B|0)|0;f=e+B|0;if((f|0)!=(c[F>>2]|0)){N=(c[H>>2]|0)+(f*3|0)|0;a[E>>0]=a[N>>0]|0;a[E+1>>0]=a[N+1>>0]|0;a[E+2>>0]=a[N+2>>0]|0;N=c[G>>2]|0;a[L>>0]=a[K>>0]|0;a[L+1>>0]=a[K+1>>0]|0;a[L+2>>0]=a[K+2>>0]|0;a[C>>0]=a[E>>0]|0;a[C+1>>0]=a[E+1>>0]|0;a[C+2>>0]=a[E+2>>0]|0;gh(D,b,L,C);N=N+(f*3|0)|0;a[N>>0]=a[D>>0]|0;a[N+1>>0]=a[D+1>>0]|0;a[N+2>>0]=a[D+2>>0]|0;N=c[J>>2]|0;c[J>>2]=(N|0)<1?0:N+-1|0;e=e+1|0}f=e+B|0}else{g=d[g+(B*3|0)>>0]|0;e=j-m>>31;if((e^n|0)>=0)if((e^l|0)<0)e=m;else e=m-k+j|0;else e=j;j=hh(b,o,g,e,0)|0;g=d[(c[G>>2]|0)+(B*3|0)+1>>0]|0;e=p-s>>31;if((e^t|0)>=0)if((e^r|0)<0)e=s;else e=s-q+p|0;else e=p;g=hh(b,u,g,e,0)|0;h=d[(c[G>>2]|0)+(B*3|0)+2>>0]|0;e=v-y>>31;if((e^z|0)>=0)if((e^x|0)<0)e=y;else e=y-w+v|0;else e=v;A=hh(b,A,h,e,0)|0;N=(c[G>>2]|0)+(B*3|0)|0;a[N>>0]=j;a[N+1>>0]=g;a[N+2>>0]=A}e=c[F>>2]|0;if((f|0)>=(e|0))break;else B=f}i=M;return}function fh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4592|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;h=0;do{q=e+(h*3|0)|0;a[q>>0]=a[d>>0]|0;a[q+1>>0]=a[d+1>>0]|0;a[q+2>>0]=a[d+2>>0]|0;h=h+1|0}while((h|0)!=(g|0));return g|0}function gh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=e+4568|0;o=ih(e,l)|0;j=ih(e,l)|0;l=ih(e,l)|0;i=e+128|0;h=d[g>>0]|0;m=c[e+136>>2]|0;n=m<<1|1;h=($($(n,o)|0,h-(d[f>>0]|0)>>31|1)|0)+h|0;o=0-m|0;if((h|0)>=(o|0)){i=c[i>>2]|0;if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else{h=($(c[e+132>>2]|0,n)|0)+h|0;i=c[i>>2]|0}if((h&i|0)!=(h|0))h=i&~(h>>31);k=h&255;h=d[g+1>>0]|0;h=($($(n,j)|0,h-(d[f+1>>0]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else h=($(c[e+132>>2]|0,n)|0)+h|0;if((h&i|0)!=(h|0))h=i&~(h>>31);j=h&255;h=d[g+2>>0]|0;h=($($(n,l)|0,h-(d[f+2>>0]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else h=($(c[e+132>>2]|0,n)|0)+h|0;if((h&i|0)==(h|0)){e=h;e=e&255;a[b>>0]=k;o=b+1|0;a[o>>0]=j;b=b+2|0;a[b>>0]=e;return}e=i&~(h>>31);e=e&255;a[b>>0]=k;o=b+1|0;a[o>>0]=j;b=b+2|0;a[b>>0]=e;return}function hh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&255;return d|0}d=f&~(h>>31);d=d&255;return d|0}function ih(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function jh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function kh(a){a=a|0;var b=0,d=0;c[a>>2]=35772;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function lh(a){a=a|0;var b=0,d=0;c[a>>2]=35772;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function mh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function nh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,65535,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;vh(d);g=0;do{c[d+164+(g*12|0)>>2]=1024;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=1024;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=1024;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function oh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);ph(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function ph(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+148|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4572|0;k=$(y,x)|0;l=k+1|0;m=a+4576|0;n=(y|0)>0;p=a+136|0;q=a+144|0;r=a+140|0;s=a+132|0;t=a+88|0;u=a+4568|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(79,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function qh(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4572|0;f=c[p>>2]|0;s=d+148|0;if((c[s>>2]|0)<=0)return;q=d+4576|0;r=d+4580|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(sh(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=rh(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function rh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&65535|0)!=(f|0))f=f>>31&65535^65535;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<47){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}function sh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4576|0;h=c[i>>2]|0;f=b[h+(d+-1<<1)>>1]|0;j=a+148|0;h=th(a,f,h+(d<<1)|0,(c[j>>2]|0)-d|0)|0;g=h+d|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&65535;d=e[(c[a+4572>>2]|0)+(g<<1)>>1]|0;j=f-d|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(uh(a,a+4556|0)|0)+f|0;else f=($(uh(a,a+4544|0)|0,d-f>>31|1)|0)+d|0;b[(c[i>>2]|0)+(g<<1)>>1]=f;j=a+4568|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;j=h+1|0;return j|0}function th(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4568|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function uh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(46-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,16)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function vh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,65535,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8909]|0;c[b+4580>>2]=l+(((c[8910]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=131072){if(h>>>0>131072?(j=d+131072|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,131072-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+65536;j=b+160|0;g=b+156|0;h=-65536;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==65536)break}i=m;return}function wh(a){a=a|0;var b=0,d=0;c[a>>2]=35744;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function xh(a){a=a|0;var b=0,d=0;c[a>>2]=35744;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function yh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function zh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,4095,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;Hh(d);g=0;do{c[d+164+(g*12|0)>>2]=64;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=64;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=64;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Ah(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Bh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Bh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+148|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4572|0;k=$(y,x)|0;l=k+1|0;m=a+4576|0;n=(y|0)>0;p=a+136|0;q=a+144|0;r=a+140|0;s=a+132|0;t=a+88|0;u=a+4568|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(80,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Ch(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4572|0;f=c[p>>2]|0;s=d+148|0;if((c[s>>2]|0)<=0)return;q=d+4576|0;r=d+4580|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(Eh(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=Dh(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function Dh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&4095|0)!=(f|0))f=f>>31&4095^4095;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<35){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}function Eh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4576|0;h=c[i>>2]|0;f=b[h+(d+-1<<1)>>1]|0;j=a+148|0;h=Fh(a,f,h+(d<<1)|0,(c[j>>2]|0)-d|0)|0;g=h+d|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&65535;d=e[(c[a+4572>>2]|0)+(g<<1)>>1]|0;j=f-d|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(Gh(a,a+4556|0)|0)+f|0;else f=($(Gh(a,a+4544|0)|0,d-f>>31|1)|0)+d|0;b[(c[i>>2]|0)+(g<<1)>>1]=f&4095;j=a+4568|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;j=h+1|0;return j|0}function Fh(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4568|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function Gh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(34-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,12)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function Hh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,4095,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8906]|0;c[b+4580>>2]=l+(((c[8907]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=8192){if(h>>>0>8192?(j=d+8192|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,8192-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+4096;j=b+160|0;g=b+156|0;h=-4096;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==4096)break}i=m;return}function Ih(a){a=a|0;var b=0,d=0;c[a>>2]=35716;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Jh(a){a=a|0;var b=0,d=0;c[a>>2]=35716;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Kh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Lh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;Th(d);g=0;do{c[d+164+(g*12|0)>>2]=4;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=4;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=4;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Mh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Nh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Nh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=b+148|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[D>>2]|0)+1|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}e=Na()|0;d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){h=b+8|0;b:do{if((c[h>>2]|0)>0){j=b+4572|0;k=$(y,x)|0;l=k+1|0;m=b+4576|0;n=(y|0)>0;p=b+136|0;q=b+144|0;r=b+140|0;s=b+132|0;t=b+88|0;u=b+4568|0;v=0;c:while(1){f=c[C>>2]|0;e=f+1|0;c[j>>2]=e;f=f+l|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;a[e+g>>0]=a[e+(g+-1)>>0]|0;a[(c[m>>2]|0)+-1>>0]=a[c[j>>2]>>0]|0;o=0;ia(81,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+x|0;c[j>>2]=e;d=(c[m>>2]|0)+x|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){e=Na()|0;break}else if((h|0)==31){e=Na()|0;break}}else h=43}while(0);do{if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);i=A;return}}while(0);d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}function Oh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4572|0;e=c[o>>2]|0;r=b+148|0;if((c[r>>2]|0)<=0)return;p=b+4576|0;q=b+4580|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(Qh(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=Ph(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function Ph(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&255|0)!=(f|0))f=f>>31&255^255;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<23){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}function Qh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=b+4576|0;h=c[i>>2]|0;f=a[h+(e+-1)>>0]|0;j=b+148|0;h=Rh(b,f,h+e|0,(c[j>>2]|0)-e|0)|0;g=h+e|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&255;e=d[(c[b+4572>>2]|0)+g>>0]|0;j=f-e|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(Sh(b,b+4556|0)|0)+f|0;else f=($(Sh(b,b+4544|0)|0,e-f>>31|1)|0)+e|0;a[(c[i>>2]|0)+g>>0]=f;j=b+4568|0;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;j=h+1|0;return j|0}function Rh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4568|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;iw(e|0,d|0,g|0)|0;return g|0}function Sh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(22-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,8)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function Th(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8900]|0;c[b+4580>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+256;j=b+160|0;g=b+156|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function Uh(a){a=a|0;var b=0,d=0;c[a>>2]=35688;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Vh(a){a=a|0;var b=0,d=0;c[a>>2]=35688;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Wh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Xh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;di(d);g=0;do{c[d+164+(g*12|0)>>2]=4;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=4;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=4;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Yh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Zh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Zh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=b+148|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[D>>2]|0)+3|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){h=b+8|0;b:do{if((c[h>>2]|0)>0){j=b+4572|0;k=$(y,x)|0;l=k+1|0;m=b+4576|0;n=(y|0)>0;p=b+136|0;q=b+144|0;r=b+140|0;s=b+132|0;t=b+88|0;u=b+4568|0;v=0;c:while(1){f=c[C>>2]|0;e=f+3|0;c[j>>2]=e;f=f+(l*3|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*3|0)|0;e=e+((d+-1|0)*3|0)|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;e=c[j>>2]|0;g=(c[m>>2]|0)+-3|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;o=0;ia(82,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*3|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*3|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*3|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){f=Na()|0;break}else if((h|0)==31){f=Na()|0;break}}else h=43}while(0);do{if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function _h(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+148|0;if((c[A>>2]|0)<=0)return;B=b+4576|0;C=b+4572|0;D=b+4580|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=($h(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=ai(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=ai(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=ai(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function $h(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=i;i=i+16|0;n=l+3|0;o=l;h=b+4576|0;e=c[h>>2]|0;f=e+((d+-1|0)*3|0)|0;j=a[f>>0]|0;k=a[f+1>>0]|0;f=a[f+2>>0]|0;a[o>>0]=j;a[o+1>>0]=k;a[o+2>>0]=f;m=b+148|0;g=(c[m>>2]|0)-d|0;a[n>>0]=a[o>>0]|0;a[n+1>>0]=a[o+1>>0]|0;a[n+2>>0]=a[o+2>>0]|0;g=bi(b,n,e+(d*3|0)|0,g)|0;e=g+d|0;if((e|0)==(c[m>>2]|0)){o=g;i=l;return o|0}n=(c[b+4572>>2]|0)+(e*3|0)|0;d=a[n>>0]|0;m=a[n+1>>0]|0;n=a[n+2>>0]|0;o=c[h>>2]|0;p=b+4544|0;h=ci(b,p)|0;q=ci(b,p)|0;d=d&255;m=m&255;m=($(m-(k&255)>>31|1,q)|0)+m&255;n=n&255;n=($(n-(f&255)>>31|1,ci(b,p)|0)|0)+n&255;o=o+(e*3|0)|0;a[o>>0]=($(d-(j&255)>>31|1,h)|0)+d;a[o+1>>0]=m;a[o+2>>0]=n;o=b+4568|0;n=c[o>>2]|0;c[o>>2]=(n|0)<1?0:n+-1|0;o=g+1|0;i=l;return o|0}function ai(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&255|0)!=(f|0))f=f>>31&255^255;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<23){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}function bi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4568|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;h=0;do{q=e+(h*3|0)|0;a[q>>0]=a[d>>0]|0;a[q+1>>0]=a[d+1>>0]|0;a[q+2>>0]=a[d+2>>0]|0;h=h+1|0}while((h|0)!=(g|0));return g|0}function ci(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(22-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,8)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function Lp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+128|0;h=n;q=n+116|0;r=n+104|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,0,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(3,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=Uu(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function Mp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+240|0;h=n+8|0;a=n;q=n+204|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,0,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,23,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(3,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=Uu(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function Np(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+352|0;u=z+312|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+316|0;t=z+80|0;k=z+84|0;y=z+76|0;x=z+72|0;v=z+68|0;w=z+64|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58898,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,c[q>>2]=c[d+8>>2],h[q+8>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<3)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(4,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(40,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Op(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+16|0;z=y;x=Is(j,44212)|0;v=Is(j,44368)|0;Cb[c[(c[v>>2]|0)+20>>2]&127](z,v);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,j|0)|0;w=o;o=0;if(w&1)u=8;else{m=c[h>>2]|0;c[h>>2]=m+4;c[m>>2]=j;m=b+1|0;u=10}break}default:{m=b;u=10}}a:do{if((u|0)==10){w=e;b:do{if((w-m|0)>1?(a[m>>0]|0)==48:0){k=m+1|0;switch(a[k>>0]|0){case 88:case 120:break;default:{u=11;break b}}o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,48)|0;t=o;o=0;if(t&1){u=8;break a}t=c[h>>2]|0;c[h>>2]=t+4;c[t>>2]=j;m=m+2|0;o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,a[k>>0]|0)|0;t=o;o=0;if(t&1){u=8;break a}t=c[h>>2]|0;c[h>>2]=t+4;c[t>>2]=j;if(m>>>0>>0){j=m;while(1){k=a[j>>0]|0;o=0;l=ua(3)|0;t=o;o=0;if(t&1)break;o=0;k=ra(39,k<<24>>24|0,l|0)|0;t=o;o=0;if(t&1)break;if(!k){t=m;break b}j=j+1|0;if(j>>>0>=e>>>0){t=m;break b}}j=Na()|0;break a}else{t=m;j=m}}else u=11}while(0);c:do{if((u|0)==11)if(m>>>0>>0){j=m;while(1){k=a[j>>0]|0;o=0;l=ua(3)|0;t=o;o=0;if(t&1)break;o=0;k=ra(40,k<<24>>24|0,l|0)|0;t=o;o=0;if(t&1)break;if(!k){t=m;break c}j=j+1|0;if(j>>>0>=e>>>0){t=m;break c}}j=Na()|0;break a}else{t=m;j=m}}while(0);r=a[z>>0]|0;s=z+4|0;if(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0){if((t|0)!=(j|0)?(n=j+-1|0,t>>>0>>0):0){l=t;k=n;do{r=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=r;l=l+1|0;k=k+-1|0}while(l>>>0>>0)}o=0;n=ka(c[(c[v>>2]|0)+16>>2]|0,v|0)|0;r=o;o=0;if(r&1){u=8;break}p=z+8|0;q=z+1|0;d:do{if(t>>>0>>0){k=0;l=0;r=t;while(1){m=a[((a[z>>0]&1)==0?q:c[p>>2]|0)+l>>0]|0;if(m<<24>>24>0&(k|0)==(m<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=n;k=a[z>>0]|0;m=0;l=(l>>>0<(((k&1)==0?(k&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+l|0}else m=k;o=0;k=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,a[r>>0]|0)|0;A=o;o=0;if(A&1)break;A=c[h>>2]|0;c[h>>2]=A+4;c[A>>2]=k;r=r+1|0;if(r>>>0>=j>>>0)break d;else k=m+1|0}j=Na()|0;break a}}while(0);k=f+(t-b<<2)|0;m=c[h>>2]|0;if((k|0)!=(m|0)){l=m+-4|0;if(k>>>0>>0){do{A=c[k>>2]|0;c[k>>2]=c[l>>2];c[l>>2]=A;k=k+4|0;l=l+-4|0}while(k>>>0>>0);n=x;k=m}else{n=x;k=m}}else n=x}else{o=0;va(c[(c[x>>2]|0)+48>>2]|0,x|0,t|0,j|0,c[h>>2]|0)|0;A=o;o=0;if(A&1){u=8;break}k=(c[h>>2]|0)+(j-t<<2)|0;c[h>>2]=k;n=x}e:do{if(j>>>0>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46){l=j;break}o=0;l=ra(c[(c[n>>2]|0)+44>>2]|0,x|0,k|0)|0;A=o;o=0;if(A&1){u=4;break}A=c[h>>2]|0;k=A+4|0;c[h>>2]=k;c[A>>2]=l;j=j+1|0;if(j>>>0>=e>>>0)break e}if((u|0)==4){j=Na()|0;break a}o=0;j=ka(c[(c[v>>2]|0)+12>>2]|0,v|0)|0;A=o;o=0;if(A&1){u=8;break a}A=c[h>>2]|0;k=A+4|0;c[h>>2]=k;c[A>>2]=j;j=l+1|0}}while(0);o=0;va(c[(c[x>>2]|0)+48>>2]|0,x|0,j|0,e|0,k|0)|0;A=o;o=0;if(A&1)u=8;else{A=(c[h>>2]|0)+(w-j<<2)|0;c[h>>2]=A;c[g>>2]=(d|0)==(e|0)?A:f+(d-b<<2)|0;Im(z);i=y;return}}}while(0);if((u|0)==8)j=Na()|0;Im(z);Ya(j|0)}function Pp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+352|0;u=z+304|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+308|0;t=z+72|0;k=z+76|0;y=z+68|0;x=z+64|0;v=z+60|0;w=z+56|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58899,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,h[q>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<3)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(4,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(40,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Qp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+192|0;l=q;b=q+180|0;n=q+160|0;p=q+12|0;k=q+8|0;m=q+4|0;a[b>>0]=a[58901]|0;a[b+1>>0]=a[58902]|0;a[b+2>>0]=a[58903]|0;a[b+3>>0]=a[58904]|0;a[b+4>>0]=a[58905]|0;a[b+5>>0]=a[58906]|0;h=Xo()|0;c[l>>2]=g;b=Su(n,20,h,b,l)|0;g=n+b|0;h=vp(n,g,e)|0;j=jn(e)|0;c[k>>2]=j;o=0;k=ra(37,k|0,44212)|0;r=o;o=0;if(r&1){r=Na()|0;pm(j)|0;Ya(r|0)}else{pm(j)|0;Pb[c[(c[k>>2]|0)+48>>2]&31](k,n,g,p)|0;r=p+(b<<2)|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];r=Uu(l,p,(h|0)==(g|0)?r:p+(h-n<<2)|0,r,e,f)|0;i=q;return r|0}return 0}function Rp(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+32|0;w=C+16|0;v=C+12|0;z=C+8|0;x=C+4|0;y=C;n=jn(h)|0;c[z>>2]=n;o=0;z=ra(37,z|0,44220)|0;u=o;o=0;if(u&1){C=Na()|0;pm(n)|0;Ya(C|0)}pm(n)|0;c[j>>2]=0;u=z+8|0;n=c[f>>2]|0;a:do{if((l|0)!=(m|0)){b:while(1){p=n;if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0;p=0}}else n=0;s=(n|0)==0;r=c[g>>2]|0;q=r;do{if(r){if((c[r+12>>2]|0)==(c[r+16>>2]|0)?(Eb[c[(c[r>>2]|0)+36>>2]&127](r)|0)==-1:0){c[g>>2]=0;q=0;B=12;break}if(!s){B=13;break b}}else B=12}while(0);if((B|0)==12){B=0;if(s){B=13;break}else r=0}c:do{if((Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[l>>0]|0,0)|0)<<24>>24==37){r=l+1|0;if((r|0)==(m|0)){B=17;break b}t=Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[r>>0]|0,0)|0;switch(t<<24>>24){case 48:case 69:{s=l+2|0;if((s|0)==(m|0)){B=20;break b}l=r;r=Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[s>>0]|0,0)|0;n=t;break}default:{r=t;n=0}}t=c[(c[e>>2]|0)+36>>2]|0;c[x>>2]=p;c[y>>2]=q;c[v>>2]=c[x>>2];c[w>>2]=c[y>>2];c[f>>2]=Sb[t&15](e,v,w,h,j,k,r,n)|0;l=l+2|0}else{p=a[l>>0]|0;if(p<<24>>24>-1?(A=c[u>>2]|0,(b[A+(p<<24>>24<<1)>>1]&8192)!=0):0){do{l=l+1|0;if((l|0)==(m|0)){l=m;break}p=a[l>>0]|0;if(p<<24>>24<=-1)break}while((b[A+(p<<24>>24<<1)>>1]&8192)!=0);p=r;while(1){if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;q=(n|0)==0;do{if(r){if((c[r+12>>2]|0)!=(c[r+16>>2]|0))if(q){t=p;break}else break c;if((Eb[c[(c[r>>2]|0)+36>>2]&127](r)|0)!=-1)if(q^(p|0)==0){t=p;r=p;break}else break c;else{c[g>>2]=0;p=0;B=39;break}}else B=39}while(0);if((B|0)==39){B=0;if(q)break c;else{t=p;r=0}}q=n+12|0;p=c[q>>2]|0;s=n+16|0;if((p|0)==(c[s>>2]|0))p=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else p=d[p>>0]|0;if((p&255)<<24>>24<=-1)break c;if(!(b[(c[u>>2]|0)+(p<<24>>24<<1)>>1]&8192))break c;p=c[q>>2]|0;if((p|0)==(c[s>>2]|0)){Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;p=t;continue}else{c[q>>2]=p+1;p=t;continue}}}q=n+12|0;p=c[q>>2]|0;r=n+16|0;if((p|0)==(c[r>>2]|0))p=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else p=d[p>>0]|0;t=Lb[c[(c[z>>2]|0)+12>>2]&63](z,p&255)|0;if(t<<24>>24!=(Lb[c[(c[z>>2]|0)+12>>2]&63](z,a[l>>0]|0)|0)<<24>>24){B=57;break b}p=c[q>>2]|0;if((p|0)==(c[r>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else c[q>>2]=p+1;l=l+1|0}}while(0);n=c[f>>2]|0;if(!((l|0)!=(m|0)&(c[j>>2]|0)==0))break a}if((B|0)==13){c[j>>2]=4;break}else if((B|0)==17){c[j>>2]=4;break}else if((B|0)==20){c[j>>2]=4;break}else if((B|0)==57){c[j>>2]=4;n=c[f>>2]|0;break}}}while(0);if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;l=(n|0)==0;p=c[g>>2]|0;do{if(p){if((c[p+12>>2]|0)==(c[p+16>>2]|0)?(Eb[c[(c[p>>2]|0)+36>>2]&127](p)|0)==-1:0){c[g>>2]=0;B=67;break}if(!l)B=68}else B=67}while(0);if((B|0)==67?l:0)B=68;if((B|0)==68)c[j>>2]=c[j>>2]|2;i=C;return n|0}function Sp(a){a=a|0;return}function Tp(a){a=a|0;cj(a);return}function Up(a){a=a|0;return 2}function Vp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Rp(a,k,j,e,f,g,58907,58915)|0;i=h;return a|0}function Wp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;o=b+8|0;o=Eb[c[(c[o>>2]|0)+20>>2]&127](o)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];e=a[o>>0]|0;p=(e&1)==0;d=p?o+1|0:c[o+8>>2]|0;e=d+(p?(e&255)>>>1:c[o+4>>2]|0)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=Rp(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function Xp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];Yp(a,g+24|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function Yp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[c[a>>2]>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(xu(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function Zp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];_p(a,g+16|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function _p(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(xu(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function $p(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];aq(a,g+20|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function aq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function bq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;U=i;i=i+144|0;l=U+132|0;k=U+116|0;N=U+128|0;x=U+124|0;I=U+120|0;O=U+112|0;P=U+108|0;Q=U+104|0;R=U+100|0;S=U+96|0;T=U+92|0;m=U+88|0;n=U+84|0;p=U+80|0;q=U+76|0;r=U+72|0;s=U+68|0;t=U+64|0;u=U+60|0;v=U+56|0;w=U+52|0;y=U+48|0;z=U+44|0;A=U+40|0;B=U+36|0;C=U+32|0;D=U+28|0;E=U+24|0;F=U+20|0;G=U+16|0;H=U+12|0;J=U+8|0;K=U+4|0;L=U;c[g>>2]=0;M=jn(f)|0;c[N>>2]=M;o=0;N=ra(37,N|0,44220)|0;W=o;o=0;if(W&1){W=Na()|0;pm(M)|0;Ya(W|0)}pm(M)|0;do{switch(j<<24>>24|0){case 65:case 97:{c[x>>2]=c[e>>2];c[l>>2]=c[x>>2];Yp(b,h+24|0,d,l,g,N);V=28;break}case 104:case 66:case 98:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];_p(b,h+16|0,d,l,g,N);V=28;break}case 99:{V=b+8|0;V=Eb[c[(c[V>>2]|0)+12>>2]&127](V)|0;c[O>>2]=c[d>>2];c[P>>2]=c[e>>2];j=a[V>>0]|0;e=(j&1)==0;W=e?V+1|0:c[V+8>>2]|0;V=W+(e?(j&255)>>>1:c[V+4>>2]|0)|0;c[k>>2]=c[O>>2];c[l>>2]=c[P>>2];c[d>>2]=Rp(b,k,l,f,g,h,W,V)|0;V=28;break}case 101:case 100:{c[Q>>2]=c[e>>2];c[l>>2]=c[Q>>2];cq(b,h+12|0,d,l,g,N);V=28;break}case 68:{c[R>>2]=c[d>>2];c[S>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[S>>2];c[d>>2]=Rp(b,k,l,f,g,h,58915,58923)|0;V=28;break}case 70:{c[T>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[T>>2];c[l>>2]=c[m>>2];c[d>>2]=Rp(b,k,l,f,g,h,58923,58931)|0;V=28;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];dq(b,h+8|0,d,l,g,N);V=28;break}case 73:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];eq(b,h+8|0,d,l,g,N);V=28;break}case 106:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];fq(b,h+28|0,d,l,g,N);V=28;break}case 109:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];gq(b,h+16|0,d,l,g,N);V=28;break}case 77:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];hq(b,h+4|0,d,l,g,N);V=28;break}case 116:case 110:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];iq(b,d,l,g,N);V=28;break}case 112:{c[u>>2]=c[e>>2];c[l>>2]=c[u>>2];jq(b,h+8|0,d,l,g,N);V=28;break}case 114:{c[v>>2]=c[d>>2];c[w>>2]=c[e>>2];c[k>>2]=c[v>>2];c[l>>2]=c[w>>2];c[d>>2]=Rp(b,k,l,f,g,h,58931,58942)|0;V=28;break}case 82:{c[y>>2]=c[d>>2];c[z>>2]=c[e>>2];c[k>>2]=c[y>>2];c[l>>2]=c[z>>2];c[d>>2]=Rp(b,k,l,f,g,h,58942,58947)|0;V=28;break}case 83:{c[A>>2]=c[e>>2];c[l>>2]=c[A>>2];kq(b,h,d,l,g,N);V=28;break}case 84:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[k>>2]=c[B>>2];c[l>>2]=c[C>>2];c[d>>2]=Rp(b,k,l,f,g,h,58947,58955)|0;V=28;break}case 119:{c[D>>2]=c[e>>2];c[l>>2]=c[D>>2];lq(b,h+24|0,d,l,g,N);V=28;break}case 120:{W=c[(c[b>>2]|0)+20>>2]|0;c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[k>>2]=c[E>>2];c[l>>2]=c[F>>2];k=Db[W&63](b,k,l,f,g,h)|0;break}case 88:{V=b+8|0;V=Eb[c[(c[V>>2]|0)+24>>2]&127](V)|0;c[G>>2]=c[d>>2];c[H>>2]=c[e>>2];j=a[V>>0]|0;e=(j&1)==0;W=e?V+1|0:c[V+8>>2]|0;V=W+(e?(j&255)>>>1:c[V+4>>2]|0)|0;c[k>>2]=c[G>>2];c[l>>2]=c[H>>2];c[d>>2]=Rp(b,k,l,f,g,h,W,V)|0;V=28;break}case 121:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];aq(b,h+20|0,d,l,g,N);V=28;break}case 89:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];mq(b,h+20|0,d,l,g,N);V=28;break}case 37:{c[L>>2]=c[e>>2];c[l>>2]=c[L>>2];nq(b,d,l,g,N);V=28;break}default:{c[g>>2]=c[g>>2]|4;V=28}}}while(0);if((V|0)==28)k=c[d>>2]|0;i=U;return k|0}function cq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function dq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function eq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function fq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function gq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function hq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function iq(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){h=c[e>>2]|0;do{if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0}while(0);h=(h|0)==0;a=c[f>>2]|0;do{if(a){if((c[a+12>>2]|0)!=(c[a+16>>2]|0))if(h)break;else break a;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)!=-1)if(h)break;else break a;else{c[f>>2]=0;k=12;break}}else k=12}while(0);if((k|0)==12){k=0;if(h){a=0;break}else a=0}h=c[e>>2]|0;i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=d[i>>0]|0;if((h&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(h<<24>>24<<1)>>1]&8192))break;h=c[e>>2]|0;a=h+12|0;i=c[a>>2]|0;if((i|0)==(c[h+16>>2]|0)){Eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;continue}else{c[a>>2]=i+1;continue}}h=c[e>>2]|0;do{if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0}while(0);h=(h|0)==0;do{if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1:0){c[f>>2]=0;k=32;break}if(!h)k=33}else k=32}while(0);if((k|0)==32?h:0)k=33;if((k|0)==33)c[g>>2]=c[g>>2]|2;return}function jq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=Eb[c[(c[m>>2]|0)+8>>2]&127](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do{if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=xu(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4}while(0);i=n;return}function kq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function lq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function mq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function nq(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a=c[b>>2]|0;do{if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}}else a=0}while(0);h=(a|0)==0;a=c[e>>2]|0;do{if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1:0){c[e>>2]=0;j=11;break}if(h){i=a;j=13}else j=12}else j=11}while(0);if((j|0)==11)if(h)j=12;else{i=0;j=13}a:do{if((j|0)==12)c[f>>2]=c[f>>2]|6;else if((j|0)==13){a=c[b>>2]|0;h=c[a+12>>2]|0;if((h|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=d[h>>0]|0;if((Gb[c[(c[g>>2]|0)+36>>2]&63](g,a&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}a=c[b>>2]|0;h=a+12|0;g=c[h>>2]|0;if((g|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;a=c[b>>2]|0;if(!a)a=0;else j=21}else{c[h>>2]=g+1;j=21}do{if((j|0)==21)if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}}while(0);a=(a|0)==0;do{if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1:0){c[e>>2]=0;j=30;break}if(a)break a}else j=30}while(0);if((j|0)==30?!a:0)break;c[f>>2]=c[f>>2]|2}}while(0);return}function oq(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+32|0;s=x+16|0;r=x+12|0;v=x+8|0;t=x+4|0;u=x;k=jn(e)|0;c[v>>2]=k;o=0;v=ra(37,v|0,44212)|0;q=o;o=0;if(q&1){x=Na()|0;pm(k)|0;Ya(x|0)}pm(k)|0;c[f>>2]=0;k=c[b>>2]|0;a:do{if((h|0)!=(j|0)){b:while(1){m=k;if(k){l=c[k+12>>2]|0;if((l|0)==(c[k+16>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;if((l|0)==-1){c[b>>2]=0;k=0;p=1;q=0}else{p=0;q=m}}else{k=0;p=1;q=m}n=c[d>>2]|0;l=n;do{if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0))m=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(p)break;else{w=17;break b}else{c[d>>2]=0;l=0;w=15;break}}else w=15}while(0);if((w|0)==15){w=0;if(p){w=17;break}else n=0}c:do{if((Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[h>>2]|0,0)|0)<<24>>24==37){m=h+4|0;if((m|0)==(j|0)){w=21;break b}p=Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[m>>2]|0,0)|0;switch(p<<24>>24){case 48:case 69:{n=h+8|0;if((n|0)==(j|0)){w=24;break b}h=m;m=Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[n>>2]|0,0)|0;k=p;break}default:{m=p;k=0}}p=c[(c[a>>2]|0)+36>>2]|0;c[t>>2]=q;c[u>>2]=l;c[r>>2]=c[t>>2];c[s>>2]=c[u>>2];c[b>>2]=Sb[p&15](a,r,s,e,f,g,m,k)|0;h=h+8|0}else{if(!(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,c[h>>2]|0)|0)){m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;q=Lb[c[(c[v>>2]|0)+28>>2]&63](v,l)|0;if((q|0)!=(Lb[c[(c[v>>2]|0)+28>>2]&63](v,c[h>>2]|0)|0)){w=61;break b}l=c[m>>2]|0;if((l|0)==(c[n>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else c[m>>2]=l+4;h=h+4|0;break}do{h=h+4|0;if((h|0)==(j|0)){h=j;break}}while(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,c[h>>2]|0)|0);l=n;p=n;while(1){if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))m=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else m=c[m>>2]|0;if((m|0)==-1){c[b>>2]=0;n=1;k=0}else n=0}else{n=1;k=0}do{if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))m=Eb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(n^(l|0)==0){q=l;p=l;break}else break c;else{c[d>>2]=0;l=0;w=44;break}}else w=44}while(0);if((w|0)==44){w=0;if(n)break c;else{q=l;p=0}}m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;if(!(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,l)|0))break c;l=c[m>>2]|0;if((l|0)==(c[n>>2]|0)){Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;l=q;continue}else{c[m>>2]=l+4;l=q;continue}}}}while(0);k=c[b>>2]|0;if(!((h|0)!=(j|0)&(c[f>>2]|0)==0))break a}if((w|0)==17){c[f>>2]=4;break}else if((w|0)==21){c[f>>2]=4;break}else if((w|0)==24){c[f>>2]=4;break}else if((w|0)==61){c[f>>2]=4;k=c[b>>2]|0;break}}}while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}h=c[d>>2]|0;do{if(h){l=c[h+12>>2]|0;if((l|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=c[l>>2]|0;if((h|0)!=-1)if(m)break;else{w=76;break}else{c[d>>2]=0;w=74;break}}else w=74}while(0);if((w|0)==74?m:0)w=76;if((w|0)==76)c[f>>2]=c[f>>2]|2;i=x;return k|0}function pq(a){a=a|0;return}function qq(a){a=a|0;cj(a);return}function rq(a){a=a|0;return 2}function sq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=oq(a,k,j,e,f,g,44788,44820)|0;i=h;return a|0}function tq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;q=b+8|0;q=Eb[c[(c[q>>2]|0)+20>>2]&127](q)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];o=a[q>>0]|0;p=(o&1)==0;e=q+4|0;d=p?e:c[q+8>>2]|0;e=d+((p?(o&255)>>>1:c[e>>2]|0)<<2)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=oq(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function uq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];vq(a,g+24|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function vq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[c[a>>2]>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Iu(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function wq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];xq(a,g+16|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function xq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Iu(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function yq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];zq(a,g+20|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function zq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function Aq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;U=i;i=i+144|0;l=U+132|0;k=U+116|0;N=U+128|0;x=U+124|0;I=U+120|0;O=U+112|0;P=U+108|0;Q=U+104|0;R=U+100|0;S=U+96|0;T=U+92|0;m=U+88|0;n=U+84|0;p=U+80|0;q=U+76|0;r=U+72|0;s=U+68|0;t=U+64|0;u=U+60|0;v=U+56|0;w=U+52|0;y=U+48|0;z=U+44|0;A=U+40|0;B=U+36|0;C=U+32|0;D=U+28|0;E=U+24|0;F=U+20|0;G=U+16|0;H=U+12|0;J=U+8|0;K=U+4|0;L=U;c[g>>2]=0;M=jn(f)|0;c[N>>2]=M;o=0;N=ra(37,N|0,44212)|0;W=o;o=0;if(W&1){W=Na()|0;pm(M)|0;Ya(W|0)}pm(M)|0;do{switch(j<<24>>24|0){case 65:case 97:{c[x>>2]=c[e>>2];c[l>>2]=c[x>>2];vq(b,h+24|0,d,l,g,N);V=28;break}case 104:case 66:case 98:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];xq(b,h+16|0,d,l,g,N);V=28;break}case 99:{W=b+8|0;W=Eb[c[(c[W>>2]|0)+12>>2]&127](W)|0;c[O>>2]=c[d>>2];c[P>>2]=c[e>>2];j=a[W>>0]|0;e=(j&1)==0;V=W+4|0;W=e?V:c[W+8>>2]|0;V=W+((e?(j&255)>>>1:c[V>>2]|0)<<2)|0;c[k>>2]=c[O>>2];c[l>>2]=c[P>>2];c[d>>2]=oq(b,k,l,f,g,h,W,V)|0;V=28;break}case 101:case 100:{c[Q>>2]=c[e>>2];c[l>>2]=c[Q>>2];Bq(b,h+12|0,d,l,g,N);V=28;break}case 68:{c[R>>2]=c[d>>2];c[S>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[S>>2];c[d>>2]=oq(b,k,l,f,g,h,44820,44852)|0;V=28;break}case 70:{c[T>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[T>>2];c[l>>2]=c[m>>2];c[d>>2]=oq(b,k,l,f,g,h,44852,44884)|0;V=28;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];Cq(b,h+8|0,d,l,g,N);V=28;break}case 73:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];Dq(b,h+8|0,d,l,g,N);V=28;break}case 106:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];Eq(b,h+28|0,d,l,g,N);V=28;break}case 109:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];Fq(b,h+16|0,d,l,g,N);V=28;break}case 77:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];Gq(b,h+4|0,d,l,g,N);V=28;break}case 116:case 110:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];Hq(b,d,l,g,N);V=28;break}case 112:{c[u>>2]=c[e>>2];c[l>>2]=c[u>>2];Iq(b,h+8|0,d,l,g,N);V=28;break}case 114:{c[v>>2]=c[d>>2];c[w>>2]=c[e>>2];c[k>>2]=c[v>>2];c[l>>2]=c[w>>2];c[d>>2]=oq(b,k,l,f,g,h,44884,44928)|0;V=28;break}case 82:{c[y>>2]=c[d>>2];c[z>>2]=c[e>>2];c[k>>2]=c[y>>2];c[l>>2]=c[z>>2];c[d>>2]=oq(b,k,l,f,g,h,44928,44948)|0;V=28;break}case 83:{c[A>>2]=c[e>>2];c[l>>2]=c[A>>2];Jq(b,h,d,l,g,N);V=28;break}case 84:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[k>>2]=c[B>>2];c[l>>2]=c[C>>2];c[d>>2]=oq(b,k,l,f,g,h,44948,44980)|0;V=28;break}case 119:{c[D>>2]=c[e>>2];c[l>>2]=c[D>>2];Kq(b,h+24|0,d,l,g,N);V=28;break}case 120:{W=c[(c[b>>2]|0)+20>>2]|0;c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[k>>2]=c[E>>2];c[l>>2]=c[F>>2];k=Db[W&63](b,k,l,f,g,h)|0;break}case 88:{W=b+8|0;W=Eb[c[(c[W>>2]|0)+24>>2]&127](W)|0;c[G>>2]=c[d>>2];c[H>>2]=c[e>>2];j=a[W>>0]|0;e=(j&1)==0;V=W+4|0;W=e?V:c[W+8>>2]|0;V=W+((e?(j&255)>>>1:c[V>>2]|0)<<2)|0;c[k>>2]=c[G>>2];c[l>>2]=c[H>>2];c[d>>2]=oq(b,k,l,f,g,h,W,V)|0;V=28;break}case 121:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];zq(b,h+20|0,d,l,g,N);V=28;break}case 89:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];Lq(b,h+20|0,d,l,g,N);V=28;break}case 37:{c[L>>2]=c[e>>2];c[l>>2]=c[L>>2];Mq(b,d,l,g,N);V=28;break}default:{c[g>>2]=c[g>>2]|4;V=28}}}while(0);if((V|0)==28)k=c[d>>2]|0;i=U;return k|0}function Bq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Cq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Dq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Eq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Fq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function Gq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Hq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:while(1){a=c[b>>2]|0;do{if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1}while(0);g=c[d>>2]|0;do{if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15}while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if(!(Gb[c[(c[f>>2]|0)+12>>2]&63](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;continue}else{c[g>>2]=h+4;continue}}a=c[b>>2]|0;do{if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break;else{i=39;break}else{c[d>>2]=0;i=37;break}}else i=37}while(0);if((i|0)==37?g:0)i=39;if((i|0)==39)c[e>>2]=c[e>>2]|2;return}function Iq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=Eb[c[(c[m>>2]|0)+8>>2]&127](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do{if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=Iu(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4}while(0);i=n;return}function Jq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Kq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Lq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function Mq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a=c[b>>2]|0;do{if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1}while(0);g=c[d>>2]|0;do{if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14}while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do{if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((Gb[c[(c[f>>2]|0)+52>>2]&63](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;a=c[b>>2]|0;if(!a)g=1;else j=25}else{c[g>>2]=h+4;j=25}do{if((j|0)==25){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}}while(0);do{if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break a;else break;else{c[d>>2]=0;j=37;break}}else j=37}while(0);if((j|0)==37?!g:0)break;c[e>>2]=c[e>>2]|2}}while(0);return}function Nq(a){a=a|0;Oq(a+8|0);return}function Oq(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;o=0;d=ua(3)|0;e=o;o=0;do{if(!(e&1)){if((b|0)!=(d|0)?(o=0,ha(188,c[a>>2]|0),e=o,o=0,e&1):0)break;return}}while(0);e=Na(0)|0;ec(e)}function Pq(a){a=a|0;Oq(a+8|0);cj(a);return}function Qq(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;l=i;i=i+112|0;k=l+4|0;e=l;c[e>>2]=k+100;Rq(b+8|0,k,e,g,h,j);g=c[e>>2]|0;e=c[d>>2]|0;if((k|0)!=(g|0))do{j=a[k>>0]|0;do{if(e){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){d=(Lb[c[(c[e>>2]|0)+52>>2]&63](e,j&255)|0)==-1;e=d?0:e;break}else{c[f>>2]=h+1;a[h>>0]=j;break}}else e=0}while(0);k=k+1|0}while((k|0)!=(g|0));i=l;return e|0}function Rq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;a[l>>0]=37;j=l+1|0;a[j>>0]=g;k=l+2|0;a[k>>0]=h;a[l+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}c[e>>2]=d+(Ra(d|0,(c[e>>2]|0)-d|0,l|0,f|0,c[b>>2]|0)|0);i=m;return}function Sq(a){a=a|0;Oq(a+8|0);return}function Tq(a){a=a|0;Oq(a+8|0);cj(a);return}function Uq(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0;j=i;i=i+416|0;e=j+8|0;d=j;c[d>>2]=e+400;Vq(a+8|0,e,d,f,g,h);a=c[d>>2]|0;d=c[b>>2]|0;if((e|0)!=(a|0)){f=e;do{e=c[f>>2]|0;if(!d)d=0;else{g=d+24|0;h=c[g>>2]|0;if((h|0)==(c[d+28>>2]|0))e=Lb[c[(c[d>>2]|0)+52>>2]&63](d,e)|0;else{c[g>>2]=h+4;c[h>>2]=e}d=(e|0)==-1?0:d}f=f+4|0}while((f|0)!=(a|0))}i=j;return d|0}function Vq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+128|0;l=h+16|0;m=h+12|0;j=h;k=h+8|0;c[m>>2]=l+100;Rq(a,l,m,e,f,g);f=j;c[f>>2]=0;c[f+4>>2]=0;c[k>>2]=l;f=(c[d>>2]|0)-b>>2;g=qk(c[a>>2]|0)|0;o=0;f=va(18,b|0,k|0,f|0,j|0)|0;a=o;o=0;if(a&1){f=Na()|0;if((g|0)!=0?(o=0,ka(75,g|0)|0,m=o,o=0,m&1):0){m=Na(0)|0;ec(m)}Ya(f|0)}if((g|0)!=0?(o=0,ka(75,g|0)|0,m=o,o=0,m&1):0){m=Na(0)|0;ec(m)}if((f|0)==-1)Rr(58955);else{c[d>>2]=b+(f<<2);i=h;return}}function Wq(a){a=a|0;return}function Xq(a){a=a|0;cj(a);return}function Yq(a){a=a|0;return 127}function Zq(a){a=a|0;return 127}function _q(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function $q(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function ar(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function br(a,b){a=a|0;b=b|0;Hm(a,1,45);return}function cr(a){a=a|0;return 0}function dr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function er(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function fr(a){a=a|0;return}function gr(a){a=a|0;cj(a);return}function hr(a){a=a|0;return 127}function ir(a){a=a|0;return 127}function jr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function kr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function lr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function mr(a,b){a=a|0;b=b|0;Hm(a,1,45);return}function nr(a){a=a|0;return 0}function or(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function pr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function qr(a){a=a|0;return}function rr(a){a=a|0;cj(a);return}function sr(a){a=a|0;return 2147483647}function tr(a){a=a|0;return 2147483647}function ur(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function vr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function wr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function xr(a,b){a=a|0;b=b|0;Vm(a,1,45);return}function yr(a){a=a|0;return 0}function zr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Ar(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Br(a){a=a|0;return}function Cr(a){a=a|0;cj(a);return}function Dr(a){a=a|0;return 2147483647}function Er(a){a=a|0;return 2147483647}function Fr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Gr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Hr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Ir(a,b){a=a|0;b=b|0;Vm(a,1,45);return}function Jr(a){a=a|0;return 0}function Kr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Lr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Mr(a){a=a|0;return}function Nr(a){a=a|0;cj(a);return}function Or(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;B=i;i=i+240|0;z=B+24|0;A=B;b=B+136|0;D=B+16|0;y=B+12|0;C=B+8|0;p=B+134|0;l=B+4|0;x=B+124|0;c[D>>2]=b;E=D+4|0;c[E>>2]=189;m=b+100|0;o=0;k=ka(68,g|0)|0;w=o;o=0;if(!(w&1)){c[C>>2]=k;o=0;b=ra(37,C|0,44220)|0;w=o;o=0;a:do{if(!(w&1)?(a[p>>0]=0,c[l>>2]=c[e>>2],n=c[g+4>>2]|0,o=0,c[z>>2]=c[l>>2],n=la(1,d|0,z|0,f|0,C|0,n|0,h|0,p|0,b|0,D|0,y|0,m|0)|0,w=o,o=0,!(w&1)):0){b:do{if(n){o=0;va(c[(c[b>>2]|0)+32>>2]|0,b|0,58976,58986,x|0)|0;w=o;o=0;if(w&1){G=10;break a}l=c[y>>2]|0;m=c[D>>2]|0;b=l-m|0;if((b|0)>98){b=Fl(b+2|0)|0;k=b;if(!b){o=0;xa(6);w=o;o=0;if(!(w&1)){b=0;G=13}}else G=13}else{k=0;b=z;G=13}do{if((G|0)==13){if(a[p>>0]|0){a[b>>0]=45;b=b+1|0}v=x+10|0;w=x;if(m>>>0>>0){n=x+1|0;f=n+1|0;g=f+1|0;p=g+1|0;q=p+1|0;r=q+1|0;s=r+1|0;t=s+1|0;u=t+1|0;do{l=a[m>>0]|0;do{if((a[x>>0]|0)!=l<<24>>24)if((a[n>>0]|0)!=l<<24>>24)if((a[f>>0]|0)!=l<<24>>24)if((a[g>>0]|0)!=l<<24>>24)if((a[p>>0]|0)==l<<24>>24)l=p;else{if((a[q>>0]|0)==l<<24>>24){l=q;break}if((a[r>>0]|0)==l<<24>>24){l=r;break}if((a[s>>0]|0)==l<<24>>24){l=s;break}if((a[t>>0]|0)==l<<24>>24){l=t;break}l=(a[u>>0]|0)==l<<24>>24?u:v}else l=g;else l=f;else l=n;else l=x}while(0);a[b>>0]=a[58976+(l-w)>>0]|0;m=m+1|0;b=b+1|0}while(m>>>0<(c[y>>2]|0)>>>0)}a[b>>0]=0;c[A>>2]=j;if(($k(z,58987,A)|0)!=1?(o=0,ha(190,58991),j=o,o=0,j&1):0)break;if(k)Gl(k);break b}}while(0);b=Na()|0;if(!k){l=b;k=D;break a}Gl(k);l=b;k=D;break a}}while(0);b=c[d>>2]|0;do{if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}if((b|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}}else b=0}while(0);k=(b|0)==0;b=c[e>>2]|0;do{if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}if((b|0)==-1){c[e>>2]=0;G=37;break}}if(!k)G=38}else G=37}while(0);if((G|0)==37?k:0)G=38;if((G|0)==38)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(c[C>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if((b|0)!=0?(o=0,ha(c[E>>2]|0,b|0),G=o,o=0,G&1):0){G=Na(0)|0;ec(G)}i=B;return k|0}else G=10}while(0);if((G|0)==10){l=Na()|0;k=D}pm(c[C>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=0;if(!b)F=l;else{k=c[E>>2]|0;G=45}}else{l=Na()|0;c[D>>2]=0;k=189;G=45}if((G|0)==45){o=0;ha(k|0,b|0);G=o;o=0;if(G&1){G=Na(0)|0;ec(G)}else F=l}Ya(F|0);return 0}function Pr(a){a=a|0;return}function Qr(e,f,g,h,j,k,l,m,n,p,q){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;ba=i;i=i+512|0;P=ba+88|0;u=ba+96|0;da=ba+80|0;T=ba+72|0;S=ba+68|0;U=ba+500|0;Q=ba+497|0;V=ba+496|0;Y=ba+56|0;aa=ba+44|0;_=ba+32|0;Z=ba+20|0;$=ba+8|0;R=ba+4|0;X=ba;c[P>>2]=q;c[da>>2]=u;ca=da+4|0;c[ca>>2]=189;c[T>>2]=u;c[S>>2]=u+400;c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;o=0;qa(1,g|0,h|0,U|0,Q|0,V|0,Y|0,aa|0,_|0,Z|0,R|0);O=o;o=0;a:do{if(O&1)m=Na()|0;else{c[p>>2]=c[n>>2];I=m+8|0;J=_+4|0;K=Z+4|0;L=Z+8|0;M=Z+1|0;N=_+8|0;O=_+1|0;z=(j&512|0)!=0;A=aa+8|0;B=aa+1|0;C=aa+4|0;D=$+4|0;E=$+8|0;F=$+1|0;G=U+3|0;H=Y+4|0;y=0;t=0;b:while(1){q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);q=(q|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(q){x=m;break}else{W=235;break b}o=0;g=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=24;break b}if((g|0)!=-1)if(q){x=m;break}else{W=235;break b}else{c[f>>2]=0;W=15;break}}else W=15}while(0);if((W|0)==15){W=0;if(q){W=235;break}else x=0}c:do{switch(a[U+y>>0]|0){case 1:{if((y|0)!=3){q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=24;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24<=-1){W=40;break b}if(!(b[(c[I>>2]|0)+(q<<24>>24<<1)>>1]&8192)){W=40;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=24;break b}}else{c[m>>2]=g+1;q=d[g>>0]|0}o=0;ia(67,$|0,q&255|0);W=o;o=0;if(W&1){W=24;break b}else{q=x;h=x;W=42}}break}case 0:{if((y|0)!=3){q=x;h=x;W=42}break}case 3:{m=a[_>>0]|0;q=(m&1)==0?(m&255)>>>1:c[J>>2]|0;g=a[Z>>0]|0;h=(g&1)==0?(g&255)>>>1:c[K>>2]|0;if((q|0)!=(0-h|0)){if(!q){q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}m=a[Z>>0]|0}else{q=d[m>>0]|0;m=g}if((q&255)<<24>>24!=(a[((m&1)==0?M:c[L>>2]|0)>>0]|0))break c;q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;a[l>>0]=1;x=a[Z>>0]|0;t=((x&1)==0?(x&255)>>>1:c[K>>2]|0)>>>0>1?Z:t;break c}j=c[e>>2]|0;r=c[j+12>>2]|0;g=c[j+16>>2]|0;q=(r|0)==(g|0);if(!h){if(q){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}m=a[_>>0]|0}else q=d[r>>0]|0;if((q&255)<<24>>24!=(a[((m&1)==0?O:c[N>>2]|0)>>0]|0)){a[l>>0]=1;break c}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;x=a[_>>0]|0;t=((x&1)==0?(x&255)>>>1:c[J>>2]|0)>>>0>1?_:t;break c}if(q){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}g=c[e>>2]|0;m=a[_>>0]|0;j=g;r=c[g+12>>2]|0;g=c[g+16>>2]|0}else q=d[r>>0]|0;h=j+12|0;g=(r|0)==(g|0);if((q&255)<<24>>24==(a[((m&1)==0?O:c[N>>2]|0)>>0]|0)){if(g){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[h>>2]=r+1;x=a[_>>0]|0;t=((x&1)==0?(x&255)>>>1:c[J>>2]|0)>>>0>1?_:t;break c}if(g){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}}else q=d[r>>0]|0;if((q&255)<<24>>24!=(a[((a[Z>>0]&1)==0?M:c[L>>2]|0)>>0]|0)){W=104;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;a[l>>0]=1;x=a[Z>>0]|0;t=((x&1)==0?(x&255)>>>1:c[K>>2]|0)>>>0>1?Z:t}break}case 2:{if(!(y>>>0<2|(t|0)!=0)?!(z|(y|0)==2&(a[G>>0]|0)!=0):0){t=0;break c}v=a[aa>>0]|0;q=(v&1)==0;w=c[A>>2]|0;g=q?B:w;s=g;d:do{if((y|0)!=0?(d[U+(y+-1)>>0]|0)<2:0){r=q?(v&255)>>>1:c[C>>2]|0;h=g+r|0;j=c[I>>2]|0;e:do{if(!r)m=s;else{r=g;m=s;do{q=a[r>>0]|0;if(q<<24>>24<=-1)break e;if(!(b[j+(q<<24>>24<<1)>>1]&8192))break e;r=r+1|0;m=r}while((r|0)!=(h|0))}}while(0);h=m-s|0;j=a[$>>0]|0;q=(j&1)==0;j=q?(j&255)>>>1:c[D>>2]|0;if(j>>>0>=h>>>0){q=q?F:c[E>>2]|0;r=q+j|0;if((m|0)!=(s|0)){q=q+(j-h)|0;while(1){if((a[q>>0]|0)!=(a[g>>0]|0)){m=s;break d}q=q+1|0;if((q|0)==(r|0))break;else g=g+1|0}}}else m=s}else m=s}while(0);q=(v&1)==0;q=(q?B:w)+(q?(v&255)>>>1:c[C>>2]|0)|0;f:do{if((m|0)!=(q|0)){j=x;h=x;q=m;while(1){m=c[e>>2]|0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=21;break b}if((m|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}}else m=0}while(0);g=(m|0)==0;do{if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){m=j;r=h;break}else break f;o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=21;break b}if((m|0)!=-1)if(g^(j|0)==0){m=j;r=j;break}else break f;else{c[f>>2]=0;m=0;W=131;break}}else{m=j;W=131}}while(0);if((W|0)==131){W=0;if(g)break f;else r=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=21;break b}}else g=d[h>>0]|0;if((g&255)<<24>>24!=(a[q>>0]|0))break f;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=21;break b}}else c[h>>2]=j+1;q=q+1|0;g=a[aa>>0]|0;x=(g&1)==0;g=(x?B:c[A>>2]|0)+(x?(g&255)>>>1:c[C>>2]|0)|0;if((q|0)==(g|0)){q=g;break}else{j=m;h=r}}}}while(0);if(z?(x=a[aa>>0]|0,w=(x&1)==0,(q|0)!=((w?B:c[A>>2]|0)+(w?(x&255)>>>1:c[C>>2]|0)|0)):0){W=143;break b}break}case 4:{s=a[V>>0]|0;m=x;j=x;q=0;g:while(1){g=c[e>>2]|0;do{if(g){if((c[g+12>>2]|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=23;break b}if((g|0)==-1){c[e>>2]=0;g=0;break}else{g=c[e>>2]|0;break}}}else g=0}while(0);h=(g|0)==0;do{if(j){if((c[j+12>>2]|0)!=(c[j+16>>2]|0))if(h){r=m;break}else{h=m;break g}o=0;g=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=23;break b}if((g|0)!=-1)if(h^(m|0)==0){r=m;j=m;break}else{h=m;break g}else{c[f>>2]=0;m=0;W=156;break}}else W=156}while(0);if((W|0)==156){W=0;if(h){h=m;break}else{r=m;j=0}}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=23;break b}}else m=d[g>>0]|0;g=m&255;if(g<<24>>24>-1?(b[(c[I>>2]|0)+(m<<24>>24<<1)>>1]&2048)!=0:0){m=c[p>>2]|0;if((m|0)==(c[P>>2]|0)){o=0;wa(12,n|0,p|0,P|0);x=o;o=0;if(x&1){W=23;break b}m=c[p>>2]|0}c[p>>2]=m+1;a[m>>0]=g;q=q+1|0}else{x=a[Y>>0]|0;if(!(g<<24>>24==s<<24>>24&((q|0)!=0?(((x&1)==0?(x&255)>>>1:c[H>>2]|0)|0)!=0:0))){h=r;break}if((u|0)==(c[S>>2]|0)){o=0;wa(13,da|0,T|0,S|0);x=o;o=0;if(x&1){W=23;break b}u=c[T>>2]|0}x=u+4|0;c[T>>2]=x;c[u>>2]=q;u=x;q=0}m=c[e>>2]|0;g=m+12|0;h=c[g>>2]|0;if((h|0)==(c[m+16>>2]|0)){o=0;ka(c[(c[m>>2]|0)+40>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=23;break b}else{m=r;continue}}else{c[g>>2]=h+1;m=r;continue}}if((q|0)!=0?(c[da>>2]|0)!=(u|0):0){if((u|0)==(c[S>>2]|0)){o=0;wa(13,da|0,T|0,S|0);x=o;o=0;if(x&1){W=24;break b}u=c[T>>2]|0}x=u+4|0;c[T>>2]=x;c[u>>2]=q;u=x}r=c[R>>2]|0;if((r|0)>0){q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);q=(q|0)==0;do{if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0)){o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=24;break b}if((m|0)==-1){c[f>>2]=0;W=193;break}}if(!q){W=198;break b}}else W=193}while(0);if((W|0)==193){W=0;if(q){W=198;break b}else h=0}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24!=(a[Q>>0]|0)){W=198;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;if((r|0)>0){j=h;g=h;s=r;while(1){q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=22;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);m=(q|0)==0;do{if(g){if((c[g+12>>2]|0)!=(c[g+16>>2]|0))if(m){q=j;r=g;break}else{W=222;break b}o=0;q=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=22;break b}if((q|0)!=-1)if(m^(j|0)==0){q=j;r=j;break}else{W=222;break b}else{c[f>>2]=0;q=0;W=215;break}}else{q=j;W=215}}while(0);if((W|0)==215){W=0;if(m){W=222;break b}else r=0}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=22;break b}}else m=d[g>>0]|0;if((m&255)<<24>>24<=-1){W=222;break b}if(!(b[(c[I>>2]|0)+(m<<24>>24<<1)>>1]&2048)){W=222;break b}if((c[p>>2]|0)==(c[P>>2]|0)?(o=0,wa(12,n|0,p|0,P|0),x=o,o=0,x&1):0){W=22;break b}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=22;break b}}else m=d[g>>0]|0;g=c[p>>2]|0;c[p>>2]=g+1;a[g>>0]=m;m=s;s=s+-1|0;c[R>>2]=s;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=22;break b}}else c[h>>2]=j+1;if((m|0)<=1)break;else{j=q;g=r}}}}if((c[p>>2]|0)==(c[n>>2]|0)){W=233;break b}break}default:{}}}while(0);h:do{if((W|0)==42)while(1){W=0;m=c[e>>2]|0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=20;break b}if((m|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}}else m=0}while(0);g=(m|0)==0;do{if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){j=q;break}else break h;o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=20;break b}if((m|0)!=-1)if(g^(q|0)==0){j=q;h=q;break}else break h;else{c[f>>2]=0;q=0;W=54;break}}else W=54}while(0);if((W|0)==54){W=0;if(g)break h;else{j=q;h=0}}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=20;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24<=-1)break h;if(!(b[(c[I>>2]|0)+(q<<24>>24<<1)>>1]&8192))break h;q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=20;break b}}else{c[m>>2]=g+1;q=d[g>>0]|0}o=0;ia(67,$|0,q&255|0);W=o;o=0;if(W&1){W=20;break b}else{q=j;W=42}}}while(0);y=y+1|0;if(y>>>0>=4){W=235;break}}i:switch(W|0){case 20:{m=Na()|0;break a}case 21:{m=Na()|0;break a}case 22:{m=Na()|0;break a}case 23:{m=Na()|0;break a}case 24:{m=Na()|0;break a}case 40:{c[k>>2]=c[k>>2]|4;m=0;break}case 104:{c[k>>2]=c[k>>2]|4;m=0;break}case 143:{c[k>>2]=c[k>>2]|4;m=0;break}case 198:{c[k>>2]=c[k>>2]|4;m=0;break}case 222:{c[k>>2]=c[k>>2]|4;m=0;break}case 233:{c[k>>2]=c[k>>2]|4;m=0;break}case 235:{j:do{if(t){j=t+1|0;r=t+8|0;s=t+4|0;g=1;k:while(1){q=a[t>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[s>>2]|0;if(g>>>0>=q>>>0)break j;q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break k}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);m=(q|0)==0;q=c[f>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break k}if((q|0)==-1){c[f>>2]=0;W=253;break}}if(!m){W=260;break k}}else W=253}while(0);if((W|0)==253?(W=0,m):0){W=260;break}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break}}else q=d[m>>0]|0;if(!(a[t>>0]&1))m=j;else m=c[r>>2]|0;if((q&255)<<24>>24!=(a[m+g>>0]|0)){W=260;break}q=g+1|0;m=c[e>>2]|0;g=m+12|0;h=c[g>>2]|0;if((h|0)==(c[m+16>>2]|0)){o=0;ka(c[(c[m>>2]|0)+40>>2]|0,m|0)|0;p=o;o=0;if(p&1){W=19;break}else{g=q;continue}}else{c[g>>2]=h+1;g=q;continue}}if((W|0)==19){m=Na()|0;break a}else if((W|0)==260){c[k>>2]=c[k>>2]|4;m=0;break i}}}while(0);q=c[da>>2]|0;if((q|0)!=(u|0)?(c[X>>2]=0,Ur(Y,q,u,X),(c[X>>2]|0)!=0):0){c[k>>2]=c[k>>2]|4;m=0}else m=1;break}}Im($);Im(Z);Im(_);Im(aa);Im(Y);q=c[da>>2]|0;c[da>>2]=0;if((q|0)!=0?(o=0,ha(c[ca>>2]|0,q|0),da=o,o=0,da&1):0){da=Na(0)|0;ec(da)}i=ba;return m|0}}while(0);Im($);Im(Z);Im(_);Im(aa);Im(Y);q=c[da>>2]|0;c[da>>2]=0;if((q|0)!=0?(o=0,ha(c[ca>>2]|0,q|0),da=o,o=0,da&1):0){da=Na(0)|0;ec(da)}Ya(m|0);return 0}function Rr(a){a=a|0;var b=0;b=Ma(8)|0;o=0;ia(90,b|0,a|0);a=o;o=0;if(a&1){a=Na()|0;La(b|0);Ya(a|0)}else lb(b|0,616,80)}function Sr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=i;i=i+144|0;k=w+24|0;b=w+32|0;x=w+16|0;s=w+8|0;p=w+4|0;q=w+28|0;l=w;c[x>>2]=b;A=x+4|0;c[A>>2]=189;m=b+100|0;o=0;v=ka(68,g|0)|0;n=o;o=0;if(!(n&1)){c[p>>2]=v;o=0;n=ra(37,p|0,44220)|0;b=o;o=0;a:do{if(!(b&1)?(a[q>>0]=0,t=c[e>>2]|0,c[l>>2]=t,r=c[g+4>>2]|0,u=t,o=0,c[k>>2]=c[l>>2],r=la(1,d|0,k|0,f|0,p|0,r|0,h|0,q|0,n|0,x|0,s|0,m|0)|0,g=o,o=0,!(g&1)):0){if(r){if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}if(a[q>>0]|0){o=0;b=ra(c[(c[n>>2]|0)+28>>2]|0,n|0,45)|0;g=o;o=0;if(g&1)break;o=0;ia(67,j|0,b|0);g=o;o=0;if(g&1)break}o=0;l=ra(c[(c[n>>2]|0)+28>>2]|0,n|0,48)|0;g=o;o=0;if(g&1)break;b=c[x>>2]|0;m=c[s>>2]|0;k=m+-1|0;b:do{if(b>>>0>>0)do{if((a[b>>0]|0)!=l<<24>>24)break b;b=b+1|0}while(b>>>0>>0)}while(0);o=0;ma(32,j|0,b|0,m|0)|0;j=o;o=0;if(j&1)break}b=c[d>>2]|0;do{if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1)break a;if((b|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}}else b=0}while(0);k=(b|0)==0;do{if(t){if((c[u+12>>2]|0)==(c[u+16>>2]|0)){o=0;b=ka(c[(c[t>>2]|0)+36>>2]|0,u|0)|0;u=o;o=0;if(u&1)break a;if((b|0)==-1){c[e>>2]=0;z=29;break}}if(!k)z=30}else z=29}while(0);if((z|0)==29?k:0)z=30;if((z|0)==30)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(v)|0;b=c[x>>2]|0;c[x>>2]=0;if((b|0)!=0?(o=0,ha(c[A>>2]|0,b|0),A=o,o=0,A&1):0){A=Na(0)|0;ec(A)}i=w;return k|0}}while(0);k=Na()|0;pm(v)|0;b=c[x>>2]|0;c[x>>2]=0;if(!b)y=k;else z=36}else{k=Na()|0;c[x>>2]=0;z=36}if((z|0)==36){o=0;ha(c[A>>2]|0,b|0);A=o;o=0;if(A&1){A=Na(0)|0;ec(A)}else y=k}Ya(y|0);return 0}function Tr(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+100|0;p=z+88|0;q=z+76|0;r=z+64|0;s=z+52|0;t=z+48|0;u=z+36|0;v=z+24|0;w=z+12|0;x=z;do{if(b){b=Is(d,43828)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](n,b);x=c[n>>2]|0;a[e>>0]=x;a[e+1>>0]=x>>8;a[e+2>>0]=x>>16;a[e+3>>0]=x>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Im(p);Cb[c[(c[b>>2]|0)+28>>2]&127](q,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Im(q);a[f>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](r,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);Cb[c[(c[b>>2]|0)+24>>2]&127](s,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Im(s);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(d,43764)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](t,b);t=c[t>>2]|0;a[e>>0]=t;a[e+1>>0]=t>>8;a[e+2>>0]=t>>16;a[e+3>>0]=t>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](u,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Im(u);Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Im(v);a[f>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](w,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[w>>2];c[h+4>>2]=c[w+4>>2];c[h+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[b>>2]|0)+24>>2]&127](x,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[x>>2];c[j+4>>2]=c[x+4>>2];c[j+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Im(x);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=y;i=z;return}function Ur(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=a[b>>0]|0;i=b+4|0;h=c[i>>2]|0;a:do{if(((g&1)==0?(g&255)>>>1:h)|0){if((d|0)!=(e|0)){g=e+-4|0;if(g>>>0>d>>>0){h=d;do{j=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=j;h=h+4|0;g=g+-4|0}while(h>>>0>>0)}g=a[b>>0]|0;h=c[i>>2]|0}j=(g&1)==0;i=j?b+1|0:c[b+8>>2]|0;e=e+-4|0;b=i+(j?(g&255)>>>1:h)|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;b:do{if(e>>>0>d>>>0){while(1){if(!g?(h<<24>>24|0)!=(c[d>>2]|0):0)break;i=(b-i|0)>1?i+1|0:i;d=d+4|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;if(d>>>0>=e>>>0)break b}c[f>>2]=4;break a}}while(0);if(!g?((c[e>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}}while(0);return}function Vr(a){a=a|0;return}function Wr(a){a=a|0;cj(a);return}function Xr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;B=i;i=i+576|0;x=B+424|0;A=B;b=B+24|0;D=B+16|0;y=B+12|0;C=B+8|0;p=B+464|0;l=B+4|0;z=B+468|0;c[D>>2]=b;F=D+4|0;c[F>>2]=189;m=b+400|0;o=0;k=ka(68,g|0)|0;w=o;o=0;if(!(w&1)){c[C>>2]=k;o=0;b=ra(37,C|0,44212)|0;w=o;o=0;a:do{if(!(w&1)?(a[p>>0]=0,c[l>>2]=c[e>>2],n=c[g+4>>2]|0,o=0,c[x>>2]=c[l>>2],n=la(2,d|0,x|0,f|0,C|0,n|0,h|0,p|0,b|0,D|0,y|0,m|0)|0,w=o,o=0,!(w&1)):0){b:do{if(n){o=0;va(c[(c[b>>2]|0)+48>>2]|0,b|0,59007,59017,x|0)|0;w=o;o=0;if(w&1){G=10;break a}l=c[y>>2]|0;m=c[D>>2]|0;b=l-m|0;if((b|0)>392){b=Fl((b>>2)+2|0)|0;k=b;if(!b){o=0;xa(6);w=o;o=0;if(!(w&1)){b=0;G=13}}else G=13}else{k=0;b=z;G=13}do{if((G|0)==13){if(a[p>>0]|0){a[b>>0]=45;b=b+1|0}v=x+40|0;w=x;if(m>>>0>>0){n=x+4|0;f=n+4|0;g=f+4|0;p=g+4|0;q=p+4|0;r=q+4|0;s=r+4|0;t=s+4|0;u=t+4|0;do{l=c[m>>2]|0;do{if((c[x>>2]|0)!=(l|0))if((c[n>>2]|0)!=(l|0))if((c[f>>2]|0)!=(l|0))if((c[g>>2]|0)!=(l|0))if((c[p>>2]|0)==(l|0))l=p;else{if((c[q>>2]|0)==(l|0)){l=q;break}if((c[r>>2]|0)==(l|0)){l=r;break}if((c[s>>2]|0)==(l|0)){l=s;break}if((c[t>>2]|0)==(l|0)){l=t;break}l=(c[u>>2]|0)==(l|0)?u:v}else l=g;else l=f;else l=n;else l=x}while(0);a[b>>0]=a[59007+(l-w>>2)>>0]|0;m=m+4|0;b=b+1|0}while(m>>>0<(c[y>>2]|0)>>>0)}a[b>>0]=0;c[A>>2]=j;if(($k(z,58987,A)|0)!=1?(o=0,ha(190,58991),j=o,o=0,j&1):0)break;if(k)Gl(k);break b}}while(0);b=Na()|0;if(!k){l=b;k=D;break a}Gl(k);l=b;k=D;break a}}while(0);b=c[d>>2]|0;do{if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}}else b=c[k>>2]|0;if((b|0)==-1){c[d>>2]=0;l=1;break}else{l=(c[d>>2]|0)==0;break}}else l=1}while(0);b=c[e>>2]|0;do{if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}}else b=c[k>>2]|0;if((b|0)!=-1)if(l)break;else{G=40;break}else{c[e>>2]=0;G=38;break}}else G=38}while(0);if((G|0)==38?l:0)G=40;if((G|0)==40)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(c[C>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if((b|0)!=0?(o=0,ha(c[F>>2]|0,b|0),G=o,o=0,G&1):0){G=Na(0)|0;ec(G)}i=B;return k|0}else G=10}while(0);if((G|0)==10){l=Na()|0;k=D}pm(c[C>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=0;if(!b)E=l;else{k=c[F>>2]|0;G=47}}else{l=Na()|0;c[D>>2]=0;k=189;G=47}if((G|0)==47){o=0;ha(k|0,b|0);G=o;o=0;if(G&1){G=Na(0)|0;ec(G)}else E=l}Ya(E|0);return 0}function Yr(b,e,f,g,h,j,k,l,m,n,p){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;Y=i;i=i+512|0;K=Y+96|0;q=Y+104|0;_=Y+88|0;O=Y+80|0;N=Y+76|0;P=Y+504|0;L=Y+72|0;Q=Y+68|0;T=Y+56|0;X=Y+44|0;V=Y+32|0;U=Y+20|0;W=Y+8|0;M=Y+4|0;S=Y;c[K>>2]=p;c[_>>2]=q;Z=_+4|0;c[Z>>2]=189;c[O>>2]=q;c[N>>2]=q+400;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[X>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;o=0;qa(2,f|0,g|0,P|0,L|0,Q|0,T|0,X|0,V|0,U|0,M|0);J=o;o=0;a:do{if(J&1)f=Na()|0;else{c[n>>2]=c[m>>2];G=V+4|0;H=U+4|0;I=U+8|0;J=V+8|0;z=(h&512|0)!=0;A=X+8|0;B=X+4|0;C=W+4|0;D=W+8|0;E=P+3|0;F=T+4|0;y=0;s=0;b:while(1){p=c[b>>2]|0;do{if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[f>>2]|0;if((p|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);f=c[e>>2]|0;do{if(f){p=c[f+12>>2]|0;if((p|0)==(c[f+16>>2]|0)){o=0;p=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[p>>2]|0;if((p|0)!=-1)if(g){x=f;break}else{t=q;R=244;break b}else{c[e>>2]=0;R=16;break}}else R=16}while(0);if((R|0)==16){R=0;if(g){t=q;R=244;break}else x=0}c:do{switch(a[P+y>>0]|0){case 1:{if((y|0)!=3){p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=26;break b}}else p=c[f>>2]|0;o=0;p=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,p|0)|0;R=o;o=0;if(R&1){R=26;break b}if(!p){R=42;break b}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=26;break b}}else{c[f>>2]=g+4;p=c[g>>2]|0}o=0;ia(92,W|0,p|0);R=o;o=0;if(R&1){R=26;break b}else{p=x;h=x;R=44}}else p=q;break}case 0:{if((y|0)==3)p=q;else{p=x;h=x;R=44}break}case 3:{f=a[V>>0]|0;p=(f&1)==0?(f&255)>>>1:c[G>>2]|0;g=a[U>>0]|0;h=(g&1)==0?(g&255)>>>1:c[H>>2]|0;if((p|0)==(0-h|0))p=q;else{if(!p){p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}f=a[U>>0]|0}else{p=c[f>>2]|0;f=g}if((p|0)!=(c[((f&1)==0?H:c[I>>2]|0)>>2]|0)){p=q;break c}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;a[k>>0]=1;x=a[U>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[H>>2]|0)>>>0>1?U:s;break c}r=c[b>>2]|0;t=c[r+12>>2]|0;g=c[r+16>>2]|0;p=(t|0)==(g|0);if(!h){if(p){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}f=a[V>>0]|0}else p=c[t>>2]|0;if((p|0)!=(c[((f&1)==0?G:c[J>>2]|0)>>2]|0)){a[k>>0]=1;p=q;break c}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;x=a[V>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[G>>2]|0)>>>0>1?V:s;break c}if(p){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}g=c[b>>2]|0;f=a[V>>0]|0;r=g;t=c[g+12>>2]|0;g=c[g+16>>2]|0}else p=c[t>>2]|0;h=r+12|0;g=(t|0)==(g|0);if((p|0)==(c[((f&1)==0?G:c[J>>2]|0)>>2]|0)){if(g){o=0;ka(c[(c[r>>2]|0)+40>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[h>>2]=t+4;x=a[V>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[G>>2]|0)>>>0>1?V:s;break c}if(g){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[t>>2]|0;if((p|0)!=(c[((a[U>>0]&1)==0?H:c[I>>2]|0)>>2]|0)){R=107;break b}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;a[k>>0]=1;x=a[U>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[H>>2]|0)>>>0>1?U:s}break}case 2:{if(!(y>>>0<2|(s|0)!=0)?!(z|(y|0)==2&(a[E>>0]|0)!=0):0){p=q;s=0;break c}h=a[X>>0]|0;g=c[A>>2]|0;f=(h&1)==0?B:g;p=f;d:do{if((y|0)!=0?(d[P+(y+-1)>>0]|0)<2:0){w=(h&1)==0;e:do{if((f|0)!=((w?B:g)+((w?(h&255)>>>1:c[B>>2]|0)<<2)|0)){h=f;while(1){o=0;f=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,c[h>>2]|0)|0;w=o;o=0;if(w&1){R=23;break b}if(!f)break;h=h+4|0;p=h;f=a[X>>0]|0;g=c[A>>2]|0;w=(f&1)==0;if((h|0)==((w?B:g)+((w?(f&255)>>>1:c[B>>2]|0)<<2)|0)){h=f;break e}}h=a[X>>0]|0;g=c[A>>2]|0}}while(0);t=(h&1)==0?B:g;f=t;u=p-f>>2;v=a[W>>0]|0;r=(v&1)==0;v=r?(v&255)>>>1:c[C>>2]|0;if(v>>>0>=u>>>0){r=r?C:c[D>>2]|0;w=r+(v<<2)|0;if(!u)f=p;else{r=r+(v-u<<2)|0;while(1){if((c[r>>2]|0)!=(c[t>>2]|0))break d;r=r+4|0;if((r|0)==(w|0)){f=p;break}else t=t+4|0}}}}else f=p}while(0);p=(h&1)==0;p=(p?B:g)+((p?(h&255)>>>1:c[B>>2]|0)<<2)|0;f:do{if((f|0)!=(p|0)){r=x;h=x;p=f;while(1){f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=22;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=22;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(r|0)==0){f=r;t=r;break}else break f;else{c[e>>2]=0;f=0;R=136;break}}else{f=r;R=136}}while(0);if((R|0)==136){R=0;if(g)break f;else t=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=22;break b}}else g=c[h>>2]|0;if((g|0)!=(c[p>>2]|0))break f;g=c[b>>2]|0;h=g+12|0;r=c[h>>2]|0;if((r|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=22;break b}}else c[h>>2]=r+4;p=p+4|0;g=a[X>>0]|0;x=(g&1)==0;g=(x?B:c[A>>2]|0)+((x?(g&255)>>>1:c[B>>2]|0)<<2)|0;if((p|0)==(g|0)){p=g;break}else{r=f;h=t}}}}while(0);if(z?(x=a[X>>0]|0,w=(x&1)==0,(p|0)!=((w?B:c[A>>2]|0)+((w?(x&255)>>>1:c[B>>2]|0)<<2)|0)):0){R=148;break b}else p=q;break}case 4:{v=c[Q>>2]|0;u=x;r=x;p=q;f=0;g:while(1){g=c[b>>2]|0;do{if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=25;break b}}else g=c[h>>2]|0;if((g|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1}while(0);do{if(r){g=c[r+12>>2]|0;if((g|0)==(c[r+16>>2]|0)){o=0;g=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=25;break b}}else g=c[g>>2]|0;if((g|0)!=-1)if(h^(u|0)==0){g=u;t=u;break}else{q=u;break g}else{c[e>>2]=0;g=0;R=162;break}}else{g=u;R=162}}while(0);if((R|0)==162){R=0;if(h){q=g;break}else t=0}h=c[b>>2]|0;q=c[h+12>>2]|0;if((q|0)==(c[h+16>>2]|0)){o=0;h=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=25;break b}}else h=c[q>>2]|0;o=0;q=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,2048,h|0)|0;x=o;o=0;if(x&1){R=25;break b}if(q){q=c[n>>2]|0;if((q|0)==(c[K>>2]|0)){o=0;wa(14,m|0,n|0,K|0);x=o;o=0;if(x&1){R=25;break b}q=c[n>>2]|0}c[n>>2]=q+4;c[q>>2]=h;f=f+1|0}else{x=a[T>>0]|0;if(!((h|0)==(v|0)&((f|0)!=0?(((x&1)==0?(x&255)>>>1:c[F>>2]|0)|0)!=0:0))){q=g;break}if((p|0)==(c[N>>2]|0)){o=0;wa(13,_|0,O|0,N|0);x=o;o=0;if(x&1){R=25;break b}p=c[O>>2]|0}x=p+4|0;c[O>>2]=x;c[p>>2]=f;p=x;f=0}h=c[b>>2]|0;q=h+12|0;r=c[q>>2]|0;if((r|0)==(c[h+16>>2]|0)){o=0;ka(c[(c[h>>2]|0)+40>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=25;break b}else{u=g;r=t;continue}}else{c[q>>2]=r+4;u=g;r=t;continue}}if((f|0)!=0?(c[_>>2]|0)!=(p|0):0){if((p|0)==(c[N>>2]|0)){o=0;wa(13,_|0,O|0,N|0);x=o;o=0;if(x&1){R=26;break b}p=c[O>>2]|0}x=p+4|0;c[O>>2]=x;c[p>>2]=f;p=x}t=c[M>>2]|0;if((t|0)>0){f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(q){f=c[q+12>>2]|0;if((f|0)==(c[q+16>>2]|0)){o=0;f=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g)break;else{R=206;break b}else{c[e>>2]=0;R=200;break}}else R=200}while(0);if((R|0)==200){R=0;if(g){R=206;break b}else q=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[g>>2]|0;if((f|0)!=(c[L>>2]|0)){R=206;break b}f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;if((h|0)==(c[f+16>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[g>>2]=h+4;if((t|0)>0){r=q;h=q;u=t;while(1){f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=24;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=24;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(r|0)==0){f=r;t=r;break}else{R=231;break b}else{c[e>>2]=0;f=0;R=224;break}}else{f=r;R=224}}while(0);if((R|0)==224){R=0;if(g){R=231;break b}else t=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=24;break b}}else g=c[h>>2]|0;o=0;g=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,2048,g|0)|0;x=o;o=0;if(x&1){R=24;break b}if(!g){R=231;break b}if((c[n>>2]|0)==(c[K>>2]|0)?(o=0,wa(14,m|0,n|0,K|0),x=o,o=0,x&1):0){R=24;break b}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=24;break b}}else g=c[h>>2]|0;h=c[n>>2]|0;c[n>>2]=h+4;c[h>>2]=g;g=u;u=u+-1|0;c[M>>2]=u;h=c[b>>2]|0;q=h+12|0;r=c[q>>2]|0;if((r|0)==(c[h+16>>2]|0)){o=0;ka(c[(c[h>>2]|0)+40>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=24;break b}}else c[q>>2]=r+4;if((g|0)<=1)break;else{r=f;h=t}}}}if((c[n>>2]|0)==(c[m>>2]|0)){R=242;break b}break}default:p=q}}while(0);h:do{if((R|0)==44)while(1){R=0;f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=21;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=21;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(p|0)==0){r=p;h=p;break}else{p=q;break h}else{c[e>>2]=0;p=0;R=57;break}}else R=57}while(0);if((R|0)==57){R=0;if(g){p=q;break h}else{r=p;h=0}}p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=21;break b}}else p=c[f>>2]|0;o=0;p=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,p|0)|0;x=o;o=0;if(x&1){R=21;break b}if(!p){p=q;break h}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=21;break b}}else{c[f>>2]=g+4;p=c[g>>2]|0}o=0;ia(92,W|0,p|0);R=o;o=0;if(R&1){R=21;break b}else{p=r;R=44}}}while(0);y=y+1|0;if(y>>>0>=4){t=p;R=244;break}else q=p}i:switch(R|0){case 21:{f=Na()|0;break a}case 22:{f=Na()|0;break a}case 23:{f=Na()|0;break a}case 24:{f=Na()|0;break a}case 25:{f=Na()|0;break a}case 26:{f=Na()|0;break a}case 42:{c[j>>2]=c[j>>2]|4;f=0;break}case 107:{c[j>>2]=c[j>>2]|4;f=0;break}case 148:{c[j>>2]=c[j>>2]|4;f=0;break}case 206:{c[j>>2]=c[j>>2]|4;f=0;break}case 231:{c[j>>2]=c[j>>2]|4;f=0;break}case 242:{c[j>>2]=c[j>>2]|4;f=0;break}case 244:{j:do{if(s){q=s+4|0;r=s+8|0;h=1;k:while(1){p=a[s>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[q>>2]|0;if(h>>>0>=p>>>0)break j;p=c[b>>2]|0;do{if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break k}}else p=c[f>>2]|0;if((p|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);p=c[e>>2]|0;do{if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break k}}else p=c[f>>2]|0;if((p|0)!=-1)if(g)break;else{R=271;break k}else{c[e>>2]=0;R=263;break}}else R=263}while(0);if((R|0)==263?(R=0,g):0){R=271;break}p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break}}else p=c[f>>2]|0;if(!(a[s>>0]&1))f=q;else f=c[r>>2]|0;if((p|0)!=(c[f+(h<<2)>>2]|0)){R=271;break}p=h+1|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;if((h|0)==(c[f+16>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;n=o;o=0;if(n&1){R=20;break}else{h=p;continue}}else{c[g>>2]=h+4;h=p;continue}}if((R|0)==20){f=Na()|0;break a}else if((R|0)==271){c[j>>2]=c[j>>2]|4;f=0;break i}}}while(0);p=c[_>>2]|0;if((p|0)!=(t|0)?(c[S>>2]=0,Ur(T,p,t,S),(c[S>>2]|0)!=0):0){c[j>>2]=c[j>>2]|4;f=0}else f=1;break}}Wm(W);Wm(U);Wm(V);Wm(X);Im(T);p=c[_>>2]|0;c[_>>2]=0;if((p|0)!=0?(o=0,ha(c[Z>>2]|0,p|0),_=o,o=0,_&1):0){_=Na(0)|0;ec(_)}i=Y;return f|0}}while(0);Wm(W);Wm(U);Wm(V);Wm(X);Im(T);p=c[_>>2]|0;c[_>>2]=0;if((p|0)!=0?(o=0,ha(c[Z>>2]|0,p|0),_=o,o=0,_&1):0){_=Na(0)|0;ec(_)}Ya(f|0);return 0}function Zr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=i;i=i+432|0;k=w+424|0;b=w+24|0;y=w+16|0;s=w+8|0;p=w+4|0;q=w+428|0;l=w;c[y>>2]=b;A=y+4|0;c[A>>2]=189;m=b+400|0;o=0;v=ka(68,g|0)|0;n=o;o=0;if(!(n&1)){c[p>>2]=v;o=0;n=ra(37,p|0,44212)|0;b=o;o=0;a:do{if(!(b&1)?(a[q>>0]=0,t=c[e>>2]|0,c[l>>2]=t,r=c[g+4>>2]|0,u=t,o=0,c[k>>2]=c[l>>2],r=la(2,d|0,k|0,f|0,p|0,r|0,h|0,q|0,n|0,y|0,s|0,m|0)|0,g=o,o=0,!(g&1)):0){if(r){if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;if(a[q>>0]|0){o=0;b=ra(c[(c[n>>2]|0)+44>>2]|0,n|0,45)|0;g=o;o=0;if(g&1)break;o=0;ia(92,j|0,b|0);g=o;o=0;if(g&1)break}o=0;l=ra(c[(c[n>>2]|0)+44>>2]|0,n|0,48)|0;g=o;o=0;if(g&1)break;b=c[y>>2]|0;m=c[s>>2]|0;k=m+-4|0;b:do{if(b>>>0>>0)do{if((c[b>>2]|0)!=(l|0))break b;b=b+4|0}while(b>>>0>>0)}while(0);o=0;ma(33,j|0,b|0,m|0)|0;j=o;o=0;if(j&1)break}b=c[d>>2]|0;do{if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1)break a}else b=c[k>>2]|0;if((b|0)==-1){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1}while(0);do{if(t){b=c[u+12>>2]|0;if((b|0)==(c[u+16>>2]|0)){o=0;b=ka(c[(c[t>>2]|0)+36>>2]|0,u|0)|0;u=o;o=0;if(u&1)break a}else b=c[b>>2]|0;if((b|0)!=-1)if(k)break;else{z=32;break}else{c[e>>2]=0;z=30;break}}else z=30}while(0);if((z|0)==30?k:0)z=32;if((z|0)==32)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(v)|0;b=c[y>>2]|0;c[y>>2]=0;if((b|0)!=0?(o=0,ha(c[A>>2]|0,b|0),A=o,o=0,A&1):0){A=Na(0)|0;ec(A)}i=w;return k|0}}while(0);k=Na()|0;pm(v)|0;b=c[y>>2]|0;c[y>>2]=0;if(!b)x=k;else z=38}else{k=Na()|0;c[y>>2]=0;z=38}if((z|0)==38){o=0;ha(c[A>>2]|0,b|0);A=o;o=0;if(A&1){A=Na(0)|0;ec(A)}else x=k}Ya(x|0);return 0}function _r(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+100|0;p=z+88|0;q=z+76|0;r=z+64|0;s=z+52|0;t=z+48|0;u=z+36|0;v=z+24|0;w=z+12|0;x=z;do{if(b){b=Is(d,43956)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](n,b);x=c[n>>2]|0;a[e>>0]=x;a[e+1>>0]=x>>8;a[e+2>>0]=x>>16;a[e+3>>0]=x>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Wm(p);Cb[c[(c[b>>2]|0)+28>>2]&127](q,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Wm(q);c[f>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](r,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);Cb[c[(c[b>>2]|0)+24>>2]&127](s,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;o=0;ia(93,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Wm(s);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(d,43892)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](t,b);t=c[t>>2]|0;a[e>>0]=t;a[e+1>>0]=t>>8;a[e+2>>0]=t>>16;a[e+3>>0]=t>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](u,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Wm(u);Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Wm(v);c[f>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](w,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[w>>2];c[h+4>>2]=c[w+4>>2];c[h+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[b>>2]|0)+24>>2]&127](x,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;o=0;ia(93,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[x>>2];c[j+4>>2]=c[x+4>>2];c[j+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Wm(x);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=y;i=z;return}function $r(a){a=a|0;return}function as(a){a=a|0;cj(a);return}function bs(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;D=i;i=i+384|0;v=D+8|0;k=D;m=D+284|0;n=D+72|0;l=D+184|0;F=D+68|0;A=D+80|0;x=D+77|0;B=D+76|0;G=D+56|0;I=D+44|0;H=D+32|0;p=D+28|0;u=D+84|0;z=D+24|0;y=D+20|0;w=D+16|0;c[n>>2]=m;h[v>>3]=j;m=_k(m,100,59018,v)|0;do{if(m>>>0>99){o=0;b=ua(3)|0;C=o;o=0;if(!(C&1)?(o=0,h[k>>3]=j,s=va(17,n|0,b|0,59018,k|0)|0,C=o,o=0,!(C&1)):0){b=c[n>>2]|0;if(!b){o=0;xa(6);C=o;o=0;if(C&1){b=0;k=0;C=7;break}b=c[n>>2]|0}l=Fl(s)|0;k=l;if(!l){o=0;xa(6);C=o;o=0;if(C&1)C=7;else{t=0;C=10}}else{t=l;C=10}}else{b=0;k=0;C=7}}else{k=0;b=0;t=l;s=m;C=10}}while(0);if((C|0)==10){o=0;l=ka(68,f|0)|0;r=o;o=0;if(r&1)C=7;else{c[F>>2]=l;o=0;r=ra(37,F|0,44220)|0;q=o;o=0;if(!(q&1)?(q=c[n>>2]|0,o=0,va(c[(c[r>>2]|0)+32>>2]|0,r|0,q|0,q+s|0,t|0)|0,q=o,o=0,!(q&1)):0){if(!s)q=0;else q=(a[c[n>>2]>>0]|0)==45;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;o=0;qa(3,e|0,q|0,F|0,A|0,x|0,B|0,G|0,I|0,H|0,p|0);e=o;o=0;if(!(e&1)){p=c[p>>2]|0;if((s|0)>(p|0)){e=a[H>>0]|0;m=a[I>>0]|0;m=(s-p<<1|1)+p+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}else{e=a[H>>0]|0;m=a[I>>0]|0;m=p+2+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}if(m>>>0>100){m=Fl(m)|0;n=m;if(!m){o=0;xa(6);u=o;o=0;if(!(u&1)){m=0;C=26}}else C=26}else{n=0;m=u;C=26}if((C|0)==26){o=0;na(1,m|0,z|0,y|0,c[f+4>>2]|0,t|0,t+s|0,r|0,q|0,A|0,a[x>>0]|0,a[B>>0]|0,G|0,I|0,H|0,p|0);B=o;o=0;if(!(B&1)?(c[w>>2]=c[d>>2],d=c[z>>2]|0,E=c[y>>2]|0,o=0,c[v>>2]=c[w>>2],E=ja(39,v|0,m|0,d|0,E|0,f|0,g|0)|0,d=o,o=0,!(d&1)):0){if(n){Gl(n);l=c[F>>2]|0}Im(H);Im(I);Im(G);pm(l)|0;if(k)Gl(k);if(b)Gl(b);i=D;return E|0}}m=Na()|0;if(n){Gl(n);l=c[F>>2]|0}}else m=Na()|0;Im(H);Im(I);Im(G)}else m=Na()|0;pm(l)|0}}if((C|0)==7)m=Na()|0;if(k)Gl(k);if(b)Gl(b);Ya(m|0);return 0}function cs(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+112|0;q=D+108|0;r=D+96|0;u=D+92|0;v=D+80|0;w=D+68|0;x=D+56|0;y=D+52|0;z=D+40|0;A=D+36|0;B=D+24|0;s=D+12|0;t=D;do{if(b){b=Is(e,43828)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](q,b);d=c[q>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](r,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);p=b;break}}else{Cb[c[e+40>>2]&127](u,b);d=c[u>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[v>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Im(v);p=b;break}}}while(0);a[g>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[h>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[p>>2]|0)+20>>2]&127](w,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[w>>2];c[j+4>>2]=c[w+4>>2];c[j+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[p>>2]|0)+24>>2]&127](x,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[x>>2];c[k+4>>2]=c[x+4>>2];c[k+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Im(x);C=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(e,43764)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](y,b);d=c[y>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](z,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[z>>2];c[l+4>>2]=c[z+4>>2];c[l+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;Im(z);n=b;break}}else{Cb[c[e+40>>2]&127](A,b);d=c[A>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](B,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[B>>2];c[l+4>>2]=c[B+4>>2];c[l+8>>2]=c[B+8>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;Im(B);n=b;break}}}while(0);a[g>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[h>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[n>>2]|0)+20>>2]&127](s,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Im(s);Cb[c[(c[n>>2]|0)+24>>2]&127](t,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[t>>2];c[k+4>>2]=c[t+4>>2];c[k+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Im(t);C=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=C;i=D;return}function ds(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;c[f>>2]=d;N=q+4|0;O=q+8|0;P=q+1|0;H=p+4|0;I=(g&512|0)==0;J=p+8|0;K=p+1|0;L=j+8|0;M=(r|0)>0;A=o+4|0;B=o+8|0;C=o+1|0;D=r+1|0;F=-2-r-((r|0)<0?~r:-1)|0;G=(r|0)>0;z=0;do{switch(a[l+z>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];x=Lb[c[(c[j>>2]|0)+28>>2]&63](j,32)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;break}case 3:{y=a[q>>0]|0;s=(y&1)==0;if((s?(y&255)>>>1:c[N>>2]|0)|0){x=a[(s?P:c[O>>2]|0)>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}break}case 2:{u=a[p>>0]|0;s=(u&1)==0;u=s?(u&255)>>>1:c[H>>2]|0;if(!(I|(u|0)==0)){t=s?K:c[J>>2]|0;v=t+u|0;s=c[f>>2]|0;if(u)do{a[s>>0]=a[t>>0]|0;t=t+1|0;s=s+1|0}while((t|0)!=(v|0));c[f>>2]=s}break}case 4:{s=c[f>>2]|0;h=k?h+1|0:h;w=h;v=c[L>>2]|0;a:do{if(h>>>0>>0){t=h;do{u=a[t>>0]|0;if(u<<24>>24<=-1)break a;if(!(b[v+(u<<24>>24<<1)>>1]&2048))break a;t=t+1|0}while(t>>>0>>0)}else t=h}while(0);u=t;if(M){x=-2-u-~(u>>>0>w>>>0?w:u)|0;x=F>>>0>x>>>0?F:x;if(t>>>0>h>>>0&G){u=t;w=r;while(1){u=u+-1|0;y=a[u>>0]|0;v=c[f>>2]|0;c[f>>2]=v+1;a[v>>0]=y;v=(w|0)>1;if(!(u>>>0>h>>>0&v))break;else w=w+-1|0}}else v=G;y=D+x|0;u=t+(x+1)|0;if(v)w=Lb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;else w=0;t=c[f>>2]|0;c[f>>2]=t+1;if((y|0)>0){v=y;while(1){a[t>>0]=w;t=c[f>>2]|0;c[f>>2]=t+1;if((v|0)>1)v=v+-1|0;else break}}a[t>>0]=m}else u=t;if((u|0)!=(h|0)){y=a[o>>0]|0;t=(y&1)==0;if(!((t?(y&255)>>>1:c[A>>2]|0)|0))t=-1;else t=a[(t?C:c[B>>2]|0)>>0]|0;if((u|0)!=(h|0)){v=0;w=0;while(1){if((w|0)==(t|0)){y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=n;v=v+1|0;y=a[o>>0]|0;t=(y&1)==0;if(v>>>0<(t?(y&255)>>>1:c[A>>2]|0)>>>0){t=a[(t?C:c[B>>2]|0)+v>>0]|0;t=t<<24>>24==127?-1:t<<24>>24;w=0}else{t=w;w=0}}u=u+-1|0;x=a[u>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;if((u|0)==(h|0))break;else w=w+1|0}}}else{x=Lb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}t=c[f>>2]|0;if((s|0)!=(t|0)?(E=t+-1|0,s>>>0>>0):0){t=E;do{y=a[s>>0]|0;a[s>>0]=a[t>>0]|0;a[t>>0]=y;s=s+1|0;t=t+-1|0}while(s>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);t=a[q>>0]|0;h=(t&1)==0;t=h?(t&255)>>>1:c[N>>2]|0;if(t>>>0>1){s=h?P:c[O>>2]|0;u=s+t|0;h=c[f>>2]|0;if((t|0)!=1){s=s+1|0;do{a[h>>0]=a[s>>0]|0;h=h+1|0;s=s+1|0}while((s|0)!=(u|0))}c[f>>2]=h}switch(g&176|0){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function es(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;z=i;i=i+176|0;r=z+56|0;B=z+52|0;x=z+64|0;u=z+61|0;y=z+60|0;C=z+40|0;E=z+28|0;D=z+16|0;m=z+12|0;q=z+68|0;w=z+8|0;v=z+4|0;s=z;b=jn(f)|0;c[B>>2]=b;o=0;t=ra(37,B|0,44220)|0;p=o;o=0;do{if(p&1)F=13;else{n=a[h>>0]|0;j=(n&1)==0;p=h+4|0;if(!((j?(n&255)>>>1:c[p>>2]|0)|0))n=0;else{j=a[(j?h+1|0:c[h+8>>2]|0)>>0]|0;o=0;k=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,45)|0;n=o;o=0;if(n&1){F=13;break}n=j<<24>>24==k<<24>>24}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;qa(3,e|0,n|0,B|0,x|0,u|0,y|0,C|0,E|0,D|0,m|0);l=o;o=0;if(!(l&1)){l=a[h>>0]|0;e=c[p>>2]|0;j=(l&1)==0?(l&255)>>>1:e;m=c[m>>2]|0;if((j|0)>(m|0)){G=a[D>>0]|0;k=a[E>>0]|0;j=(j-m<<1|1)+m+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{G=a[D>>0]|0;j=a[E>>0]|0;j=m+2+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[E+4>>2]|0)|0}if(j>>>0>100){j=Fl(j)|0;k=j;if(!j){o=0;xa(6);G=o;o=0;if(!(G&1)){l=a[h>>0]|0;e=c[p>>2]|0;j=0;F=17}}else F=17}else{k=0;j=q;F=17}if((F|0)==17){G=(l&1)==0;h=G?h+1|0:c[h+8>>2]|0;o=0;na(1,j|0,w|0,v|0,c[f+4>>2]|0,h|0,h+(G?(l&255)>>>1:e)|0,t|0,n|0,x|0,a[u>>0]|0,a[y>>0]|0,C|0,E|0,D|0,m|0);G=o;o=0;if(!(G&1)?(c[s>>2]=c[d>>2],G=c[w>>2]|0,A=c[v>>2]|0,o=0,c[r>>2]=c[s>>2],A=ja(39,r|0,j|0,G|0,A|0,f|0,g|0)|0,G=o,o=0,!(G&1)):0){if(k){Gl(k);b=c[B>>2]|0}Im(D);Im(E);Im(C);pm(b)|0;i=z;return A|0}}j=Na()|0;if(k){Gl(k);b=c[B>>2]|0}}else j=Na()|0;Im(D);Im(E);Im(C)}}while(0);if((F|0)==13)j=Na()|0;pm(b)|0;Ya(j|0);return 0}function fs(a){a=a|0;return}function gs(a){a=a|0;cj(a);return}function hs(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;D=i;i=i+992|0;v=D+8|0;k=D;m=D+888|0;n=D+880|0;l=D+480|0;F=D+76|0;A=D+884|0;x=D+72|0;B=D+68|0;G=D+56|0;I=D+44|0;H=D+32|0;p=D+28|0;u=D+80|0;z=D+24|0;y=D+20|0;w=D+16|0;c[n>>2]=m;h[v>>3]=j;m=_k(m,100,59018,v)|0;do{if(m>>>0>99){o=0;b=ua(3)|0;C=o;o=0;if(!(C&1)?(o=0,h[k>>3]=j,s=va(17,n|0,b|0,59018,k|0)|0,C=o,o=0,!(C&1)):0){b=c[n>>2]|0;if(!b){o=0;xa(6);C=o;o=0;if(C&1){b=0;k=0;C=7;break}b=c[n>>2]|0}l=Fl(s<<2)|0;k=l;if(!l){o=0;xa(6);C=o;o=0;if(C&1)C=7;else{t=0;C=10}}else{t=l;C=10}}else{b=0;k=0;C=7}}else{k=0;b=0;t=l;s=m;C=10}}while(0);if((C|0)==10){o=0;l=ka(68,f|0)|0;r=o;o=0;if(r&1)C=7;else{c[F>>2]=l;o=0;r=ra(37,F|0,44212)|0;q=o;o=0;if(!(q&1)?(q=c[n>>2]|0,o=0,va(c[(c[r>>2]|0)+48>>2]|0,r|0,q|0,q+s|0,t|0)|0,q=o,o=0,!(q&1)):0){if(!s)q=0;else q=(a[c[n>>2]>>0]|0)==45;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;o=0;qa(4,e|0,q|0,F|0,A|0,x|0,B|0,G|0,I|0,H|0,p|0);e=o;o=0;if(!(e&1)){p=c[p>>2]|0;if((s|0)>(p|0)){e=a[H>>0]|0;m=a[I>>0]|0;m=(s-p<<1|1)+p+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}else{e=a[H>>0]|0;m=a[I>>0]|0;m=p+2+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}if(m>>>0>100){m=Fl(m<<2)|0;n=m;if(!m){o=0;xa(6);u=o;o=0;if(!(u&1)){m=0;C=26}}else C=26}else{n=0;m=u;C=26}if((C|0)==26){o=0;na(2,m|0,z|0,y|0,c[f+4>>2]|0,t|0,t+(s<<2)|0,r|0,q|0,A|0,c[x>>2]|0,c[B>>2]|0,G|0,I|0,H|0,p|0);B=o;o=0;if(!(B&1)?(c[w>>2]=c[d>>2],d=c[z>>2]|0,E=c[y>>2]|0,o=0,c[v>>2]=c[w>>2],E=ja(40,v|0,m|0,d|0,E|0,f|0,g|0)|0,d=o,o=0,!(d&1)):0){if(n){Gl(n);l=c[F>>2]|0}Wm(H);Wm(I);Im(G);pm(l)|0;if(k)Gl(k);if(b)Gl(b);i=D;return E|0}}m=Na()|0;if(n){Gl(n);l=c[F>>2]|0}}else m=Na()|0;Wm(H);Wm(I);Im(G)}else m=Na()|0;pm(l)|0}}if((C|0)==7)m=Na()|0;if(k)Gl(k);if(b)Gl(b);Ya(m|0);return 0}function is(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+112|0;n=B+108|0;p=B+96|0;s=B+92|0;t=B+80|0;u=B+68|0;v=B+56|0;w=B+52|0;x=B+40|0;y=B+36|0;z=B+24|0;q=B+12|0;r=B;do{if(b){b=Is(e,43956)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](n,b);d=c[n>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Wm(p);break}}else{Cb[c[e+40>>2]&127](s,b);d=c[s>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](t,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[t>>2];c[l+4>>2]=c[t+4>>2];c[l+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Wm(t);break}}}while(0);c[g>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](u,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[u>>2];c[j+4>>2]=c[u+4>>2];c[j+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Im(u);Cb[c[(c[b>>2]|0)+24>>2]&127](v,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Wm(v);A=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(e,43892)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](w,b);d=c[w>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](x,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[x>>2];c[l+4>>2]=c[x+4>>2];c[l+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Wm(x);break}}else{Cb[c[e+40>>2]&127](y,b);d=c[y>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](z,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[z>>2];c[l+4>>2]=c[z+4>>2];c[l+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;Wm(z);break}}}while(0);c[g>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](q,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Im(q);Cb[c[(c[b>>2]|0)+24>>2]&127](r,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[r>>2];c[k+4>>2]=c[r+4>>2];c[k+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Wm(r);A=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=A;i=B;return}function js(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;c[e>>2]=b;J=p+4|0;K=p+8|0;C=o+4|0;D=(f&512|0)==0;E=o+8|0;F=(q|0)>0;G=n+4|0;H=n+8|0;I=n+1|0;A=(q|0)>0;z=0;do{switch(a[k+z>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];x=Lb[c[(c[i>>2]|0)+44>>2]&63](i,32)|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x;break}case 3:{y=a[p>>0]|0;r=(y&1)==0;if((r?(y&255)>>>1:c[J>>2]|0)|0){x=c[(r?J:c[K>>2]|0)>>2]|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x}break}case 2:{v=a[o>>0]|0;r=(v&1)==0;v=r?(v&255)>>>1:c[C>>2]|0;if(!(D|(v|0)==0)){r=r?C:c[E>>2]|0;t=r+(v<<2)|0;u=c[e>>2]|0;if(v){s=u;while(1){c[s>>2]=c[r>>2];r=r+4|0;if((r|0)==(t|0))break;else s=s+4|0}}c[e>>2]=u+(v<<2)}break}case 4:{r=c[e>>2]|0;g=j?g+4|0:g;a:do{if(g>>>0>>0){s=g;do{if(!(Gb[c[(c[i>>2]|0)+12>>2]&63](i,2048,c[s>>2]|0)|0))break a;s=s+4|0}while(s>>>0>>0)}else s=g}while(0);if(F){if(s>>>0>g>>>0&A){v=c[e>>2]|0;u=q;while(1){s=s+-4|0;t=v+4|0;c[v>>2]=c[s>>2];w=u+-1|0;u=(u|0)>1;if(s>>>0>g>>>0&u){v=t;u=w}else{v=w;break}}c[e>>2]=t;t=v}else{u=A;t=q}if(u)w=Lb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;else w=0;x=c[e>>2]|0;u=t+((t|0)<0?~t:-1)|0;if((t|0)>0){v=x;while(1){c[v>>2]=w;if((t|0)>1){v=v+4|0;t=t+-1|0}else break}}c[e>>2]=x+(u+2<<2);c[x+(u+1<<2)>>2]=l}if((s|0)==(g|0)){x=Lb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;y=c[e>>2]|0;s=y+4|0;c[e>>2]=s;c[y>>2]=x}else{x=a[n>>0]|0;t=(x&1)==0;y=c[G>>2]|0;if(!((t?(x&255)>>>1:y)|0))t=-1;else t=a[(t?I:c[H>>2]|0)>>0]|0;if((s|0)!=(g|0)){w=0;x=0;while(1){u=c[e>>2]|0;if((x|0)==(t|0)){v=u+4|0;c[e>>2]=v;c[u>>2]=m;w=w+1|0;u=a[n>>0]|0;t=(u&1)==0;if(w>>>0<(t?(u&255)>>>1:y)>>>0){t=a[(t?I:c[H>>2]|0)+w>>0]|0;u=v;t=t<<24>>24==127?-1:t<<24>>24;v=0}else{u=v;t=x;v=0}}else v=x;s=s+-4|0;x=c[s>>2]|0;c[e>>2]=u+4;c[u>>2]=x;if((s|0)==(g|0))break;else x=v+1|0}}s=c[e>>2]|0}if((r|0)!=(s|0)?(B=s+-4|0,r>>>0>>0):0){s=B;do{y=c[r>>2]|0;c[r>>2]=c[s>>2];c[s>>2]=y;r=r+4|0;s=s+-4|0}while(r>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);r=a[p>>0]|0;g=(r&1)==0;r=g?(r&255)>>>1:c[J>>2]|0;if(r>>>0>1){s=g?J:c[K>>2]|0;g=s+4|0;s=s+(r<<2)|0;t=c[e>>2]|0;u=s-g|0;if((r|0)!=1){r=t;while(1){c[r>>2]=c[g>>2];g=g+4|0;if((g|0)==(s|0))break;else r=r+4|0}}c[e>>2]=t+(u>>>2<<2)}switch(f&176|0){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function ks(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;z=i;i=i+480|0;q=z+468|0;B=z+464|0;x=z+472|0;u=z+56|0;y=z+52|0;C=z+40|0;E=z+28|0;D=z+16|0;m=z+12|0;p=z+64|0;w=z+8|0;v=z+4|0;r=z;b=jn(f)|0;c[B>>2]=b;o=0;s=ra(37,B|0,44212)|0;t=o;o=0;do{if(t&1)F=13;else{n=a[h>>0]|0;j=(n&1)==0;t=h+4|0;if(!((j?(n&255)>>>1:c[t>>2]|0)|0))n=0;else{j=c[(j?t:c[h+8>>2]|0)>>2]|0;o=0;k=ra(c[(c[s>>2]|0)+44>>2]|0,s|0,45)|0;n=o;o=0;if(n&1){F=13;break}n=(j|0)==(k|0)}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;qa(4,e|0,n|0,B|0,x|0,u|0,y|0,C|0,E|0,D|0,m|0);l=o;o=0;if(!(l&1)){l=a[h>>0]|0;e=c[t>>2]|0;j=(l&1)==0?(l&255)>>>1:e;m=c[m>>2]|0;if((j|0)>(m|0)){G=a[D>>0]|0;k=a[E>>0]|0;j=(j-m<<1|1)+m+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{G=a[D>>0]|0;j=a[E>>0]|0;j=m+2+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[E+4>>2]|0)|0}if(j>>>0>100){j=Fl(j<<2)|0;k=j;if(!j){o=0;xa(6);G=o;o=0;if(!(G&1)){l=a[h>>0]|0;e=c[t>>2]|0;j=0;F=17}}else F=17}else{k=0;j=p;F=17}if((F|0)==17){G=(l&1)==0;h=G?t:c[h+8>>2]|0;o=0;na(2,j|0,w|0,v|0,c[f+4>>2]|0,h|0,h+((G?(l&255)>>>1:e)<<2)|0,s|0,n|0,x|0,c[u>>2]|0,c[y>>2]|0,C|0,E|0,D|0,m|0);G=o;o=0;if(!(G&1)?(c[r>>2]=c[d>>2],G=c[w>>2]|0,A=c[v>>2]|0,o=0,c[q>>2]=c[r>>2],A=ja(40,q|0,j|0,G|0,A|0,f|0,g|0)|0,G=o,o=0,!(G&1)):0){if(k){Gl(k);b=c[B>>2]|0}Wm(D);Wm(E);Im(C);pm(b)|0;i=z;return A|0}}j=Na()|0;if(k){Gl(k);b=c[B>>2]|0}}else j=Na()|0;Wm(D);Wm(E);Im(C)}}while(0);if((F|0)==13)j=Na()|0;pm(b)|0;Ya(j|0);return 0}function ls(a){a=a|0;return}function ms(a){a=a|0;cj(a);return}function ns(b,d,e){b=b|0;d=d|0;e=e|0;b=lk((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function os(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;k=i;i=i+16|0;l=k;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;j=a[h>>0]|0;m=(j&1)==0;d=m?h+1|0:c[h+8>>2]|0;j=m?(j&255)>>>1:c[h+4>>2]|0;h=d+j|0;a:do{if((j|0)>0){while(1){o=0;ia(67,l|0,a[d>>0]|0);m=o;o=0;if(m&1)break;d=d+1|0;if(d>>>0>=h>>>0){j=4;break a}}d=Na()|0;j=7}else j=4}while(0);b:do{if((j|0)==4){o=0;d=va(19,((e|0)==-1?-1:e<<1)|0,f|0,g|0,((a[l>>0]&1)==0?l+1|0:c[l+8>>2]|0)|0)|0;m=o;o=0;if(m&1){d=Na()|0;j=7;break}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;m=nl(d)|0;h=d+m|0;c:do{if((m|0)>0){while(1){o=0;ia(67,b|0,a[d>>0]|0);m=o;o=0;if(m&1)break;d=d+1|0;if(d>>>0>=h>>>0)break c}d=Na()|0;Im(b);break b}}while(0);Im(l);i=k;return}}while(0);Im(l);Ya(d|0)}function ps(a,b){a=a|0;b=b|0;return}function qs(a){a=a|0;return}function rs(a){a=a|0;cj(a);return}function ss(b,d,e){b=b|0;d=d|0;e=e|0;b=lk((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function ts(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=i;i=i+224|0;p=w+184|0;n=w+192|0;m=w+180|0;q=w+176|0;u=w+168|0;t=w+40|0;s=w+32|0;v=w+28|0;x=w+16|0;l=w+8|0;r=w;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[l+4>>2]=0;c[l>>2]=44696;k=a[h>>0]|0;y=(k&1)==0;j=h+4|0;d=y?j:c[h+8>>2]|0;h=y?(k&255)>>>1:c[j>>2]|0;j=d+(h<<2)|0;k=n+32|0;a:do{if((h|0)>0){b:while(1){c[q>>2]=d;o=0;h=ya(c[(c[l>>2]|0)+12>>2]|0,l|0,p|0,d|0,j|0,q|0,n|0,k|0,m|0)|0;y=o;o=0;if(y&1){h=12;break}if((h|0)==2?1:(c[q>>2]|0)==(d|0)){h=5;break}if(n>>>0<(c[m>>2]|0)>>>0){d=n;do{o=0;ia(67,x|0,a[d>>0]|0);y=o;o=0;if(y&1){h=11;break b}d=d+1|0}while(d>>>0<(c[m>>2]|0)>>>0)}d=c[q>>2]|0;if(!((h|0)!=2&d>>>0>>0)){h=9;break a}}if((h|0)==5){o=0;ha(190,58955);o=0;d=Na()|0}else if((h|0)==11)d=Na()|0;else if((h|0)==12)d=Na()|0}else h=9}while(0);c:do{if((h|0)==9){o=0;d=va(19,((e|0)==-1?-1:e<<1)|0,f|0,g|0,((a[x>>0]&1)==0?x+1|0:c[x+8>>2]|0)|0)|0;y=o;o=0;if(y&1){d=Na()|0;break}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[r+4>>2]=0;c[r>>2]=44744;y=nl(d)|0;j=d+y|0;k=j;l=t+128|0;d:do{if((y|0)>0){e:while(1){c[v>>2]=d;o=0;h=ya(c[(c[r>>2]|0)+16>>2]|0,r|0,u|0,d|0,((k-d|0)>32?d+32|0:j)|0,v|0,t|0,l|0,s|0)|0;y=o;o=0;if(y&1){h=24;break}if((h|0)==2?1:(c[v>>2]|0)==(d|0)){h=18;break}if(t>>>0<(c[s>>2]|0)>>>0){d=t;do{o=0;ia(92,b|0,c[d>>2]|0);y=o;o=0;if(y&1){h=23;break e}d=d+4|0}while(d>>>0<(c[s>>2]|0)>>>0)}d=c[v>>2]|0;if(!((h|0)!=2&d>>>0>>0))break d}if((h|0)==18){o=0;ha(190,58955);o=0;d=Na()|0}else if((h|0)==23)d=Na()|0;else if((h|0)==24)d=Na()|0;Wm(b);break c}}while(0);Im(x);i=w;return}}while(0);Im(x);Ya(d|0)}function us(a,b){a=a|0;b=b|0;return}function vs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;c[b+4>>2]=d+-1;c[b>>2]=44196;h=b+8|0;o=0;ia(94,h|0,28);g=o;o=0;if(g&1)d=Na()|0;else{g=b+144|0;o=0;wa(5,g|0,58885,1);f=o;o=0;if(f&1)d=Na()|0;else{e=c[h>>2]|0;f=b+12|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do{d=d+-4|0}while((d|0)!=(e|0));c[f>>2]=d}c[495]=0;c[494]=43124;o=0;ia(95,b|0,1976);f=o;o=0;do{if(((((((((((((!(f&1)?(c[497]=0,c[496]=43164,o=0,ia(96,b|0,1984),f=o,o=0,!(f&1)):0)?(c[499]=0,c[498]=44236,c[500]=0,a[2004]=0,c[500]=Os()|0,o=0,ia(97,b|0,1992),f=o,o=0,!(f&1)):0)?(c[503]=0,c[502]=44484,o=0,ia(98,b|0,2008),f=o,o=0,!(f&1)):0)?(c[505]=0,c[504]=44552,o=0,ia(99,b|0,2016),f=o,o=0,!(f&1)):0)?(o=0,ia(100,2024,1),f=o,o=0,!(f&1)):0)?(o=0,ia(101,b|0,2024),f=o,o=0,!(f&1)):0)?(c[511]=0,c[510]=44600,o=0,ia(102,b|0,2040),f=o,o=0,!(f&1)):0)?(c[513]=0,c[512]=44648,o=0,ia(103,b|0,2048),f=o,o=0,!(f&1)):0)?(Tt(2056,1),o=0,ia(104,b|0,2056),f=o,o=0,!(f&1)):0)?(Ut(2080,1),o=0,ia(105,b|0,2080),f=o,o=0,!(f&1)):0)?(c[529]=0,c[528]=43204,o=0,ia(106,b|0,2112),f=o,o=0,!(f&1)):0)?(c[531]=0,c[530]=43276,o=0,ia(107,b|0,2120),f=o,o=0,!(f&1)):0)?(c[533]=0,c[532]=43348,o=0,ia(108,b|0,2128),f=o,o=0,!(f&1)):0){c[535]=0;c[534]=43408;o=0;ia(109,b|0,2136);f=o;o=0;if(f&1){i=42;break}c[537]=0;c[536]=43716;o=0;ia(110,b|0,2144);f=o;o=0;if(f&1){i=42;break}c[539]=0;c[538]=43780;o=0;ia(111,b|0,2152);f=o;o=0;if(f&1){i=42;break}c[541]=0;c[540]=43844;o=0;ia(112,b|0,2160);f=o;o=0;if(f&1){i=42;break}c[543]=0;c[542]=43908;o=0;ia(113,b|0,2168);f=o;o=0;if(f&1){i=42;break}c[545]=0;c[544]=43972;o=0;ia(114,b|0,2176);f=o;o=0;if(f&1){i=42;break}c[547]=0;c[546]=44008;o=0;ia(115,b|0,2184);f=o;o=0;if(f&1){i=42;break}c[549]=0;c[548]=44044;o=0;ia(116,b|0,2192);f=o;o=0;if(f&1){i=42;break}c[551]=0;c[550]=44080;o=0;ia(117,b|0,2200);f=o;o=0;if(f&1){i=42;break}c[553]=0;c[552]=43468;c[554]=43516;o=0;ia(118,b|0,2208);f=o;o=0;if(f&1){i=42;break}c[557]=0;c[556]=43560;c[558]=43608;o=0;ia(119,b|0,2224);f=o;o=0;if(f&1){i=42;break}c[561]=0;c[560]=44464;o=0;d=ua(3)|0;f=o;o=0;if(f&1){d=Na()|0;break}c[562]=d;c[560]=43652;o=0;ia(120,b|0,2240);f=o;o=0;if(f&1){i=42;break}c[565]=0;c[564]=44464;o=0;d=ua(3)|0;f=o;o=0;if(f&1){d=Na()|0;break}c[566]=d;c[564]=43684;o=0;ia(121,b|0,2256);i=o;o=0;if(i&1){i=42;break}c[569]=0;c[568]=44116;o=0;ia(122,b|0,2272);i=o;o=0;if(i&1){i=42;break}c[571]=0;c[570]=44156;o=0;ia(123,b|0,2280);i=o;o=0;if(i&1){i=42;break}return}else i=42}while(0);if((i|0)==42)d=Na()|0;Im(g)}Dv(h)}Ya(d|0)}function ws(){var b=0;do{if((a[2288]|0)==0?(Ha(2288)|0)!=0:0){o=0;ua(4)|0;b=o;o=0;if(b&1){b=Na()|0;sb(2288);Ya(b|0)}else{c[11246]=44980;Pa(2288);break}}}while(0);return c[11246]|0}function xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;om(b);f=a+8|0;e=c[f>>2]|0;do{if((c[a+12>>2]|0)-e>>2>>>0<=d>>>0){o=0;ia(124,f|0,d+1|0);a=o;o=0;if(!(a&1)){e=c[f>>2]|0;break}e=Na()|0;if(b)pm(b)|0;Ya(e|0)}}while(0);a=c[e+(d<<2)>>2]|0;if(a){pm(a)|0;e=c[f>>2]|0}c[e+(d<<2)>>2]=b;return}function ys(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=44196;e=a+8|0;f=a+12|0;b=c[e>>2]|0;if((c[f>>2]|0)!=(b|0)){d=0;do{b=c[b+(d<<2)>>2]|0;if(b)pm(b)|0;d=d+1|0;b=c[e>>2]|0}while(d>>>0<(c[f>>2]|0)-b>>2>>>0)}Im(a+144|0);Dv(e);return}function zs(a){a=a|0;ys(a);cj(a);return}function As(a,b){a=a|0;b=b|0;if(Fv(a,b)|0)return c[(c[a+8>>2]|0)+(b<<2)>>2]|0;else{a=Ma(4)|0;qj(a);lb(a|0,640,82)}return 0}function Bs(){vs(2296,1);c[11245]=2296;return 44980}function Cs(){var a=0;a=c[(ws()|0)>>2]|0;c[11247]=a;om(a);return 44988}function Ds(){var b=0;do{if((a[2456]|0)==0?(Ha(2456)|0)!=0:0){o=0;ua(5)|0;b=o;o=0;if(b&1){b=Na()|0;sb(2456);Ya(b|0)}else{c[11248]=44988;Pa(2456);break}}}while(0);return c[11248]|0}function Es(a){a=a|0;var b=0,d=0;o=0;b=ua(6)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}else{d=c[b>>2]|0;c[a>>2]=d;om(d);return}}function Fs(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;om(b);return}function Gs(a){a=a|0;pm(c[a>>2]|0)|0;return}function Hs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((c[a>>2]|0)!=-1){c[b>>2]=a;c[b+4>>2]=191;c[b+8>>2]=0;Em(a,b,192)}i=d;return(c[a+4>>2]|0)+-1|0}function Is(a,b){a=a|0;b=b|0;a=c[a>>2]|0;return As(a,Hs(b)|0)|0}function Js(a){a=a|0;cj(a);return}function Ks(a){a=a|0;if(a)Bb[c[(c[a>>2]|0)+4>>2]&255](a);return}function Ls(a){a=a|0;var b=0;b=c[11052]|0;c[11052]=b+1;c[a+4>>2]=b+1;return}function Ms(a){a=a|0;cj(a);return}function Ns(a,c,d){a=a|0;c=c|0;d=d|0;if(d>>>0<128)d=(b[(Os()|0)+(d<<1)>>1]&c)<<16>>16!=0;else d=0;return d|0}function Os(){var a=0,b=0;o=0;a=ua(7)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Ps(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;i=(f-d|0)>>>2;if((d|0)!=(f|0)){h=d;while(1){a=c[h>>2]|0;if(a>>>0<128)a=e[(Os()|0)+(a<<1)>>1]|0;else a=0;b[g>>1]=a;h=h+4|0;if((h|0)==(f|0))break;else g=g+2|0}}return d+(i<<2)|0}function Qs(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do{if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0<128?(b[(Os()|0)+(a<<1)>>1]&d)<<16>>16!=0:0)break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}}while(0);return e|0}function Rs(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do{if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0>=128)break a;if(!((b[(Os()|0)+(a<<1)>>1]&d)<<16>>16))break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}}while(0);return e|0}function Ss(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(Ts()|0)+(b<<2)>>2]|0;return b|0}function Ts(){var a=0,b=0;o=0;a=ua(8)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Us(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(Ts()|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function Vs(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(Ws()|0)+(b<<2)>>2]|0;return b|0}function Ws(){var a=0,b=0;o=0;a=ua(9)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(Ws()|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function Ys(a,b){a=a|0;b=b|0;return b<<24>>24|0}function Zs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((d|0)!=(e|0))while(1){c[f>>2]=a[d>>0];d=d+1|0;if((d|0)==(e|0))break;else f=f+4|0}return e|0}function _s(a,b,c){a=a|0;b=b|0;c=c|0;return(b>>>0<128?b&255:c)|0}function $s(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=(e-d|0)>>>2;if((d|0)!=(e|0)){h=d;b=g;while(1){g=c[h>>2]|0;a[b>>0]=g>>>0<128?g&255:f;h=h+4|0;if((h|0)==(e|0))break;else b=b+1|0}}return d+(i<<2)|0}function at(b){b=b|0;var d=0;c[b>>2]=44236;d=c[b+8>>2]|0;if((d|0)!=0?(a[b+12>>0]|0)!=0:0)dj(d);return}function bt(a){a=a|0;at(a);cj(a);return}function ct(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(Ts()|0)+((b&255)<<2)>>2]&255;return b|0}function dt(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(Ts()|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function et(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(Ws()|0)+(b<<24>>24<<2)>>2]&255;return b|0}function ft(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(Ws()|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function gt(a,b){a=a|0;b=b|0;return b|0}function ht(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;if((c|0)!=(d|0))while(1){a[e>>0]=a[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else e=e+1|0}return d|0}function it(a,b,c){a=a|0;b=b|0;c=c|0;return(b<<24>>24>-1?b:c)|0}function jt(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((c|0)!=(d|0))while(1){b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;c=c+1|0;if((c|0)==(d|0))break;else f=f+1|0}return d|0}function kt(a){a=a|0;cj(a);return}function lt(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function mt(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function nt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function ot(a){a=a|0;return 1}function pt(a){a=a|0;return 1}function qt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=d-c|0;return(a>>>0>>0?a:e)|0}function rt(a){a=a|0;return 1}function st(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b+-1;c[a>>2]=44304;o=0;b=ua(3)|0;d=o;o=0;if(d&1){d=Na()|0;Ya(d|0)}else{c[a+8>>2]=b;return}}function tt(a){a=a|0;wu(a);cj(a);return}function xl(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;_=X;aa=_-Z|0;O=-2-Z|0;P=_+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do{if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(ck()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do{if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)Xk(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do{if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}}while(0);do{if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}}while(0);e:do{if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1}while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[56223+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do{if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}Cl(ba,s,g)}}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do{switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=kw(o|0,p|0,3)|0;p=D}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=56703;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=56703;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=hw(0,0,n|0,o|0)|0;o=D;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=56703;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?56703:56705;L=76}else{p=1;s=56704;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=56703;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=56703;n=N;break}case 109:{n=dk(c[(ck()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:56713;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){El(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?56721:56726}else{G=1;H=56723}else{q=-q;G=1;H=56720}h[k>>3]=q;F=c[k+4>>2]&2146435072;do{if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+wk(q,ea)*2;o=v!=0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;C=u|32;if((C|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do{if(!(r>>>0>11|(n|0)==0)){q=8;do{n=n+-1|0;q=q*16}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v}while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=Dl(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[56687+H>>0]|w;q=(q-+(H|0))*16;do{if((n-Z|0)==1){if(p&(s&q==0))break;a[n>>0]=46;n=o+2|0}}while(0);if(!(q!=0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;El(e,32,K,p,I);if(!(c[e>>2]&32))Xk(y,x,e)|0;El(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))Xk(da,n,e)|0;o=_-t|0;El(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))Xk(t,o,e)|0;El(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1e9}while(q!=0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do{if(r>>>0>>0)r=s;else{o=0;do{B=mw(c[r>>2]|0,0,t|0)|0;B=jw(B|0,D|0,o|0,0)|0;o=D;A=vw(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=uw(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(C|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do{if(w>>>0

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

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

>>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0}while(0);A=(C|0)==103;B=(n|0)!=0;r=n-((C|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do{if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992:9007199254740994;t=(s|0)/2|0;do{if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1;break}q=1.5}}while(0);do{if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}C=t+s|0;c[r>>2]=C;if(C>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}C=(c[s>>2]|0)+1|0;c[s>>2]=C;if(C>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}}while(0);C=r+4|0;w=s;p=p>>>0>C>>>0?C:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;C=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;C=p;break}}do{if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do{if(z){p=c[C+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9}while(0);p=((C-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8}while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=Dl(r,((r|0)<0)<<31>>31,X)|0;if((_-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((_-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=_-E|0;u=E}y=G+1+n+s+o|0;El(e,32,K,y,I);if(!(c[e>>2]&32))Xk(H,G,e)|0;El(e,48,K,y,I^65536);do{if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=Dl(c[o>>2]|0,0,R)|0;do{if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}}while(0);if(!(c[e>>2]&32))Xk(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do{if(x){if(c[e>>2]&32)break;Xk(56755,1,e)|0}}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=Dl(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))Xk(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}El(e,48,n+9|0,9,0)}else{t=z?C:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=Dl(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do{if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))Xk(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}Xk(56755,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}}while(0);p=S-o|0;if(!(c[e>>2]&32))Xk(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}El(e,48,n+18|0,18,0);if(c[e>>2]&32)break;Xk(u,_-u|0,e)|0}}while(0);El(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0!=0;o=s?0:G;r=o+3|0;El(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){Xk(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))Xk(s?t?56747:56751:t?56739:56743,3,e)|0;El(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=56703;n=N}}}while(0);g:do{if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[56687+(o&15)>>0]|s;o=kw(o|0,p|0,4)|0;p=D}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=56703;L=77}else{o=t;t=2;s=56703+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=56703;L=77}}else if((L|0)==76){n=Dl(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=jl(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=56703;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=Ik(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}El(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=Ik(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))Xk(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}}while(0);if((L|0)==98){L=0;El(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;El(e,32,n,r,p);if(!(c[e>>2]&32))Xk(u,t,e)|0;El(e,48,n,r,p^65536);El(e,48,o,s,0);if(!(c[e>>2]&32))Xk(w,s,e)|0;El(e,32,n,r,p^8192);w=J}h:do{if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;Cl(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0}while(0);i=ha;return m|0}function yl(a,b,c){a=a|0;b=b|0;c=c|0;return Rk(a,b,c)|0}function zl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;gk(h,0);e=+ek(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b)c[b>>2]=(d|0)!=0?a+d|0:a;i=j;return+e}function Al(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;gk(j,0);e=fk(j,d,1,e,f)|0;if(b)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function Bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;lw(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Cl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;a:do{if(b>>>0<=20)do{switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}}while(0)}while(0);return}function Dl(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=vw(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=uw(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=D}else{b=e;break}}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function El(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do{if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;iw(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){Xk(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;Xk(h,f,a)|0}}while(0);i=j;return}function Fl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do{if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[10218]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=40912+(e<<2)|0;e=40912+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do{if((d|0)!=(h|0)){if(h>>>0<(c[10222]|0)>>>0)Ga();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Ga()}else c[10218]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[10220]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=40912+(e<<2)|0;e=40912+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do{if((d|0)!=(f|0)){if(f>>>0<(c[10222]|0)>>>0)Ga();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[10220]|0;break}else Ga()}else{c[10218]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[10223]|0;d=k>>>3;b=d<<1;e=40912+(b<<2)|0;a=c[10218]|0;d=1<>2]|0;if(b>>>0<(c[10222]|0)>>>0)Ga();else{l=a;m=b}}else{c[10218]=a|d;l=40912+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[10220]=h;c[10223]=i;M=j;return M|0}a=c[10219]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[41176+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[10222]|0;if(e>>>0>>0)Ga();i=e+o|0;if(e>>>0>=i>>>0)Ga();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do{if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Ga();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Ga();b=f+12|0;if((c[b>>2]|0)!=(e|0))Ga();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Ga()}}while(0);do{if(h){b=c[e+28>>2]|0;a=41176+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[10222]|0;if(n>>>0>>0)Ga();c[n+24>>2]=h;b=c[e+16>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[n+16>>2]=b;c[b+24>>2]=n;break}}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[10220]|0;if(b){g=c[10223]|0;d=b>>>3;b=d<<1;f=40912+(b<<2)|0;a=c[10218]|0;d=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{p=b;q=a}}else{c[10218]=a|d;p=40912+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[10220]=j;c[10223]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[10219]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[41176+(k<<2)>>2]|0;a:do{if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[41176+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[10220]|0)-m|0)>>>0:0){f=c[10222]|0;if(j>>>0>>0)Ga();h=j+m|0;if(j>>>0>=h>>>0)Ga();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do{if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Ga();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Ga();b=e+12|0;if((c[b>>2]|0)!=(j|0))Ga();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Ga()}}while(0);do{if(g){b=c[j+28>>2]|0;a=41176+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[10222]|0;if(o>>>0>>0)Ga();c[o+24>>2]=g;b=c[j+16>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[o+16>>2]=b;c[b+24>>2]=o;break}}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}}while(0);b:do{if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{s=b;t=a}}else{c[10218]=d|b;s=40912+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=41176+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[10219]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do{if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b}while(0);b=y+8|0;a=c[b>>2]|0;M=c[10222]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Ga()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1}while(0);d=c[10220]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[10223]|0;if(b>>>0>15){c[10223]=a+q;c[10220]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[10220]=0;c[10223]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[10221]|0;if(a>>>0>q>>>0){L=a-q|0;c[10221]=L;M=c[10224]|0;c[10224]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do{if(!(c[10336]|0)){a=_a(30)|0;if(!(a+-1&a)){c[10338]=a;c[10337]=a;c[10339]=-1;c[10340]=-1;c[10341]=0;c[10329]=0;c[10336]=(qb(0)|0)&-16^1431655768;break}else Ga()}}while(0);j=q+48|0;i=c[10338]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[10328]|0;if((a|0)!=0?(t=c[10326]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do{if(!(c[10329]&4)){a=c[10224]|0;e:do{if(a){f=41320;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[10221]|0)&i;if(d>>>0<2147483647){f=Ua(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174}while(0);do{if((v|0)==174){g=Ua(0)|0;if((g|0)!=(-1|0)){a=g;d=c[10337]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[10326]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[10328]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=Ua(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}}while(0);f:do{if((v|0)==184){g=0-d|0;do{if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[10338]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((Ua(u|0)|0)==(-1|0)){Ua(g|0)|0;break f}else{d=u+d|0;break}}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}}while(0);c[10329]=c[10329]|4;v=191}else{a=0;v=191}}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=Ua(l|0)|0,x=Ua(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[10326]|0)+p|0;c[10326]=a;if(a>>>0>(c[10327]|0)>>>0)c[10327]=a;h=c[10224]|0;g:do{if(h){g=41320;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[10221]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[10224]=h+L;c[10221]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[10225]=c[10340];break}a=c[10222]|0;if(w>>>0>>0){c[10222]=w;a=w}d=w+p|0;g=41320;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=41320;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do{if((b|0)!=(h|0)){if((b|0)==(c[10223]|0)){M=(c[10220]|0)+l|0;c[10220]=M;c[10223]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do{if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do{if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Ga();a=f+12|0;if((c[a>>2]|0)!=(b|0))Ga();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Ga()}}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=41176+(a<<2)|0;do{if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[10222]|0)>>>0)Ga();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[10219]=c[10219]&~(1<>>0>>0)Ga();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do{if(a)if(a>>>0>>0)Ga();else{c[J+16>>2]=a;c[a+24>>2]=J;break}}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=40912+(g<<1<<2)|0;do{if((e|0)!=(d|0)){if(e>>>0>>0)Ga();if((c[e+12>>2]|0)==(b|0))break;Ga()}}while(0);if((f|0)==(e|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Ga()}}while(0);c[e+12>>2]=f;c[F>>2]=e}}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0>=(c[10222]|0)>>>0){K=b;L=a;break}Ga()}}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do{if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}}while(0);b=41176+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[10219]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do{if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b}while(0);b=M+8|0;a=c[b>>2]|0;L=c[10222]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Ga()}else{M=(c[10221]|0)+l|0;c[10221]=M;c[10224]=o;c[w+(m+4)>>2]=M|1}}while(0);M=w+(n|8)|0;return M|0}else d=41320;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[10224]=w+d;c[10221]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[10225]=c[10340];d=a+4|0;c[d>>2]=27;c[b>>2]=c[10330];c[b+4>>2]=c[10331];c[b+8>>2]=c[10332];c[b+12>>2]=c[10333];c[10330]=w;c[10331]=p;c[10333]=0;c[10332]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{G=b;H=a}}else{c[10218]=d|b;G=40912+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=41176+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[10219]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do{if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b}while(0);b=I+8|0;a=c[b>>2]|0;M=c[10222]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Ga()}}else{M=c[10222]|0;if((M|0)==0|w>>>0>>0)c[10222]=w;c[10330]=w;c[10331]=p;c[10333]=0;c[10227]=c[10336];c[10226]=-1;b=0;do{M=b<<1;L=40912+(M<<2)|0;c[40912+(M+3<<2)>>2]=L;c[40912+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[10224]=w+M;c[10221]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[10225]=c[10340]}}while(0);b=c[10221]|0;if(b>>>0>q>>>0){L=b-q|0;c[10221]=L;M=c[10224]|0;c[10224]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(ck()|0)>>2]=12;M=0;return M|0}function Gl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[10222]|0;if(b>>>0>>0)Ga();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Ga();o=d&-8;q=a+(o+-8)|0;do{if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Ga();if((l|0)==(c[10223]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[10220]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=40912+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Ga();if((c[e+12>>2]|0)!=(l|0))Ga()}if((d|0)==(e|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Ga()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do{if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Ga();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ga();b=f+12|0;if((c[b>>2]|0)!=(l|0))Ga();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Ga()}}while(0);if(h){b=c[a+(j+28)>>2]|0;d=41176+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[10222]|0;if(k>>>0>>0)Ga();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[k+16>>2]=b;c[b+24>>2]=k;break}}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}}while(0);if(u>>>0>=q>>>0)Ga();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Ga();if(!(d&2)){if((q|0)==(c[10224]|0)){t=(c[10221]|0)+g|0;c[10221]=t;c[10224]=u;c[u+4>>2]=t|1;if((u|0)!=(c[10223]|0))return;c[10223]=0;c[10220]=0;return}if((q|0)==(c[10223]|0)){t=(c[10220]|0)+g|0;c[10220]=t;c[10223]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do{if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do{if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[10222]|0)>>>0)Ga();e=d+12|0;if((c[e>>2]|0)!=(q|0))Ga();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Ga()}}while(0);if(h){b=c[a+(o+20)>>2]|0;d=41176+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[10222]|0;if(p>>>0>>0)Ga();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[p+16>>2]=b;c[b+24>>2]=p;break}}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=40912+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[10222]|0)>>>0)Ga();if((c[e+12>>2]|0)!=(q|0))Ga()}if((d|0)==(e|0)){c[10218]=c[10218]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Ga()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[10223]|0)){c[10220]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=40912+(d<<2)|0;e=c[10218]|0;b=1<>2]|0;if(d>>>0<(c[10222]|0)>>>0)Ga();else{r=b;s=d}}else{c[10218]=e|b;r=40912+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=41176+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[10219]|0;e=1<>2]|0;b:do{if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b}while(0);b=t+8|0;d=c[b>>2]|0;s=c[10222]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Ga()}else{c[10219]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}}while(0);u=(c[10226]|0)+-1|0;c[10226]=u;if(!u)b=41328;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[10226]=-1;return}function Hl(a,b){a=a|0;b=b|0;var d=0;if(a){d=$(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Fl(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;iw(b|0,0,d|0)|0;return b|0}function Il(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Fl(b)|0;return a|0}if(b>>>0>4294967231){c[(ck()|0)>>2]=12;a=0;return a|0}d=Jl(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=Fl(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;lw(d|0,a|0,(e>>>0>>0?e:b)|0)|0;Gl(a);a=d;return a|0}function Jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[10222]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Ga();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Ga();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[10338]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;Kl(a+b|0,d);return a|0}if((l|0)==(c[10224]|0)){d=(c[10221]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[10224]=a+b;c[10221]=n;return a|0}if((l|0)==(c[10223]|0)){e=(c[10220]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[10220]=d;c[10223]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do{if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do{if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ga();d=f+12|0;if((c[d>>2]|0)!=(l|0))Ga();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Ga()}}while(0);if(h){d=c[a+(j+28)>>2]|0;e=41176+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[10222]|0;if(k>>>0>>0)Ga();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do{if(d)if(d>>>0>>0)Ga();else{c[k+16>>2]=d;c[d+24>>2]=k;break}}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(l|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ga()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;Kl(a+b|0,n);return a|0}return 0}function Kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do{if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[10222]|0;if(n>>>0>>0)Ga();if((n|0)==(c[10223]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[10220]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(n|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Ga()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do{if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Ga();d=g+12|0;if((c[d>>2]|0)!=(n|0))Ga();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Ga()}}while(0);if(i){d=c[a+(28-k)>>2]|0;e=41176+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[10222]|0;if(l>>>0>>0)Ga();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do{if(e)if(e>>>0>>0)Ga();else{c[l+16>>2]=e;c[e+24>>2]=l;break}}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}}while(0);j=c[10222]|0;if(q>>>0>>0)Ga();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[10224]|0)){s=(c[10221]|0)+h|0;c[10221]=s;c[10224]=t;c[t+4>>2]=s|1;if((t|0)!=(c[10223]|0))return;c[10223]=0;c[10220]=0;return}if((q|0)==(c[10223]|0)){s=(c[10220]|0)+h|0;c[10220]=s;c[10223]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do{if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do{if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Ga();d=g+12|0;if((c[d>>2]|0)!=(q|0))Ga();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Ga()}}while(0);if(i){d=c[a+(b+28)>>2]|0;e=41176+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[10222]|0;if(p>>>0>>0)Ga();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do{if(d)if(d>>>0>>0)Ga();else{c[p+16>>2]=d;c[d+24>>2]=p;break}}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(q|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Ga()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[10223]|0)){c[10220]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=40912+(e<<2)|0;f=c[10218]|0;d=1<>2]|0;if(e>>>0<(c[10222]|0)>>>0)Ga();else{r=d;s=e}}else{c[10218]=f|d;r=40912+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=41176+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[10219]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do{if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[10222]|0)>>>0)Ga();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}}while(0);e=d+8|0;f=c[e>>2]|0;s=c[10222]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Ga();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function Ll(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[9321]|0;Pl(42048,e,42104);c[10342]=42892;c[10344]=42912;c[10343]=0;a=c[10720]|0;o=0;ia(62,41368+a|0,42048);g=o;o=0;if(g&1){g=Na()|0;fn(41376);Ya(g|0)}c[41368+(a+72)>>2]=0;c[41368+(a+76)>>2]=-1;f=c[9322]|0;Ql(42152,f,42112);c[10364]=42972;c[10365]=42992;d=c[10740]|0;o=0;ia(62,41456+d|0,42152);g=o;o=0;if(g&1){g=Na()|0;fn(41460);Ya(g|0)}a=d+72|0;c[41456+a>>2]=0;b=d+76|0;c[41456+b>>2]=-1;g=c[9320]|0;Ql(42200,g,42120);c[10385]=42972;c[10386]=42992;o=0;ia(62,41540+d|0,42200);h=o;o=0;if(h&1){h=Na()|0;fn(41544);Ya(h|0)}c[41540+a>>2]=0;c[41540+b>>2]=-1;h=c[41540+((c[(c[10385]|0)+-12>>2]|0)+24)>>2]|0;c[10406]=42972;c[10407]=42992;o=0;ia(62,41624+d|0,h|0);h=o;o=0;if(h&1){h=Na()|0;fn(41628);Ya(h|0)}c[41624+a>>2]=0;c[41624+b>>2]=-1;c[41368+((c[(c[10342]|0)+-12>>2]|0)+72)>>2]=41456;a=41540+((c[(c[10385]|0)+-12>>2]|0)+4)|0;c[a>>2]=c[a>>2]|8192;c[41540+((c[(c[10385]|0)+-12>>2]|0)+72)>>2]=41456;Rl(42248,e,42128);c[10427]=42932;c[10429]=42952;c[10428]=0;a=c[10730]|0;o=0;ia(62,41708+a|0,42248);h=o;o=0;if(h&1){h=Na()|0;ln(41716);Ya(h|0)}c[41708+(a+72)>>2]=0;c[41708+(a+76)>>2]=-1;Sl(42304,f,42136);c[10449]=43012;c[10450]=43032;d=c[10750]|0;o=0;ia(62,41796+d|0,42304);h=o;o=0;if(h&1){h=Na()|0;ln(41800);Ya(h|0)}a=d+72|0;c[41796+a>>2]=0;b=d+76|0;c[41796+b>>2]=-1;Sl(42352,g,42144);c[10470]=43012;c[10471]=43032;o=0;ia(62,41880+d|0,42352);h=o;o=0;if(h&1){h=Na()|0;ln(41884);Ya(h|0)}c[41880+a>>2]=0;c[41880+b>>2]=-1;h=c[41880+((c[(c[10470]|0)+-12>>2]|0)+24)>>2]|0;c[10491]=43012;c[10492]=43032;o=0;ia(62,41964+d|0,h|0);h=o;o=0;if(h&1){h=Na()|0;ln(41968);Ya(h|0)}else{c[41964+a>>2]=0;c[41964+b>>2]=-1;c[41708+((c[(c[10427]|0)+-12>>2]|0)+72)>>2]=41796;h=41880+((c[(c[10470]|0)+-12>>2]|0)+4)|0;c[h>>2]=c[h>>2]|8192;c[41880+((c[(c[10470]|0)+-12>>2]|0)+72)>>2]=41796;return}}function Ml(a){a=a|0;o=0;ka(70,41456)|0;a=o;o=0;if(((!(a&1)?(o=0,ka(70,41624)|0,a=o,o=0,!(a&1)):0)?(o=0,ka(71,41796)|0,a=o,o=0,!(a&1)):0)?(o=0,ka(71,41964)|0,a=o,o=0,!(a&1)):0)return;a=Na(0)|0;ec(a)}function Nl(){Ll(0);kb(187,56757,n|0)|0;return}function Ol(){return}function Pl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;pn(b);c[b>>2]=42600;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;ia(23,b|0,f|0);e=o;o=0;if(e&1){h=Na()|0;Gs(f);nn(b);Ya(h|0)}else{Gs(f);i=g;return}}function Ql(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;pn(b);c[b>>2]=42536;c[b+32>>2]=d;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;d=ra(37,f|0,44280)|0;h=o;o=0;if(h&1){h=Na()|0;Gs(f);nn(b);Ya(h|0)}else{Gs(f);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=g;return}}function Rl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;En(b);c[b>>2]=42472;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;ia(21,b|0,f|0);e=o;o=0;if(e&1){h=Na()|0;Gs(f);Cn(b);Ya(h|0)}else{Gs(f);i=g;return}}function Sl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;En(b);c[b>>2]=42408;c[b+32>>2]=d;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;d=ra(37,f|0,44288)|0;h=o;o=0;if(h&1){h=Na()|0;Gs(f);Cn(b);Ya(h|0)}else{Gs(f);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=g;return}}function Tl(a){a=a|0;Cn(a);cj(a);return}function Ul(b,d){b=b|0;d=d|0;Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=Is(d,44288)|0;c[b+36>>2]=d;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function Vl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Yk(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((Vk(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function Wl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do{if(!(a[b+44>>0]|0))if((e|0)>0){f=d;d=0;while(1){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,c[f>>2]|0)|0)==-1)break a;d=d+1|0;if((d|0)<(e|0))f=f+4|0;else break}}else d=0;else d=Yk(d,4,e,c[b+32>>2]|0)|0}while(0);return d|0}function Xl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do{if(!q){c[e>>2]=d;if(a[b+44>>0]|0)if((Yk(e,4,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;l=e+4|0;m=b+36|0;g=b+40|0;h=p+8|0;j=p;k=b+32|0;while(1){b=c[m>>2]|0;b=Sb[c[(c[b>>2]|0)+12>>2]&15](b,c[g>>2]|0,e,l,n,p,h,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-j|0;if((Yk(p,1,b,c[k>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Yk(e,1,1,c[k>>2]|0)|0)!=1)e=-1;else r=11}else r=11}while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function Yl(b,d){b=b|0;d=d|0;var e=0,f=0;f=Is(d,44288)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)Rr(56783);return}function Zl(a){a=a|0;Cn(a);cj(a);return}function _l(a){a=a|0;return bm(a,0)|0}function $l(a){a=a|0;return bm(a,1)|0}function am(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+8|0;f=m+4|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do{if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do{if(e){c[f>>2]=c[j>>2];e=c[b+36>>2]|0;switch(Sb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if((al(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}}while(0);c[j>>2]=d;a[h>>0]=1}}while(0);i=m;return d|0}function bm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=i;i=i+32|0;q=r+16|0;p=r+8|0;m=r+4|0;n=r;g=b+52|0;a:do{if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=-1;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;if((e|0)>0){g=0;do{f=Zk(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[q+g>>0]=f;g=g+1|0}while((g|0)<(e|0))}b:do{if(!(a[b+53>>0]|0)){j=b+40|0;k=b+36|0;l=p+4|0;c:while(1){s=c[j>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[k>>2]|0;h=q+e|0;switch(Sb[c[(c[t>>2]|0)+16>>2]&15](t,s,q,h,m,p,l,n)|0){case 2:{e=-1;break a}case 3:break c;case 1:break;default:break b}t=c[j>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){e=-1;break a}f=Zk(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[h>>0]=f;e=e+1|0}c[p>>2]=a[q>>0]}else c[p>>2]=a[q>>0]}while(0);if(d){e=c[p>>2]|0;c[b+48>>2]=e;break}while(1){if((e|0)<=0)break;e=e+-1|0;if((al(a[q+e>>0]|0,c[o>>2]|0)|0)==-1){e=-1;break a}}e=c[p>>2]|0}}while(0);i=r;return e|0}function cm(a){a=a|0;nn(a);cj(a);return}function dm(b,d){b=b|0;d=d|0;Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=Is(d,44280)|0;c[b+36>>2]=d;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function em(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Yk(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((Vk(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function fm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;a:do{if(!(a[b+44>>0]|0))if((f|0)>0){g=e;e=0;while(1){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,d[g>>0]|0)|0)==-1)break a;e=e+1|0;if((e|0)<(f|0))g=g+1|0;else break}}else e=0;else e=Yk(e,1,f,c[b+32>>2]|0)|0}while(0);return e|0}function gm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do{if(!q){a[e>>0]=d;if(a[b+44>>0]|0)if((Yk(e,1,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;m=e+1|0;g=b+36|0;h=b+40|0;j=p+8|0;k=p;l=b+32|0;while(1){b=c[g>>2]|0;b=Sb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,e,m,n,p,j,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-k|0;if((Yk(p,1,b,c[l>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Yk(e,1,1,c[l>>2]|0)|0)!=1)e=-1;else r=11}else r=11}while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function hm(b,d){b=b|0;d=d|0;var e=0,f=0;f=Is(d,44280)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)Rr(56783);return}function im(a){a=a|0;nn(a);cj(a);return}function jm(a){a=a|0;return mm(a,0)|0}function km(a){a=a|0;return mm(a,1)|0}function lm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+4|0;f=m+8|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do{if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do{if(e){a[f>>0]=c[j>>2];e=c[b+36>>2]|0;switch(Sb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if((al(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}}while(0);c[j>>2]=d;a[h>>0]=1}}while(0);i=m;return d|0}function mm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+32|0;r=s+16|0;q=s+8|0;n=s+4|0;o=s;h=b+52|0;a:do{if(a[h>>0]|0){g=b+48|0;f=c[g>>2]|0;if(e){c[g>>2]=-1;a[h>>0]=0}}else{f=c[b+44>>2]|0;f=(f|0)>1?f:1;p=b+32|0;if((f|0)>0){h=0;do{g=Zk(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[r+h>>0]=g;h=h+1|0}while((h|0)<(f|0))}b:do{if(!(a[b+53>>0]|0)){k=b+40|0;l=b+36|0;m=q+1|0;c:while(1){t=c[k>>2]|0;h=t;g=c[h>>2]|0;h=c[h+4>>2]|0;u=c[l>>2]|0;j=r+f|0;switch(Sb[c[(c[u>>2]|0)+16>>2]&15](u,t,r,j,n,q,m,o)|0){case 2:{f=-1;break a}case 3:break c;case 1:break;default:break b}u=c[k>>2]|0;c[u>>2]=g;c[u+4>>2]=h;if((f|0)==8){f=-1;break a}g=Zk(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[j>>0]=g;f=f+1|0}a[q>>0]=a[r>>0]|0}else a[q>>0]=a[r>>0]|0}while(0);if(e){f=a[q>>0]|0;c[b+48>>2]=f&255}else{while(1){if((f|0)<=0)break;f=f+-1|0;if((al(d[r+f>>0]|0,c[p>>2]|0)|0)==-1){f=-1;break a}}f=a[q>>0]|0}f=f&255}}while(0);i=s;return f|0}function nm(a){a=a|0;return}function om(a){a=a|0;a=a+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function pm(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b){Bb[c[(c[a>>2]|0)+8>>2]&255](a);a=1}else a=0;return a|0}function qm(b,d){b=b|0;d=d|0;c[b>>2]=36868;o=0;ia(86,b+4|0,((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0)|0);b=o;o=0;if(b&1){b=Na()|0;Ya(b|0)}else return}function rm(a,b){a=a|0;b=b|0;c[a>>2]=36868;o=0;ia(86,a+4|0,b|0);a=o;o=0;if(a&1){a=Na()|0;Ya(a|0)}else return}function sm(a,b){a=a|0;b=b|0;var d=0,e=0;e=nl(b)|0;d=bj(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=d+12|0;lw(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function tm(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=d;c[a+4>>2]=b;return}function um(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;Qb[c[(c[a>>2]|0)+12>>2]&15](e,a,b);if((c[e+4>>2]|0)==(c[d+4>>2]|0))e=(c[e>>2]|0)==(c[d>>2]|0);else e=0;i=f;return e|0}function vm(a,b,d){a=a|0;b=b|0;d=d|0;return((c[b>>2]|0)==(d|0)?(c[b+4>>2]|0)==(a|0):0)|0}function wm(a,b,c){a=a|0;b=b|0;c=c|0;b=dk(c)|0;Gm(a,b,nl(b)|0);return}function xm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=c[d>>2]|0;do{if(f){g=a[e>>0]|0;if(!(g&1))g=(g&255)>>>1;else g=c[e+4>>2]|0;if(g){Pm(e,56990)|0;f=c[d>>2]|0}d=c[d+4>>2]|0;Qb[c[(c[d>>2]|0)+24>>2]&15](h,d,f);d=a[h>>0]|0;g=(d&1)==0;o=0;ma(30,e|0,(g?h+1|0:c[h+8>>2]|0)|0,(g?(d&255)>>>1:c[h+4>>2]|0)|0)|0;d=o;o=0;if(d&1){j=Na()|0;Im(h);Ya(j|0)}else{Im(h);break}}}while(0);c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;i=j;return}function ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;e=f+12|0;g=f;Gm(g,d,nl(d)|0);o=0;wa(10,e|0,b|0,g|0);d=o;o=0;do{if(!(d&1)){o=0;ia(87,a|0,e|0);d=o;o=0;if(d&1){f=Na()|0;Im(e);e=f;break}else{Im(e);Im(g);c[a>>2]=42664;d=c[b+4>>2]|0;g=a+8|0;c[g>>2]=c[b>>2];c[g+4>>2]=d;i=f;return}}else e=Na()|0}while(0);Im(g);Ya(e|0)}function zm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+48|0;f=g+24|0;j=g+16|0;h=g;c[j>>2]=b;c[j+4>>2]=d;Fm(h,e);o=0;wa(10,f|0,j|0,h|0);e=o;o=0;do{if(!(e&1)){o=0;ia(87,a|0,f|0);j=o;o=0;if(j&1){j=Na()|0;Im(f);f=j;break}else{Im(f);Im(h);c[a>>2]=42664;c[a+8>>2]=b;c[a+12>>2]=d;i=g;return}}else f=Na()|0}while(0);Im(h);Ya(f|0)}function Am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+48|0;e=f+24|0;h=f+16|0;g=f;c[h>>2]=b;c[h+4>>2]=d;Gm(g,58898,0);o=0;wa(10,e|0,h|0,g|0);h=o;o=0;do{if(!(h&1)){o=0;ia(87,a|0,e|0);h=o;o=0;if(h&1){h=Na()|0;Im(e);e=h;break}else{Im(e);Im(g);c[a>>2]=42664;c[a+8>>2]=b;c[a+12>>2]=d;i=f;return}}else e=Na()|0}while(0);Im(g);Ya(e|0)}function Bm(a){a=a|0;mj(a);return}function Cm(a){a=a|0;mj(a);cj(a);return}function Dm(a){a=a|0;return}function Em(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;rb(42676)|0;if((c[a>>2]|0)==1)do{Da(42704,42676)|0}while((c[a>>2]|0)==1);do{if(!(c[a>>2]|0)){c[a>>2]=1;o=0;ka(72,42676)|0;e=o;o=0;if((((!(e&1)?(o=0,ha(d|0,b|0),e=o,o=0,!(e&1)):0)?(o=0,ka(73,42676)|0,e=o,o=0,!(e&1)):0)?(c[a>>2]=-1,o=0,ka(72,42676)|0,e=o,o=0,!(e&1)):0)?(o=0,ka(74,42704)|0,e=o,o=0,!(e&1)):0)break;e=Na(0)|0;Va(e|0)|0;o=0;ka(73,42676)|0;e=o;o=0;if((!(e&1)?(c[a>>2]=0,o=0,ka(72,42676)|0,e=o,o=0,!(e&1)):0)?(o=0,ka(74,42704)|0,e=o,o=0,!(e&1)):0){o=0;xa(5);o=0}b=Na()|0;o=0;xa(3);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}else Ya(b|0)}else cb(42676)|0}while(0);return}function Fm(b,d){b=b|0;d=d|0;if(!(a[d>>0]&1)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}else Gm(b,c[d+8>>2]|0,c[d+4>>2]|0);return}function Gm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>4294967279)_i(b);if(e>>>0<11){a[b>>0]=e<<1;b=b+1|0}else{g=e+16&-16;f=bj(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}lw(b|0,d|0,e|0)|0;a[b+e>>0]=0;return}function Hm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>4294967279)_i(b);if(d>>>0<11){a[b>>0]=d<<1;b=b+1|0}else{g=d+16&-16;f=bj(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}iw(b|0,e|0,d|0)|0;a[b+d>>0]=0;return}function Im(b){b=b|0;if(a[b>>0]&1)cj(c[b+8>>2]|0);return}function Jm(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)!=(d|0)){e=a[d>>0]|0;f=(e&1)==0;Lm(b,f?d+1|0:c[d+8>>2]|0,f?(e&255)>>>1:c[d+4>>2]|0)|0}return b|0}function Km(a,b){a=a|0;b=b|0;return Lm(a,b,nl(b)|0)|0}function Lm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=10;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do{if(h>>>0>=e>>>0){if(g)f=b+1|0;else f=c[b+8>>2]|0;nw(f|0,d|0,e|0)|0;a[f+e>>0]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;Sm(b,h,e-h|0,f,0,f,e,d)}}while(0);return b|0}function Mm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a[b>>0]|0;g=(f&1)==0;if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;do{if(f>>>0>=d>>>0)if(g){a[b+1+d>>0]=0;a[b>>0]=d<<1;break}else{a[(c[b+8>>2]|0)+d>>0]=0;c[b+4>>2]=d;break}else Nm(b,d-f|0,e)|0}while(0);return}function Nm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(d){f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0>>0){Tm(b,g,d-g+h|0,h,h,0,0);f=a[b>>0]|0}if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;iw(g+h|0,e|0,d|0)|0;f=h+d|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}return b|0}function Om(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>4294967279)_i(b);e=a[b>>0]|0;if(!(e&1))f=10;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<11)i=10;else i=(d+16&-16)+-1|0;a:do{if((i|0)!=(f|0)){do{if((i|0)!=10){d=i+1|0;if(i>>>0<=f>>>0){o=0;d=ka(67,d|0)|0;h=o;o=0;if(h&1){b=Na(0)|0;Va(b|0)|0;Xa();break a}}else d=bj(d)|0;if(!(e&1)){f=1;g=b+1|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+1|0;f=0;g=c[b+8>>2]|0;h=1}}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;lw(d|0,g|0,e+1|0)|0;if(h)cj(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}}while(0);return}function Pm(a,b){a=a|0;b=b|0;return Rm(a,b,nl(b)|0)|0}function Qm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=10;h=(e&255)>>>1}if((h|0)==(g|0)){Tm(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+1|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}a[e+h>>0]=d;a[e+f>>0]=0;return}function Rm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0>=e>>>0){if(e){if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;lw(g+h|0,d|0,e|0)|0;f=h+e|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}}else Sm(b,g,e-g+h|0,h,h,0,e,d);return b|0}function Sm(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((-18-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))m=b+1|0;else m=c[b+8>>2]|0;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=bj(k)|0;if(g)lw(l|0,m|0,g|0)|0;if(i)lw(l+g|0,j|0,i|0)|0;e=f-h|0;if((e|0)!=(g|0))lw(l+(i+g)|0,m+(h+g)|0,e-g|0)|0;if((d|0)!=10)cj(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;a[l+d>>0]=0;return}function Tm(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))l=b+1|0;else l=c[b+8>>2]|0;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=bj(j)|0;if(g)lw(k|0,l|0,g|0)|0;e=f-h|0;if((e|0)!=(g|0))lw(k+(i+g)|0,l+(h+g)|0,e-g|0)|0;if((d|0)!=10)cj(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function Um(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>1073741807)_i(b);if(e>>>0<2){a[b>>0]=e<<1;b=b+4|0}else{g=e+4&-4;f=bj(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}ql(b,d,e)|0;c[b+(e<<2)>>2]=0;return}function Vm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>1073741807)_i(b);if(d>>>0<2){a[b>>0]=d<<1;b=b+4|0}else{g=d+4&-4;f=bj(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}sl(b,e,d)|0;c[b+(d<<2)>>2]=0;return}function Wm(b){b=b|0;if(a[b>>0]&1)cj(c[b+8>>2]|0);return}function Xm(a,b){a=a|0;b=b|0;return Ym(a,b,pl(b)|0)|0}function Ym(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=1;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do{if(h>>>0>=e>>>0){if(g)f=b+4|0;else f=c[b+8>>2]|0;rl(f,d,e)|0;c[f+(e<<2)>>2]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;$m(b,h,e-h|0,f,0,f,e,d)}}while(0);return b|0}function Zm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>1073741807)_i(b);e=a[b>>0]|0;if(!(e&1))f=1;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<2)i=1;else i=(d+4&-4)+-1|0;a:do{if((i|0)!=(f|0)){do{if((i|0)!=1){d=(i<<2)+4|0;if(i>>>0<=f>>>0){o=0;d=ka(67,d|0)|0;h=o;o=0;if(h&1){b=Na(0)|0;Va(b|0)|0;Xa();break a}}else d=bj(d)|0;if(!(e&1)){f=1;g=b+4|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+4|0;f=0;g=c[b+8>>2]|0;h=1}}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;ql(d,g,e+1|0)|0;if(h)cj(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}}while(0);return}function _m(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=1;h=(e&255)>>>1}if((h|0)==(g|0)){an(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+4|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}c[e+(h<<2)>>2]=d;c[e+(f<<2)>>2]=0;return}function $m(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((1073741806-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))m=b+4|0;else m=c[b+8>>2]|0;if(d>>>0<536870887){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<2?2:k+4&-4}else k=1073741807;l=bj(k<<2)|0;if(g)ql(l,m,g)|0;if(i)ql(l+(g<<2)|0,j,i)|0;e=f-h|0;if((e|0)!=(g|0))ql(l+(i+g<<2)|0,m+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)cj(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;c[l+(d<<2)>>2]=0;return}function an(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((1073741807-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))l=b+4|0;else l=c[b+8>>2]|0;if(d>>>0<536870887){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<2?2:j+4&-4}else j=1073741807;k=bj(j<<2)|0;if(g)ql(k,l,g)|0;e=f-h|0;if((e|0)!=(g|0))ql(k+(i+g<<2)|0,l+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)cj(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function bn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=d;f=e-g|0;if(f>>>0>4294967279)_i(b);if(f>>>0<11){a[b>>0]=f<<1;h=b+1|0}else{i=f+16&-16;h=bj(i)|0;c[b+8>>2]=h;c[b>>2]=i|1;c[b+4>>2]=f}b=e-g|0;if((d|0)!=(e|0)){f=h;while(1){a[f>>0]=a[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else f=f+1|0}}a[h+b>>0]=0;return}function cn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d;f=e-h|0;g=f>>2;if(g>>>0>1073741807)_i(b);if(g>>>0<2){a[b>>0]=f>>>1;b=b+4|0}else{i=g+4&-4;f=bj(i<<2)|0;c[b+8>>2]=f;c[b>>2]=i|1;c[b+4>>2]=g;b=f}g=(e-h|0)>>>2;if((d|0)!=(e|0)){f=b;while(1){c[f>>2]=c[d>>2];d=d+4|0;if((d|0)==(e|0))break;else f=f+4|0}}c[b+(g<<2)>>2]=0;return}function dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=(c[a+24>>2]|0)==0;c[a+16>>2]=f&1|b;if(!((f&1|b)&c[a+20>>2])){i=d;return}b=Ma(16)|0;so()|0;c[e>>2]=1;c[e+4>>2]=43112;o=0;wa(11,b|0,57437,e|0);f=o;o=0;if(f&1){f=Na()|0;La(b|0);Ya(f|0)}else lb(b|0,864,112)}function en(a){a=a|0;var b=0;c[a>>2]=43068;o=0;ia(88,a|0,0);b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else{Gs(a+28|0);Gl(c[a+32>>2]|0);Gl(c[a+36>>2]|0);Gl(c[a+48>>2]|0);Gl(c[a+60>>2]|0);return}}function fn(a){a=a|0;en(a);return}function gn(a){a=a|0;en(a);cj(a);return}function hn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+40>>2]|0;e=a+32|0;f=a+36|0;if(d)do{d=d+-1|0;Qb[c[(c[e>>2]|0)+(d<<2)>>2]&15](b,a,c[(c[f>>2]|0)+(d<<2)>>2]|0)}while((d|0)!=0);return}function jn(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;Fs(b,a+28|0);i=d;return c[b>>2]|0}function kn(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));Es(d);return}function ln(a){a=a|0;en(a);return}function mn(a){a=a|0;en(a);cj(a);return}function nn(a){a=a|0;c[a>>2]=42760;Gs(a+4|0);return}function on(a){a=a|0;c[a>>2]=42760;Gs(a+4|0);cj(a);return}function pn(a){a=a|0;c[a>>2]=42760;Es(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function qn(a,b){a=a|0;b=b|0;return}function rn(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function sn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function tn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function un(a){a=a|0;return 0}function vn(a){a=a|0;return 0}function wn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+12|0;i=b+16|0;a:do{if((e|0)>0){g=d;d=0;while(1){f=c[h>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[h>>2]=f+1;f=a[f>>0]|0}else{f=Eb[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((f|0)==-1)break a;f=f&255}a[g>>0]=f;d=d+1|0;if((d|0)<(e|0))g=g+1|0;else break}}else d=0}while(0);return d|0}function xn(a){a=a|0;return-1}function yn(a){a=a|0;var b=0;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+1;a=d[a>>0]|0}return a|0}function zn(a,b){a=a|0;b=b|0;return-1}function An(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=b+24|0;j=b+28|0;a:do{if((f|0)>0){h=e;e=0;while(1){g=c[i>>2]|0;if(g>>>0>=(c[j>>2]|0)>>>0){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,d[h>>0]|0)|0)==-1)break a}else{k=a[h>>0]|0;c[i>>2]=g+1;a[g>>0]=k}e=e+1|0;if((e|0)<(f|0))h=h+1|0;else break}}else e=0}while(0);return e|0}function Bn(a,b){a=a|0;b=b|0;return-1}function Cn(a){a=a|0;c[a>>2]=42824;Gs(a+4|0);return}function Dn(a){a=a|0;c[a>>2]=42824;Gs(a+4|0);cj(a);return}function En(a){a=a|0;c[a>>2]=42824;Es(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function Fn(a,b){a=a|0;b=b|0;return}function Gn(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function Hn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function In(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function Jn(a){a=a|0;return 0}function Kn(a){a=a|0;return 0}function Ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+12|0;h=a+16|0;a:do{if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){e=Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((e|0)==-1)break a}else{c[g>>2]=e+4;e=c[e>>2]|0}c[f>>2]=e;b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0}while(0);return b|0}function Mn(a){a=a|0;return-1}function Nn(a){a=a|0;var b=0;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=c[a>>2]|0}return a|0}function On(a,b){a=a|0;b=b|0;return-1}function Pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+24|0;h=a+28|0;a:do{if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){if((Lb[c[(c[a>>2]|0)+52>>2]&63](a,c[f>>2]|0)|0)==-1)break a}else{i=c[f>>2]|0;c[g>>2]=e+4;c[e>>2]=i}b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0}while(0);return b|0}function Qn(a,b){a=a|0;b=b|0;return-1}function Rn(a){a=a|0;en(a+8|0);return}function Sn(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function Tn(a){a=a|0;en(a+8|0);cj(a);return}function Un(a){a=a|0;Tn(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Vn(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;a:do{if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){o=0;ia(65,e|0,b|0);d=o;o=0;b:do{if(d&1)d=Na(0)|0;else{do{if(a[e>>0]|0){d=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;d=ka(c[(c[d>>2]|0)+24>>2]|0,d|0)|0;g=o;o=0;if(!(g&1)){if((d|0)!=-1)break;g=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+g|0,c[b+(g+16)>>2]|1|0);g=o;o=0;if(!(g&1))break}d=Na(0)|0;ho(e);break b}}while(0);ho(e);break a}}while(0);Va(d|0)|0;o=0;ha(181,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=o;o=0;if(!(g&1)){Xa();break}d=Na()|0;o=0;xa(3);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else Ya(d|0)}}while(0);i=f;return b|0}function Wn(a){a=a|0;var b=0;b=a+16|0;c[b>>2]=c[b>>2]|1;if(!(c[a+20>>2]&1))return;else mb()}function Xn(a){a=a|0;en(a+8|0);return}function Yn(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function Zn(a){a=a|0;en(a+8|0);cj(a);return}function _n(a){a=a|0;Zn(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function $n(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;a:do{if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){o=0;ia(89,e|0,b|0);d=o;o=0;b:do{if(d&1)d=Na(0)|0;else{do{if(a[e>>0]|0){d=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;d=ka(c[(c[d>>2]|0)+24>>2]|0,d|0)|0;g=o;o=0;if(!(g&1)){if((d|0)!=-1)break;g=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+g|0,c[b+(g+16)>>2]|1|0);g=o;o=0;if(!(g&1))break}d=Na(0)|0;po(e);break b}}while(0);po(e);break a}}while(0);Va(d|0)|0;o=0;ha(181,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=o;o=0;if(!(g&1)){Xa();break}d=Na()|0;o=0;xa(3);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else Ya(d|0)}}while(0);i=f;return b|0}function ao(a,b){a=a|0;b=b|0;return}function bo(a){a=a|0;en(a+4|0);return}function co(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function eo(a){a=a|0;en(a+4|0);cj(a);return}function fo(a){a=a|0;eo(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function go(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)Vn(e)|0;a[b>>0]=1}return}function ho(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;do{if((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Za()|0):0){b=c[a>>2]|0;b=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;b=ka(c[(c[b>>2]|0)+24>>2]|0,b|0)|0;d=o;o=0;if(!(d&1)){if((b|0)!=-1)break;b=c[a>>2]|0;d=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+d|0,c[b+(d+16)>>2]|1|0);d=o;o=0;if(!(d&1))break}d=Na(0)|0;Va(d|0)|0;o=0;xa(3);d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}}}while(0);return}function io(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+20|0;l=q+16|0;n=q+8|0;e=q;o=0;ia(65,n|0,b|0);m=o;o=0;a:do{if(m&1){e=Na(0)|0;f=b;g=b;p=19}else{do{if(a[n>>0]|0){c[e>>2]=jn(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;o=0;m=ra(37,e|0,43392)|0;j=o;o=0;if(j&1){p=Na(0)|0;Gs(e);e=p}else{Gs(e);g=c[(c[b>>2]|0)+-12>>2]|0;j=c[b+(g+24)>>2]|0;f=b+g|0;g=b+(g+76)|0;e=c[g>>2]|0;do{if((e|0)==-1){c[k>>2]=jn(f)|0;o=0;e=ra(37,k|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(k);e=h<<24>>24;c[g>>2]=e;p=10;break}e=Na(0)|0;Gs(k)}else p=10}while(0);if((p|0)==10){r=c[(c[m>>2]|0)+16>>2]|0;c[l>>2]=j;o=0;c[k>>2]=c[l>>2];e=sa(r|0,m|0,k|0,f|0,e&255|0,d|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break}e=Na(0)|0}}ho(n);f=b;g=b;p=19;break a}}while(0);ho(n)}}while(0);do{if((p|0)==19){Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();break}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0)}}while(0);i=q;return b|0}function jo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+20|0;l=q+16|0;n=q+8|0;e=q;o=0;ia(65,n|0,b|0);m=o;o=0;a:do{if(m&1){e=Na(0)|0;f=b;g=b;p=19}else{do{if(a[n>>0]|0){c[e>>2]=jn(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;o=0;m=ra(37,e|0,43392)|0;j=o;o=0;if(j&1){p=Na(0)|0;Gs(e);e=p}else{Gs(e);g=c[(c[b>>2]|0)+-12>>2]|0;j=c[b+(g+24)>>2]|0;f=b+g|0;g=b+(g+76)|0;e=c[g>>2]|0;do{if((e|0)==-1){c[k>>2]=jn(f)|0;o=0;e=ra(37,k|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(k);e=h<<24>>24;c[g>>2]=e;p=10;break}e=Na(0)|0;Gs(k)}else p=10}while(0);if((p|0)==10){r=c[(c[m>>2]|0)+24>>2]|0;c[l>>2]=j;o=0;c[k>>2]=c[l>>2];e=sa(r|0,m|0,k|0,f|0,e&255|0,d|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break}e=Na(0)|0}}ho(n);f=b;g=b;p=19;break a}}while(0);ho(n)}}while(0);do{if((p|0)==19){Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();break}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0)}}while(0);i=q;return b|0}function ko(a){a=a|0;en(a+4|0);return}function lo(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function mo(a){a=a|0;en(a+4|0);cj(a);return}function no(a){a=a|0;mo(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function oo(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)$n(e)|0;a[b>>0]=1}return}function po(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;do{if((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Za()|0):0){b=c[a>>2]|0;b=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;b=ka(c[(c[b>>2]|0)+24>>2]|0,b|0)|0;d=o;o=0;if(!(d&1)){if((b|0)!=-1)break;b=c[a>>2]|0;d=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+d|0,c[b+(d+16)>>2]|1|0);d=o;o=0;if(!(d&1))break}d=Na(0)|0;Va(d|0)|0;o=0;xa(3);d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}}}while(0);return}function qo(a){a=a|0;return 57453}function ro(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)!=1&(c|0)<257)wm(a,b,c);else Gm(a,57462,35);return}function so(){if((a[1048]|0)==0?(Ha(1048)|0)!=0:0){c[10778]=43084;kb(72,43112,n|0)|0;Pa(1048)}return 43112}function to(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+8|0;g=e;j=d;h=c[j+4>>2]|0;d=g;c[d>>2]=c[j>>2];c[d+4>>2]=h;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];ym(a,f,b);c[a>>2]=43048;i=e;return}function uo(a){a=a|0;Bm(a);return}function vo(a){a=a|0;Bm(a);cj(a);return}function wo(a){a=a|0;en(a);cj(a);return}function xo(a){a=a|0;cj(a);return}function yo(a){a=a|0;return}function zo(a){a=a|0;return}function Ao(a){a=a|0;cj(a);return}function Bo(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do{if((e|0)==(f|0))h=6;else while(1){if((c|0)==(d|0)){c=-1;break a}b=a[c>>0]|0;g=a[e>>0]|0;if(b<<24>>24>24){c=-1;break a}if(g<<24>>24>24){c=1;break a}c=c+1|0;e=e+1|0;if((e|0)==(f|0)){h=6;break}}}while(0);if((h|0)==6)c=(c|0)!=(d|0)&1;return c|0}function Co(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bn(a,c,d);return}function Do(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)==(d|0))b=0;else{b=0;do{b=(a[c>>0]|0)+(b<<4)|0;e=b&-268435456;b=(e>>>24|e)^b;c=c+1|0}while((c|0)!=(d|0))}return b|0}function Eo(a){a=a|0;return}function Fo(a){a=a|0;cj(a);return}function Go(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do{if((e|0)==(f|0))h=6;else while(1){if((b|0)==(d|0)){b=-1;break a}a=c[b>>2]|0;g=c[e>>2]|0;if((a|0)<(g|0)){b=-1;break a}if((g|0)<(a|0)){b=1;break a}b=b+4|0;e=e+4|0;if((e|0)==(f|0)){h=6;break}}}while(0);if((h|0)==6)b=(b|0)!=(d|0)&1;return b|0}function Ho(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;cn(a,c,d);return}function Io(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))a=0;else{a=0;do{a=(c[b>>2]|0)+(a<<4)|0;e=a&-268435456;a=(e>>>24|e)^a;b=b+4|0}while((b|0)!=(d|0))}return a|0}function Jo(a){a=a|0;return}function Ko(a){a=a|0;cj(a);return}function Lo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;q=s+56|0;j=s+52|0;n=s+48|0;k=s+44|0;l=s+40|0;m=s+36|0;p=s+32|0;t=s+8|0;r=s;a:do{if(!(c[f+4>>2]&1)){c[n>>2]=-1;t=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[j>>2]=c[k>>2];c[q>>2]=c[l>>2];j=Db[t&63](b,j,q,f,g,n)|0;c[d>>2]=j;switch(c[n>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{j=jn(f)|0;c[m>>2]=j;o=0;b=ra(37,m|0,44220)|0;n=o;o=0;do{if(!(n&1)){pm(j)|0;j=jn(f)|0;c[p>>2]=j;o=0;l=ra(37,p|0,44360)|0;p=o;o=0;if(p&1){t=Na()|0;pm(j)|0;j=t;break}pm(j)|0;o=0;ia(c[(c[l>>2]|0)+24>>2]|0,t|0,l|0);p=o;o=0;if(!(p&1)){k=t+12|0;o=0;ia(c[(c[l>>2]|0)+28>>2]|0,k|0,l|0);p=o;o=0;if(!(p&1)){c[r>>2]=c[e>>2];o=0;c[q>>2]=c[r>>2];j=ea(7,d|0,q|0,t|0,t+24|0,b|0,g|0,1)|0;g=o;o=0;if(g&1){j=Na()|0;Im(t+12|0);Im(t);break}else{a[h>>0]=(j|0)==(t|0)&1;j=c[d>>2]|0;Im(t+12|0);Im(t);break a}}}else k=t;j=Na()|0;l=D;if((t|0)!=(k|0))do{k=k+-12|0;Im(k)}while((k|0)!=(t|0))}else{t=Na()|0;pm(j)|0;j=t}}while(0);Ya(j|0)}}while(0);i=s;return j|0}function Mo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=yu(a,k,j,e,f,g)|0;i=h;return a|0}function No(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=zu(a,k,j,e,f,g)|0;i=h;return a|0}function Oo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Au(a,k,j,e,f,g)|0;i=h;return a|0}function Po(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Bu(a,k,j,e,f,g)|0;i=h;return a|0}function Qo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Cu(a,k,j,e,f,g)|0;i=h;return a|0}function Ro(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Du(a,k,j,e,f,g)|0;i=h;return a|0}function So(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Eu(a,k,j,e,f,g)|0;i=h;return a|0}function To(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Fu(a,k,j,e,f,g)|0;i=h;return a|0}function Uo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Gu(a,k,j,e,f,g)|0;i=h;return a|0}function Vo(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;C=i;i=i+240|0;x=C;s=C+208|0;E=C+32|0;b=C+28|0;D=C+16|0;w=C+12|0;u=C+48|0;v=C+8|0;t=C+4|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;o=0;g=ka(68,g|0)|0;r=o;o=0;do{if(r&1)b=Na()|0;else{c[b>>2]=g;o=0;b=ra(37,b|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,va(c[(c[b>>2]|0)+32>>2]|0,b|0,57498,57524,s|0)|0,r=o,o=0,!(r&1)):0){pm(g)|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;if(!(a[D>>0]&1))b=10;else b=(c[D>>2]&-2)+-1|0;o=0;wa(8,D|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){q=D+8|0;r=D+1|0;g=(a[D>>0]&1)==0?r:c[q>>2]|0;c[w>>2]=g;c[v>>2]=u;c[t>>2]=0;p=D+4|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){F=29;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){F=29;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;F=19;break}}else F=19}while(0);if((F|0)==19){F=0;if(l){k=0;break}else k=0}l=a[D>>0]|0;l=(l&1)==0?(l&255)>>>1:c[p>>2]|0;if((c[w>>2]|0)==(g+l|0)){o=0;wa(8,D|0,l<<1|0,0);n=o;o=0;if(n&1){F=29;break}if(!(a[D>>0]&1))g=10;else g=(c[D>>2]&-2)+-1|0;o=0;wa(8,D|0,g|0,0);n=o;o=0;if(n&1){F=29;break}g=(a[D>>0]&1)==0?r:c[q>>2]|0;c[w>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=29;break}}else l=d[l>>0]|0;if(Wo(l&255,16,g,w,t,0,E,u,v,s)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=29;break}else continue}else{c[m>>2]=k+1;continue}}if((F|0)==29){b=Na()|0;break}o=0;wa(8,D|0,(c[w>>2]|0)-g|0,0);G=o;o=0;if((!(G&1)?(y=a[D>>0]|0,z=c[q>>2]|0,o=0,A=ua(3)|0,G=o,o=0,!(G&1)):0)?(o=0,c[x>>2]=j,B=va(16,((y&1)==0?r:z)|0,A|0,58882,x|0)|0,G=o,o=0,!(G&1)):0){if((B|0)!=1)c[h>>2]=4;if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=30;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;G=o;o=0;if(G&1){F=30;break a}if((b|0)==-1){c[f>>2]=0;F=55;break}}if(!g)F=56}else F=55}while(0);if((F|0)==55?g:0)F=56;if((F|0)==56)c[h>>2]=c[h>>2]|2;G=c[e>>2]|0;Im(D);Im(E);i=C;return G|0}else F=30}else F=30}while(0);if((F|0)==30)b=Na()|0;Im(D);break}b=Na()|0;pm(g)|0}}while(0);Im(E);Ya(b|0);return 0}function Wo(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do{if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5}while(0);a:do{if((n|0)==5){n=a[i>>0]|0;if(b<<24>>24==h<<24>>24?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+26|0;m=l;while(1){if((a[m>>0]|0)==b<<24>>24)break;m=m+1|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[57498+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[57498+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}}while(0);return m|0}function Xo(){var b=0,d=0;do{if((a[1968]|0)==0?(Ha(1968)|0)!=0:0){o=0;b=ma(31,2147483647,58885,0)|0;d=o;o=0;if(d&1){d=Na()|0;sb(1968);Ya(d|0)}else{c[11196]=b;Pa(1968);break}}}while(0);return c[11196]|0}function Yo(a){a=a|0;return}function Zo(a){a=a|0;cj(a);return}function _o(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;q=s+56|0;j=s+52|0;n=s+48|0;k=s+44|0;l=s+40|0;m=s+36|0;p=s+32|0;t=s+8|0;r=s;a:do{if(!(c[f+4>>2]&1)){c[n>>2]=-1;t=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[j>>2]=c[k>>2];c[q>>2]=c[l>>2];j=Db[t&63](b,j,q,f,g,n)|0;c[d>>2]=j;switch(c[n>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{j=jn(f)|0;c[m>>2]=j;o=0;b=ra(37,m|0,44212)|0;n=o;o=0;do{if(!(n&1)){pm(j)|0;j=jn(f)|0;c[p>>2]=j;o=0;l=ra(37,p|0,44368)|0;p=o;o=0;if(p&1){t=Na()|0;pm(j)|0;j=t;break}pm(j)|0;o=0;ia(c[(c[l>>2]|0)+24>>2]|0,t|0,l|0);p=o;o=0;if(!(p&1)){k=t+12|0;o=0;ia(c[(c[l>>2]|0)+28>>2]|0,k|0,l|0);p=o;o=0;if(!(p&1)){c[r>>2]=c[e>>2];o=0;c[q>>2]=c[r>>2];j=ea(8,d|0,q|0,t|0,t+24|0,b|0,g|0,1)|0;g=o;o=0;if(g&1){j=Na()|0;Wm(t+12|0);Wm(t);break}else{a[h>>0]=(j|0)==(t|0)&1;j=c[d>>2]|0;Wm(t+12|0);Wm(t);break a}}}else k=t;j=Na()|0;l=D;if((t|0)!=(k|0))do{k=k+-12|0;Wm(k)}while((k|0)!=(t|0))}else{t=Na()|0;pm(j)|0;j=t}}while(0);Ya(j|0)}}while(0);i=s;return j|0}function $o(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ju(a,k,j,e,f,g)|0;i=h;return a|0}function ap(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ku(a,k,j,e,f,g)|0;i=h;return a|0}function bp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Lu(a,k,j,e,f,g)|0;i=h;return a|0}function cp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Mu(a,k,j,e,f,g)|0;i=h;return a|0}function dp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Nu(a,k,j,e,f,g)|0;i=h;return a|0}function ep(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ou(a,k,j,e,f,g)|0;i=h;return a|0}function fp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Pu(a,k,j,e,f,g)|0;i=h;return a|0}function gp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Qu(a,k,j,e,f,g)|0;i=h;return a|0}function hp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ru(a,k,j,e,f,g)|0;i=h;return a|0}function ip(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;B=i;i=i+320|0;w=B;r=B+208|0;D=B+32|0;b=B+28|0;C=B+16|0;v=B+12|0;t=B+48|0;u=B+8|0;s=B+4|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;f=ka(68,f|0)|0;q=o;o=0;do{if(q&1)b=Na()|0;else{c[b>>2]=f;o=0;b=ra(37,b|0,44212)|0;q=o;o=0;if(!(q&1)?(o=0,va(c[(c[b>>2]|0)+48>>2]|0,b|0,57498,57524,r|0)|0,q=o,o=0,!(q&1)):0){pm(f)|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;if(!(a[C>>0]&1))b=10;else b=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,b|0,0);q=o;o=0;a:do{if(!(q&1)){p=C+8|0;q=C+1|0;b=(a[C>>0]&1)==0?q:c[p>>2]|0;c[v>>2]=b;c[u>>2]=t;c[s>>2]=0;n=C+4|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){E=30;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){E=30;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k){j=l;break}else{j=l;break b}else{c[e>>2]=0;E=20;break}}else E=20}while(0);if((E|0)==20){E=0;if(k){j=0;break}else j=0}k=a[C>>0]|0;k=(k&1)==0?(k&255)>>>1:c[n>>2]|0;if((c[v>>2]|0)==(b+k|0)){o=0;wa(8,C|0,k<<1|0,0);m=o;o=0;if(m&1){E=30;break}if(!(a[C>>0]&1))b=10;else b=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,b|0,0);m=o;o=0;if(m&1){E=30;break}b=(a[C>>0]&1)==0?q:c[p>>2]|0;c[v>>2]=b+k}l=f+12|0;k=c[l>>2]|0;m=f+16|0;if((k|0)==(c[m>>2]|0)){o=0;k=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=30;break}}else k=c[k>>2]|0;if(jp(k,16,b,v,s,0,D,t,u,r)|0)break;j=c[l>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=30;break}else{j=f;continue}}else{c[l>>2]=j+4;j=f;continue}}if((E|0)==30){b=Na()|0;break}o=0;wa(8,C|0,(c[v>>2]|0)-b|0,0);F=o;o=0;if((!(F&1)?(x=a[C>>0]|0,y=c[p>>2]|0,o=0,z=ua(3)|0,F=o,o=0,!(F&1)):0)?(o=0,c[w>>2]=h,A=va(16,((x&1)==0?q:y)|0,z|0,58882,w|0)|0,F=o,o=0,!(F&1)):0){if((A|0)!=1)c[g>>2]=4;if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=31;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;F=o;o=0;if(F&1){E=31;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{E=59;break}else{c[e>>2]=0;E=57;break}}else E=57}while(0);if((E|0)==57?f:0)E=59;if((E|0)==59)c[g>>2]=c[g>>2]|2;F=c[d>>2]|0;Im(C);Im(D);i=B;return F|0}else E=31}else E=31}while(0);if((E|0)==31)b=Na()|0;Im(C);break}b=Na()|0;pm(f)|0}}while(0);Im(D);Ya(b|0);return 0}function jp(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do{if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5}while(0);a:do{if((n|0)==5){n=a[i>>0]|0;if((b|0)==(h|0)?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+104|0;m=l;while(1){if((c[m>>2]|0)==(b|0))break;m=m+4|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;i=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((i|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[57498+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[57498+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}}while(0);return m|0}function kp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;k=l;d=jn(d)|0;c[k>>2]=d;o=0;g=ra(37,k|0,44220)|0;m=o;o=0;if((((!(m&1)?(o=0,va(c[(c[g>>2]|0)+32>>2]|0,g|0,57498,57524,e|0)|0,m=o,o=0,!(m&1)):0)?(o=0,j=ra(37,k|0,44360)|0,m=o,o=0,!(m&1)):0)?(o=0,h=ka(c[(c[j>>2]|0)+16>>2]|0,j|0)|0,m=o,o=0,!(m&1)):0)?(a[f>>0]=h,o=0,ia(c[(c[j>>2]|0)+20>>2]|0,b|0,j|0),m=o,o=0,!(m&1)):0){pm(d)|0;i=l;return}m=Na()|0;pm(d)|0;Ya(m|0)}function lp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0;n=i;i=i+16|0;m=n;d=jn(d)|0;c[m>>2]=d;o=0;h=ra(37,m|0,44220)|0;p=o;o=0;if(((((!(p&1)?(o=0,va(c[(c[h>>2]|0)+32>>2]|0,h|0,57498,57530,e|0)|0,p=o,o=0,!(p&1)):0)?(o=0,l=ra(37,m|0,44360)|0,p=o,o=0,!(p&1)):0)?(o=0,j=ka(c[(c[l>>2]|0)+12>>2]|0,l|0)|0,p=o,o=0,!(p&1)):0)?(a[f>>0]=j,o=0,k=ka(c[(c[l>>2]|0)+16>>2]|0,l|0)|0,p=o,o=0,!(p&1)):0)?(a[g>>0]=k,o=0,ia(c[(c[l>>2]|0)+20>>2]|0,b|0,l|0),p=o,o=0,!(p&1)):0){pm(d)|0;i=n;return}p=Na()|0;pm(d)|0;Ya(p|0)}function mp(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do{if(b<<24>>24==i<<24>>24)if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if(b<<24>>24==j<<24>>24?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+32|0;p=o;while(1){if((a[p>>0]|0)==b<<24>>24)break;p=p+1|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;if((i|0)>31)p=-1;else{j=a[57498+i>>0]|0;switch(i|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=j;p=0;break a}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>21){p=0;break a}c[n>>2]=(c[n>>2]|0)+1;p=0;break a}}}}}while(0);return p|0}function np(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;j=k;b=jn(b)|0;c[j>>2]=b;o=0;f=ra(37,j|0,44212)|0;l=o;o=0;if((((!(l&1)?(o=0,va(c[(c[f>>2]|0)+48>>2]|0,f|0,57498,57524,d|0)|0,l=o,o=0,!(l&1)):0)?(o=0,h=ra(37,j|0,44368)|0,l=o,o=0,!(l&1)):0)?(o=0,g=ka(c[(c[h>>2]|0)+16>>2]|0,h|0)|0,l=o,o=0,!(l&1)):0)?(c[e>>2]=g,o=0,ia(c[(c[h>>2]|0)+20>>2]|0,a|0,h|0),l=o,o=0,!(l&1)):0){pm(b)|0;i=k;return}l=Na()|0;pm(b)|0;Ya(l|0)}function op(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;l=m;b=jn(b)|0;c[l>>2]=b;o=0;g=ra(37,l|0,44212)|0;n=o;o=0;if(((((!(n&1)?(o=0,va(c[(c[g>>2]|0)+48>>2]|0,g|0,57498,57530,d|0)|0,n=o,o=0,!(n&1)):0)?(o=0,k=ra(37,l|0,44368)|0,n=o,o=0,!(n&1)):0)?(o=0,h=ka(c[(c[k>>2]|0)+12>>2]|0,k|0)|0,n=o,o=0,!(n&1)):0)?(c[e>>2]=h,o=0,j=ka(c[(c[k>>2]|0)+16>>2]|0,k|0)|0,n=o,o=0,!(n&1)):0)?(c[f>>2]=j,o=0,ia(c[(c[k>>2]|0)+20>>2]|0,a|0,k|0),n=o,o=0,!(n&1)):0){pm(b)|0;i=m;return}n=Na()|0;pm(b)|0;Ya(n|0)}function pp(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do{if((b|0)==(i|0))if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if((b|0)==(j|0)?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+128|0;p=o;while(1){if((c[p>>2]|0)==(b|0))break;p=p+4|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;p=i>>2;if((i|0)<=124){j=a[57498+p>>0]|0;switch(p|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;break}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}}}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>84)p=0;else{c[n>>2]=(c[n>>2]|0)+1;p=0}}else p=-1}}while(0);return p|0}function qp(a){a=a|0;return}function rp(a){a=a|0;cj(a);return}function sp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n;a:do{if(!(c[e+4>>2]&1)){m=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Mb[m&31](b,h,e,f,g&1)|0}else{h=jn(e)|0;c[k>>2]=h;o=0;j=ra(37,k|0,44360)|0;l=o;o=0;b:do{if(l&1){n=Na()|0;pm(h)|0;h=n}else{pm(h)|0;h=c[j>>2]|0;if(g)Cb[c[h+24>>2]&127](m,j);else Cb[c[h+28>>2]&127](m,j);b=a[m>>0]|0;l=(b&1)==0;h=m+1|0;g=m+8|0;k=l?h:m+1|0;h=l?h:c[m+8>>2]|0;l=m+4|0;e=(b&1)==0;c:do{if((h|0)!=((e?k:c[g>>2]|0)+(e?(b&255)>>>1:c[l>>2]|0)|0)){d:while(1){j=a[h>>0]|0;f=c[d>>2]|0;do{if(f){e=f+24|0;b=c[e>>2]|0;if((b|0)!=(c[f+28>>2]|0)){c[e>>2]=b+1;a[b>>0]=j;break}o=0;j=ra(c[(c[f>>2]|0)+52>>2]|0,f|0,j&255|0)|0;b=o;o=0;if(b&1)break d;if((j|0)==-1)c[d>>2]=0}}while(0);h=h+1|0;b=a[m>>0]|0;e=(b&1)==0;if((h|0)==((e?k:c[g>>2]|0)+(e?(b&255)>>>1:c[l>>2]|0)|0))break c}h=Na()|0;Im(m);break b}}while(0);h=c[d>>2]|0;Im(m);break a}}while(0);Ya(h|0)}}while(0);i=n;return h|0}function tp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+64|0;h=n;q=n+56|0;r=n+44|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,1,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(1,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=cd(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function up(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=a[c>>0]|0;if(f<<24>>24){g=c;while(1){g=g+1|0;c=b+1|0;a[b>>0]=f;f=a[g>>0]|0;if(!(f<<24>>24)){b=c;break}else b=c}}a:do{switch(e&74|0){case 64:{a[b>>0]=111;break}case 8:if(!(e&16384)){a[b>>0]=120;break a}else{a[b>>0]=88;break a}default:if(d){a[b>>0]=100;break a}else{a[b>>0]=117;break a}}}while(0);return}function vp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do{switch(c[e+4>>2]&176|0){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}}while(0);return b|0}function wp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;t=Is(j,44220)|0;m=Is(j,44360)|0;Cb[c[(c[m>>2]|0)+20>>2]&127](w,m);r=a[w>>0]|0;s=w+4|0;a:do{if(!(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0)){o=0;va(c[(c[t>>2]|0)+32>>2]|0,t|0,b|0,e|0,f|0)|0;u=o;o=0;if(u&1)u=5;else{j=f+(e-b)|0;c[h>>2]=j;u=29}}else{c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,j|0)|0;r=o;o=0;if(r&1){u=5;break a}l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=j;l=b+1|0;break}default:l=b}b:do{if((e-l|0)>1?(a[l>>0]|0)==48:0){j=l+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break b}o=0;k=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,48)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+1;a[r>>0]=k;o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,a[j>>0]|0)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+1;a[r>>0]=j;l=l+2|0}}while(0);if((l|0)!=(e|0)?(n=e+-1|0,l>>>0>>0):0){k=l;j=n;do{r=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=r;k=k+1|0;j=j+-1|0}while(k>>>0>>0)}o=0;n=ka(c[(c[m>>2]|0)+16>>2]|0,m|0)|0;r=o;o=0;if(!(r&1)){p=w+8|0;q=w+1|0;c:do{if(l>>>0>>0){j=0;k=0;r=l;while(1){m=a[((a[w>>0]&1)==0?q:c[p>>2]|0)+k>>0]|0;if(m<<24>>24!=0&(j|0)==(m<<24>>24|0)){j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=n;j=a[w>>0]|0;m=0;k=(k>>>0<(((j&1)==0?(j&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+k|0}else m=j;o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,a[r>>0]|0)|0;x=o;o=0;if(x&1)break;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=j;r=r+1|0;if(r>>>0>=e>>>0)break c;else j=m+1|0}j=Na()|0;break a}}while(0);k=b;j=f+(l-k)|0;b=c[h>>2]|0;if((j|0)==(b|0)){b=k;u=29}else{b=b+-1|0;if(j>>>0>>0)do{x=a[j>>0]|0;a[j>>0]=a[b>>0]|0;a[b>>0]=x;j=j+1|0;b=b+-1|0}while(j>>>0>>0);b=k;j=c[h>>2]|0;u=29}}else u=5}}while(0);if((u|0)==5)j=Na()|0;else if((u|0)==29){c[g>>2]=(d|0)==(e|0)?j:f+(d-b)|0;Im(w);i=v;return}Im(w);Ya(j|0)}function xp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+96|0;h=n+8|0;a=n;q=n+74|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,1,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,22,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(1,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=cd(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function yp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+64|0;h=n;q=n+56|0;r=n+44|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,0,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(1,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=cd(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function zp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+112|0;h=n+8|0;a=n;q=n+75|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,0,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,23,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(1,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=cd(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function Ap(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+176|0;u=z+84|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+88|0;t=z+80|0;k=z+118|0;y=z+76|0;x=z+72|0;v=z+68|0;w=z+64|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58898,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,c[q>>2]=c[d+8>>2],h[q+8>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<1)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(2,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(39,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Bp(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}h=d&260;f=d>>>14;i=(h|0)==260;if(i)g=0;else{a[b>>0]=46;a[b+1>>0]=42;b=b+2|0;g=1}d=a[c>>0]|0;if(d<<24>>24){e=b;while(1){c=c+1|0;b=e+1|0;a[e>>0]=d;d=a[c>>0]|0;if(!(d<<24>>24))break;else e=b}}a:do{switch(h|0){case 4:if(!(f&1)){a[b>>0]=102;break a}else{a[b>>0]=70;break a}case 256:if(!(f&1)){a[b>>0]=101;break a}else{a[b>>0]=69;break a}default:{d=(f&1|0)!=0;if(i)if(d){a[b>>0]=65;break a}else{a[b>>0]=97;break a}else if(d){a[b>>0]=71;break a}else{a[b>>0]=103;break a}}}}while(0);return g|0}function Cp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=i;i=i+16|0;A=z;y=Is(j,44220)|0;w=Is(j,44360)|0;Cb[c[(c[w>>2]|0)+20>>2]&127](A,w);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,j|0)|0;x=o;o=0;if(x&1)v=8;else{n=c[h>>2]|0;c[h>>2]=n+1;a[n>>0]=j;n=b+1|0;v=10}break}default:{n=b;v=10}}a:do{if((v|0)==10){x=e;b:do{if((x-n|0)>1?(a[n>>0]|0)==48:0){l=n+1|0;switch(a[l>>0]|0){case 88:case 120:break;default:{v=11;break b}}o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,48)|0;u=o;o=0;if(u&1){v=8;break a}u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=j;n=n+2|0;o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,a[l>>0]|0)|0;u=o;o=0;if(u&1){v=8;break a}u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=j;if(n>>>0>>0){j=n;while(1){l=a[j>>0]|0;o=0;m=ua(3)|0;u=o;o=0;if(u&1)break;o=0;l=ra(39,l<<24>>24|0,m|0)|0;u=o;o=0;if(u&1)break;if(!l){u=n;break b}j=j+1|0;if(j>>>0>=e>>>0){u=n;break b}}j=Na()|0;break a}else{u=n;j=n}}else v=11}while(0);c:do{if((v|0)==11)if(n>>>0>>0){j=n;while(1){l=a[j>>0]|0;o=0;m=ua(3)|0;u=o;o=0;if(u&1)break;o=0;l=ra(40,l<<24>>24|0,m|0)|0;u=o;o=0;if(u&1)break;if(!l){u=n;break c}j=j+1|0;if(j>>>0>=e>>>0){u=n;break c}}j=Na()|0;break a}else{u=n;j=n}}while(0);s=a[A>>0]|0;t=A+4|0;if(((s&1)==0?(s&255)>>>1:c[t>>2]|0)|0){if((u|0)!=(j|0)?(p=j+-1|0,u>>>0

>>0):0){m=u;l=p;do{s=a[m>>0]|0;a[m>>0]=a[l>>0]|0;a[l>>0]=s;m=m+1|0;l=l+-1|0}while(m>>>0>>0)}o=0;p=ka(c[(c[w>>2]|0)+16>>2]|0,w|0)|0;s=o;o=0;if(s&1){v=8;break}q=A+8|0;r=A+1|0;d:do{if(u>>>0>>0){l=0;m=0;s=u;while(1){n=a[((a[A>>0]&1)==0?r:c[q>>2]|0)+m>>0]|0;if(n<<24>>24>0&(l|0)==(n<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=p;l=a[A>>0]|0;n=0;m=(m>>>0<(((l&1)==0?(l&255)>>>1:c[t>>2]|0)+-1|0)>>>0&1)+m|0}else n=l;o=0;l=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,a[s>>0]|0)|0;B=o;o=0;if(B&1)break;B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=l;s=s+1|0;if(s>>>0>=j>>>0)break d;else l=n+1|0}j=Na()|0;break a}}while(0);l=f+(u-b)|0;m=c[h>>2]|0;if((l|0)!=(m|0)?(k=m+-1|0,l>>>0>>0):0){do{B=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=B;l=l+1|0;k=k+-1|0}while(l>>>0>>0);l=y}else l=y}else{o=0;va(c[(c[y>>2]|0)+32>>2]|0,y|0,u|0,j|0,c[h>>2]|0)|0;B=o;o=0;if(B&1){v=8;break}c[h>>2]=(c[h>>2]|0)+(j-u);l=y}e:do{if(j>>>0>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46)break;o=0;k=ra(c[(c[l>>2]|0)+28>>2]|0,y|0,k|0)|0;B=o;o=0;if(B&1){v=4;break}B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=k;j=j+1|0;if(j>>>0>=e>>>0)break e}if((v|0)==4){j=Na()|0;break a}o=0;k=ka(c[(c[w>>2]|0)+12>>2]|0,w|0)|0;B=o;o=0;if(B&1){v=8;break a}B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=k;j=j+1|0}}while(0);o=0;va(c[(c[y>>2]|0)+32>>2]|0,y|0,j|0,e|0,c[h>>2]|0)|0;B=o;o=0;if(B&1)v=8;else{B=(c[h>>2]|0)+(x-j)|0;c[h>>2]=B;c[g>>2]=(d|0)==(e|0)?B:f+(d-b)|0;Im(A);i=z;return}}}while(0);if((v|0)==8)j=Na()|0;Im(A);Ya(j|0)}function Dp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+176|0;u=z+76|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+80|0;t=z+72|0;k=z+110|0;y=z+68|0;x=z+64|0;v=z+60|0;w=z+56|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58899,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,h[q>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<1)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(2,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(39,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Ep(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+80|0;l=q;b=q+70|0;n=q+12|0;p=q+32|0;k=q+8|0;m=q+4|0;a[b>>0]=a[58901]|0;a[b+1>>0]=a[58902]|0;a[b+2>>0]=a[58903]|0;a[b+3>>0]=a[58904]|0;a[b+4>>0]=a[58905]|0;a[b+5>>0]=a[58906]|0;h=Xo()|0;c[l>>2]=g;b=Su(n,20,h,b,l)|0;g=n+b|0;h=vp(n,g,e)|0;j=jn(e)|0;c[k>>2]=j;o=0;k=ra(37,k|0,44220)|0;r=o;o=0;if(r&1){r=Na()|0;pm(j)|0;Ya(r|0)}else{pm(j)|0;Pb[c[(c[k>>2]|0)+32>>2]&31](k,n,g,p)|0;r=p+b|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];r=cd(l,p,(h|0)==(g|0)?r:p+(h-n)|0,r,e,f)|0;i=q;return r|0}return 0}function Fp(a){a=a|0;return}function Gp(a){a=a|0;cj(a);return}function Hp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+20|0;j=m+16|0;k=m+12|0;l=m;a:do{if(!(c[e+4>>2]&1)){l=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Mb[l&31](b,h,e,f,g&1)|0}else{h=jn(e)|0;c[k>>2]=h;o=0;j=ra(37,k|0,44368)|0;k=o;o=0;b:do{if(k&1){m=Na()|0;pm(h)|0;h=m}else{pm(h)|0;h=c[j>>2]|0;if(g)Cb[c[h+24>>2]&127](l,j);else Cb[c[h+28>>2]&127](l,j);b=a[l>>0]|0;e=(b&1)==0;h=l+4|0;g=l+8|0;k=e?h:l+4|0;h=e?h:c[l+8>>2]|0;e=(b&1)==0;c:do{if((h|0)!=((e?k:c[g>>2]|0)+((e?(b&255)>>>1:c[k>>2]|0)<<2)|0)){while(1){j=c[h>>2]|0;f=c[d>>2]|0;if(f){e=f+24|0;b=c[e>>2]|0;if((b|0)==(c[f+28>>2]|0)){o=0;j=ra(c[(c[f>>2]|0)+52>>2]|0,f|0,j|0)|0;b=o;o=0;if(b&1)break}else{c[e>>2]=b+4;c[b>>2]=j}if((j|0)==-1)c[d>>2]=0}h=h+4|0;b=a[l>>0]|0;e=(b&1)==0;if((h|0)==((e?k:c[g>>2]|0)+((e?(b&255)>>>1:c[k>>2]|0)<<2)|0))break c}h=Na()|0;Wm(l);break b}}while(0);h=c[d>>2]|0;Wm(l);break a}}while(0);Ya(h|0)}}while(0);i=m;return h|0}function Ip(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+128|0;h=n;q=n+116|0;r=n+104|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,1,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(3,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=Uu(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function Jp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;t=Is(j,44212)|0;m=Is(j,44368)|0;Cb[c[(c[m>>2]|0)+20>>2]&127](w,m);r=a[w>>0]|0;s=w+4|0;a:do{if(!(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0)){o=0;va(c[(c[t>>2]|0)+48>>2]|0,t|0,b|0,e|0,f|0)|0;u=o;o=0;if(u&1)u=5;else{j=f+(e-b<<2)|0;c[h>>2]=j;u=28}}else{c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,j|0)|0;r=o;o=0;if(r&1){u=5;break a}l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=j;l=b+1|0;break}default:l=b}b:do{if((e-l|0)>1?(a[l>>0]|0)==48:0){j=l+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{r=l;break b}}o=0;k=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,48)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+4;c[r>>2]=k;o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,a[j>>0]|0)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+4;c[r>>2]=j;r=l+2|0}else r=l}while(0);if((r|0)!=(e|0)?(n=e+-1|0,r>>>0>>0):0){k=r;j=n;do{q=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=q;k=k+1|0;j=j+-1|0}while(k>>>0>>0)}o=0;m=ka(c[(c[m>>2]|0)+16>>2]|0,m|0)|0;q=o;o=0;if(!(q&1)){n=w+8|0;p=w+1|0;c:do{if(r>>>0>>0){j=0;k=0;q=r;while(1){l=a[((a[w>>0]&1)==0?p:c[n>>2]|0)+k>>0]|0;if(l<<24>>24!=0&(j|0)==(l<<24>>24|0)){j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=m;j=a[w>>0]|0;l=0;k=(k>>>0<(((j&1)==0?(j&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+k|0}else l=j;o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,a[q>>0]|0)|0;x=o;o=0;if(x&1)break;x=c[h>>2]|0;c[h>>2]=x+4;c[x>>2]=j;q=q+1|0;if(q>>>0>=e>>>0)break c;else j=l+1|0}j=Na()|0;break a}}while(0);l=b;j=f+(r-l<<2)|0;k=c[h>>2]|0;if((j|0)!=(k|0)){b=k+-4|0;if(j>>>0>>0){do{x=c[j>>2]|0;c[j>>2]=c[b>>2];c[b>>2]=x;j=j+4|0;b=b+-4|0}while(j>>>0>>0);b=l;j=k;u=28}else{b=l;j=k;u=28}}else{b=l;u=28}}else u=5}}while(0);if((u|0)==5)j=Na()|0;else if((u|0)==28){c[g>>2]=(d|0)==(e|0)?j:f+(d-b<<2)|0;Im(w);i=v;return}Im(w);Ya(j|0)}function Kp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+224|0;h=n+8|0;a=n;q=n+196|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,1,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,22,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(3,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=Uu(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function ut(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+16|0;s=u;q=u+8|0;a:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break a;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}}while(0);c[k>>2]=h;c[g>>2]=e;n=j;r=b+8|0;b:do{if(!((h|0)==(j|0)|(e|0)==(f|0))){b=h;m=l;c:while(1){w=d;h=c[w+4>>2]|0;l=s;c[l>>2]=c[w>>2];c[l+4>>2]=h;l=qk(c[r>>2]|0)|0;o=0;h=sa(21,b|0,g|0,m-e>>2|0,n-b|0,d|0)|0;w=o;o=0;if(w&1){v=9;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=8;break}switch(h|0){case 0:{p=1;break b}case-1:{l=b;v=14;break c}default:{}}l=(c[k>>2]|0)+h|0;c[k>>2]=l;if((l|0)==(j|0)){v=27;break}if((m|0)==(f|0)){e=c[g>>2]|0;b=l;l=f}else{l=qk(c[r>>2]|0)|0;o=0;e=ma(34,q|0,0,d|0)|0;w=o;o=0;if(w&1){v=35;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=34;break}if((e|0)==-1){p=2;break b}if(e>>>0>(n-(c[k>>2]|0)|0)>>>0){p=1;break b}if(e){l=q;while(1){m=a[l>>0]|0;w=c[k>>2]|0;c[k>>2]=w+1;a[w>>0]=m;e=e+-1|0;if(!e)break;else l=l+1|0}}e=(c[g>>2]|0)+4|0;c[g>>2]=e;d:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break d;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}}while(0);b=c[k>>2]|0}if((b|0)==(j|0)|(e|0)==(f|0)){v=47;break b}else m=l}if((v|0)==8){w=Na(0)|0;ec(w)}else if((v|0)==9){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==14){c[k>>2]=l;e:do{if((e|0)!=(c[g>>2]|0)){while(1){w=c[e>>2]|0;b=qk(c[r>>2]|0)|0;o=0;l=ma(34,l|0,w|0,s|0)|0;w=o;o=0;if(w&1){t=b;break}if((b|0)!=0?(o=0,ka(75,b|0)|0,w=o,o=0,w&1):0){v=18;break}if((l|0)==-1)break e;l=(c[k>>2]|0)+l|0;c[k>>2]=l;e=e+4|0;if((e|0)==(c[g>>2]|0))break e}if((v|0)==18){w=Na(0)|0;ec(w)}e=Na()|0;if((t|0)!=0?(o=0,ka(75,t|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}}while(0);c[g>>2]=e;p=2;break}else if((v|0)==27){e=c[g>>2]|0;v=47;break}else if((v|0)==34){w=Na(0)|0;ec(w)}else if((v|0)==35){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}}else v=47}while(0);if((v|0)==47)p=(e|0)!=(f|0)&1;i=u;return p|0}function vt(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+16|0;t=u;a:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break a;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}}while(0);c[k>>2]=h;c[g>>2]=e;p=j;r=b+8|0;b:do{if(!((h|0)==(j|0)|(e|0)==(f|0))){b=h;n=l;c:while(1){m=d;l=c[m+4>>2]|0;h=t;c[h>>2]=c[m>>2];c[h+4>>2]=l;h=n;l=qk(c[r>>2]|0)|0;o=0;m=sa(22,b|0,g|0,h-e|0,p-b>>2|0,d|0)|0;w=o;o=0;if(w&1){v=9;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=8;break}switch(m|0){case 0:{q=2;break b}case-1:{l=b;v=14;break c}default:{}}b=(c[k>>2]|0)+(m<<2)|0;c[k>>2]=b;if((b|0)==(j|0)){v=31;break}e=c[g>>2]|0;if((n|0)==(f|0))l=f;else{l=qk(c[r>>2]|0)|0;o=0;e=va(20,b|0,e|0,1,d|0)|0;w=o;o=0;if(w&1){v=38;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=37;break}if(e){q=2;break b}c[k>>2]=(c[k>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;d:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break d;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}}while(0);b=c[k>>2]|0}if((b|0)==(j|0)|(e|0)==(f|0)){v=47;break b}else n=l}if((v|0)==8){w=Na(0)|0;ec(w)}else if((v|0)==9){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==14){c[k>>2]=l;e:do{if((e|0)!=(c[g>>2]|0)){b=l;f:while(1){l=qk(c[r>>2]|0)|0;o=0;b=va(20,b|0,e|0,h-e|0,t|0)|0;w=o;o=0;if(w&1){v=19;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=18;break}switch(b|0){case-1:{v=25;break f}case-2:{v=26;break f}case 0:{e=e+1|0;break}default:e=e+b|0}b=(c[k>>2]|0)+4|0;c[k>>2]=b;if((e|0)==(c[g>>2]|0)){s=e;break e}}if((v|0)==18){w=Na(0)|0;ec(w)}else if((v|0)==19){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==25){c[g>>2]=e;q=2;break b}else if((v|0)==26){c[g>>2]=e;q=1;break b}}else s=e}while(0);c[g>>2]=s;q=(s|0)!=(f|0)&1;break}else if((v|0)==31){e=c[g>>2]|0;v=47;break}else if((v|0)==37){w=Na(0)|0;ec(w)}else if((v|0)==38){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}}else v=47}while(0);if((v|0)==47)q=(e|0)!=(f|0)&1;i=u;return q|0}function wt(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;j=i;i=i+16|0;h=j;c[g>>2]=e;e=qk(c[b+8>>2]|0)|0;o=0;b=ma(34,h|0,0,d|0)|0;d=o;o=0;if(d&1){h=Na()|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,j=o,o=0,j&1):0){j=Na(0)|0;ec(j)}Ya(h|0)}if((e|0)!=0?(o=0,ka(75,e|0)|0,d=o,o=0,d&1):0){d=Na(0)|0;ec(d)}switch(b|0){case 0:case-1:{h=2;break}default:{b=b+-1|0;if(b>>>0<=(f-(c[g>>2]|0)|0)>>>0)if(!b)h=0;else while(1){d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;b=b+-1|0;if(!b){h=0;break}else h=h+1|0}else h=1}}i=j;return h|0}function xt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+8|0;o=0;d=ka(75,c[b>>2]|0)|0;e=o;o=0;do{if(e&1)f=16;else{o=0;e=ma(35,0,0,4)|0;a=o;o=0;if(a&1){a=Na(0)|0;if(!d)break;o=0;ka(75,d|0)|0;h=o;o=0;if(!(h&1))break;h=Na(0)|0;ec(h)}if((d|0)!=0?(o=0,ka(75,d|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}if(!e){a=c[b>>2]|0;if(a){o=0;a=ka(75,a|0)|0;h=o;o=0;if(h&1){f=16;break}if((a|0)!=0?(o=0,ka(75,a|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}else g=0}else g=1}else g=-1;return g|0}}while(0);if((f|0)==16)a=Na(0)|0;ec(a);return 0}function yt(a){a=a|0;return 0}function zt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=e;j=a+8|0;a:do{if((d|0)==(e|0)|(f|0)==0)a=0;else{a=0;i=0;while(1){h=qk(c[j>>2]|0)|0;o=0;g=ma(36,d|0,k-d|0,b|0)|0;n=o;o=0;if(n&1){m=h;break}if((h|0)!=0?(o=0,ka(75,h|0)|0,n=o,o=0,n&1):0){l=5;break}switch(g|0){case-2:case-1:break a;case 0:{d=d+1|0;g=1;break}default:d=d+g|0}a=g+a|0;i=i+1|0;if((d|0)==(e|0)|i>>>0>=f>>>0)break a}if((l|0)==5){n=Na(0)|0;ec(n)}a=Na()|0;if((m|0)!=0?(o=0,ka(75,m|0)|0,n=o,o=0,n&1):0){n=Na(0)|0;ec(n)}Ya(a|0)}}while(0);return a|0}function At(a){a=a|0;var b=0,d=0;a=c[a+8>>2]|0;if(a){o=0;a=ka(75,a|0)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}if((a|0)!=0?(o=0,ka(75,a|0)|0,d=o,o=0,d&1):0){d=Na(0)|0;ec(d)}else b=4}else b=1;return b|0}function Bt(a){a=a|0;cj(a);return}function Ct(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Hv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Dt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Iv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Et(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Ft(a){a=a|0;return 0}function Gt(a){a=a|0;return 0}function Ht(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Jv(c,d,e,1114111,0)|0}function It(a){a=a|0;return 4}function Jt(a){a=a|0;cj(a);return}function Kt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Kv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Lt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Lv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Mt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Nt(a){a=a|0;return 0}function Ot(a){a=a|0;return 0}function Pt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Mv(c,d,e,1114111,0)|0}function Qt(a){a=a|0;return 4}function Rt(a){a=a|0;cj(a);return}function St(a){a=a|0;cj(a);return}function Tt(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=44384;a[b+8>>0]=46;a[b+9>>0]=44;b=b+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function Ut(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=44424;c[a+8>>2]=46;c[a+12>>2]=44;a=a+16|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Vt(a){a=a|0;c[a>>2]=44384;Im(a+12|0);return}function Wt(a){a=a|0;Vt(a);cj(a);return}function Xt(a){a=a|0;c[a>>2]=44424;Im(a+16|0);return}function Yt(a){a=a|0;Xt(a);cj(a);return}function Zt(b){b=b|0;return a[b+8>>0]|0}function _t(a){a=a|0;return c[a+8>>2]|0}function $t(b){b=b|0;return a[b+9>>0]|0}function au(a){a=a|0;return c[a+12>>2]|0}function bu(a,b){a=a|0;b=b|0;Fm(a,b+12|0);return}function cu(a,b){a=a|0;b=b|0;Fm(a,b+16|0);return}function du(a,b){a=a|0;b=b|0;Gm(a,59024,4);return}function eu(a,b){a=a|0;b=b|0;Um(a,44996,pl(44996)|0);return}function fu(a,b){a=a|0;b=b|0;Gm(a,59029,5);return}function gu(a,b){a=a|0;b=b|0;Um(a,45016,pl(45016)|0);return}function hu(a){a=a|0;switch(c[a+4>>2]&74|0){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function iu(b){b=b|0;do{if((a[2464]|0)==0?(Ha(2464)|0)!=0:0){if((a[2472]|0)==0?(Ha(2472)|0)!=0:0){b=45040;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=45208);kb(193,0,n|0)|0;Pa(2472)}o=0;ra(41,45040,59035)|0;b=o;o=0;if(((((((((((((!(b&1)?(o=0,ra(41,45052,59042)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45064,59049)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45076,59057)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45088,59067)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45100,59076)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45112,59083)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45124,59092)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45136,59096)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45148,59100)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45160,59104)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45172,59108)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45184,59112)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45196,59116)|0,b=o,o=0,!(b&1)):0){c[11302]=45040;Pa(2464);break}b=Na()|0;sb(2464);Ya(b|0)}}while(0);return c[11302]|0}function ju(b){b=b|0;do{if((a[2480]|0)==0?(Ha(2480)|0)!=0:0){if((a[2488]|0)==0?(Ha(2488)|0)!=0:0){b=45212;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=45380);kb(194,0,n|0)|0;Pa(2488)}o=0;ra(42,45212,45380)|0;b=o;o=0;if(((((((((((((!(b&1)?(o=0,ra(42,45224,45408)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45236,45436)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45248,45468)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45260,45508)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45272,45544)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45284,45572)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45296,45608)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45308,45624)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45320,45640)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45332,45656)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45344,45672)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45356,45688)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45368,45704)|0,b=o,o=0,!(b&1)):0){c[11430]=45212;Pa(2480);break}b=Na()|0;sb(2480);Ya(b|0)}}while(0);return c[11430]|0}function ku(b){b=b|0;a:do{if((a[2496]|0)==0?(Ha(2496)|0)!=0:0){if((a[2504]|0)==0?(Ha(2504)|0)!=0:0){b=45724;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=46012);kb(195,0,n|0)|0;Pa(2504)}o=0;ra(41,45724,59120)|0;b=o;o=0;do{if((((((((((((((!(b&1)?(o=0,ra(41,45736,59128)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45748,59137)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45760,59143)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45772,59149)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45784,59153)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45796,59158)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45808,59163)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45820,59170)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45832,59180)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45844,59188)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45856,59197)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45868,59206)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45880,59210)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45892,59214)|0,b=o,o=0,!(b&1)):0){o=0;ra(41,45904,59218)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45916,59149)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45928,59222)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45940,59226)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45952,59230)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45964,59234)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45976,59238)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45988,59242)|0;b=o;o=0;if(b&1)break;o=0;ra(41,46e3,59246)|0;b=o;o=0;if(b&1)break;c[11503]=45724;Pa(2496);break a}}while(0);b=Na()|0;sb(2496);Ya(b|0)}}while(0);return c[11503]|0}function lu(b){b=b|0;a:do{if((a[2512]|0)==0?(Ha(2512)|0)!=0:0){if((a[2520]|0)==0?(Ha(2520)|0)!=0:0){b=46016;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=46304);kb(196,0,n|0)|0;Pa(2520)}o=0;ra(42,46016,46304)|0;b=o;o=0;do{if((((((((((((((!(b&1)?(o=0,ra(42,46028,46336)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46040,46372)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46052,46396)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46064,46420)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46076,46436)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46088,46456)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46100,46476)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46112,46504)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46124,46544)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46136,46576)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46148,46612)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46160,46648)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46172,46664)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46184,46680)|0,b=o,o=0,!(b&1)):0){o=0;ra(42,46196,46696)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46208,46420)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46220,46712)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46232,46728)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46244,46744)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46256,46760)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46268,46776)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46280,46792)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46292,46808)|0;b=o;o=0;if(b&1)break;c[11706]=46016;Pa(2512);break a}}while(0);b=Na()|0;sb(2512);Ya(b|0)}}while(0);return c[11706]|0}function mu(b){b=b|0;do{if((a[2528]|0)==0?(Ha(2528)|0)!=0:0){if((a[2536]|0)==0?(Ha(2536)|0)!=0:0){b=46828;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=47116);kb(197,0,n|0)|0;Pa(2536)}o=0;ra(41,46828,59250)|0;b=o;o=0;if(!(b&1)?(o=0,ra(41,46840,59253)|0,b=o,o=0,!(b&1)):0){c[11779]=46828;Pa(2528);break}b=Na()|0;sb(2528);Ya(b|0)}}while(0);return c[11779]|0}function nu(b){b=b|0;do{if((a[2544]|0)==0?(Ha(2544)|0)!=0:0){if((a[2552]|0)==0?(Ha(2552)|0)!=0:0){b=47120;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=47408);kb(198,0,n|0)|0;Pa(2552)}o=0;ra(42,47120,47408)|0;b=o;o=0;if(!(b&1)?(o=0,ra(42,47132,47420)|0,b=o,o=0,!(b&1)):0){c[11858]=47120;Pa(2544);break}b=Na()|0;sb(2544);Ya(b|0)}}while(0);return c[11858]|0}function ou(b){b=b|0;do{if((a[2560]|0)==0?(Ha(2560)|0)!=0:0){o=0;wa(5,47436,59256,8);b=o;o=0;if(b&1){b=Na()|0;sb(2560);Ya(b|0)}else{kb(199,47436,n|0)|0;Pa(2560);break}}}while(0);return 47436}function pu(b){b=b|0;var c=0;do{if((a[2568]|0)==0?(Ha(2568)|0)!=0:0){o=0;b=ka(76,47448)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47484,47448,b|0),c=o,o=0,!(c&1)):0){kb(200,47484,n|0)|0;Pa(2568);break}c=Na()|0;sb(2568);Ya(c|0)}}while(0);return 47484}function qu(b){b=b|0;do{if((a[2576]|0)==0?(Ha(2576)|0)!=0:0){o=0;wa(5,47496,59265,8);b=o;o=0;if(b&1){b=Na()|0;sb(2576);Ya(b|0)}else{kb(199,47496,n|0)|0;Pa(2576);break}}}while(0);return 47496}function ru(b){b=b|0;var c=0;do{if((a[2584]|0)==0?(Ha(2584)|0)!=0:0){o=0;b=ka(76,47508)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47544,47508,b|0),c=o,o=0,!(c&1)):0){kb(200,47544,n|0)|0;Pa(2584);break}c=Na()|0;sb(2584);Ya(c|0)}}while(0);return 47544}function su(b){b=b|0;do{if((a[2592]|0)==0?(Ha(2592)|0)!=0:0){o=0;wa(5,47556,59274,20);b=o;o=0;if(b&1){b=Na()|0;sb(2592);Ya(b|0)}else{kb(199,47556,n|0)|0;Pa(2592);break}}}while(0);return 47556}function tu(b){b=b|0;var c=0;do{if((a[2600]|0)==0?(Ha(2600)|0)!=0:0){o=0;b=ka(76,47568)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47652,47568,b|0),c=o,o=0,!(c&1)):0){kb(200,47652,n|0)|0;Pa(2600);break}c=Na()|0;sb(2600);Ya(c|0)}}while(0);return 47652}function uu(b){b=b|0;do{if((a[2608]|0)==0?(Ha(2608)|0)!=0:0){o=0;wa(5,47664,59295,11);b=o;o=0;if(b&1){b=Na()|0;sb(2608);Ya(b|0)}else{kb(199,47664,n|0)|0;Pa(2608);break}}}while(0);return 47664}function vu(b){b=b|0;var c=0;do{if((a[2616]|0)==0?(Ha(2616)|0)!=0:0){o=0;b=ka(76,47676)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47724,47676,b|0),c=o,o=0,!(c&1)):0){kb(200,47724,n|0)|0;Pa(2616);break}c=Na()|0;sb(2616);Ya(c|0)}}while(0);return 47724}function wu(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=44304;a=a+8|0;b=c[a>>2]|0;o=0;d=ua(3)|0;e=o;o=0;do{if(!(e&1)){if((b|0)!=(d|0)?(o=0,ha(188,c[a>>2]|0),e=o,o=0,e&1):0)break;return}}while(0);e=Na(0)|0;ec(e)}function xu(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+112|0;m=z;p=(g-f|0)/12|0;do{if(p>>>0>100){m=Fl(p)|0;if((m|0)==0?(o=0,xa(6),y=o,o=0,y&1):0){l=0;s=6;break}l=m;s=11}else{l=0;s=11}}while(0);a:do{if((s|0)==11){if((f|0)==(g|0))n=0;else{s=f;q=0;r=m;while(1){n=a[s>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=c[s+4>>2]|0;if(!n){a[r>>0]=2;n=q+1|0;p=p+-1|0}else{a[r>>0]=1;n=q}s=s+12|0;if((s|0)==(g|0))break;else{q=n;r=r+1|0}}}x=(f|0)==(g|0);y=(f|0)==(g|0);w=0;t=n;b:while(1){n=c[b>>2]|0;do{if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;v=o;o=0;if(v&1){s=5;break b}if((n|0)==-1){c[b>>2]=0;n=0;break}else{n=c[b>>2]|0;break}}}else n=0}while(0);s=(n|0)==0;q=c[e>>2]|0;if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;n=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;v=o;o=0;if(v&1){s=5;break}if((n|0)==-1){c[e>>2]=0;q=0}}}else q=0;r=(q|0)==0;n=c[b>>2]|0;if(!((p|0)!=0&(s^r))){s=64;break}q=c[n+12>>2]|0;if((q|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;v=o;o=0;if(v&1){s=5;break}}else n=d[q>>0]|0;n=n&255;if(!k){o=0;n=ra(c[(c[h>>2]|0)+12>>2]|0,h|0,n|0)|0;v=o;o=0;if(v&1){s=5;break}}v=w+1|0;if(x){n=0;s=t}else{r=0;u=f;s=t;t=m;while(1){do{if((a[t>>0]|0)==1){if(!(a[u>>0]&1))q=u+1|0;else q=c[u+8>>2]|0;q=a[q+w>>0]|0;if(!k){o=0;q=ra(c[(c[h>>2]|0)+12>>2]|0,h|0,q|0)|0;A=o;o=0;if(A&1){s=4;break b}}if(n<<24>>24!=q<<24>>24){a[t>>0]=0;q=r;p=p+-1|0;break}q=a[u>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[u+4>>2]|0;if((q|0)==(v|0)){a[t>>0]=2;q=1;s=s+1|0;p=p+-1|0}else q=1}else q=r}while(0);u=u+12|0;if((u|0)==(g|0)){n=q;break}else{r=q;t=t+1|0}}}if(!n){w=v;t=s;continue}n=c[b>>2]|0;q=n+12|0;r=c[q>>2]|0;if((r|0)==(c[n+16>>2]|0)){o=0;ka(c[(c[n>>2]|0)+40>>2]|0,n|0)|0;A=o;o=0;if(A&1){s=5;break}}else c[q>>2]=r+1;if((s+p|0)>>>0<2|y){w=v;t=s;continue}else{n=f;r=s;s=m}while(1){if((a[s>>0]|0)==2){q=a[n>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[n+4>>2]|0;if((q|0)!=(v|0)){a[s>>0]=0;r=r+-1|0}}n=n+12|0;if((n|0)==(g|0)){w=v;t=r;continue b}else s=s+1|0}}if((s|0)==4){f=Na()|0;break}else if((s|0)==5){f=Na()|0;break}else if((s|0)==64){do{if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;A=o;o=0;if(A&1){s=6;break a}if((n|0)==-1){c[b>>2]=0;n=0;break}else{n=c[b>>2]|0;break}}}else n=0}while(0);p=(n|0)==0;do{if(!r){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;n=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;A=o;o=0;if(A&1){s=6;break a}if((n|0)==-1){c[e>>2]=0;s=76;break}}if(!p)s=77}else s=76}while(0);if((s|0)==76?p:0)s=77;if((s|0)==77)c[j>>2]=c[j>>2]|2;c:do{if((f|0)==(g|0))s=81;else while(1){if((a[m>>0]|0)==2)break c;f=f+12|0;if((f|0)==(g|0)){s=81;break}else m=m+1|0}}while(0);if((s|0)==81){c[j>>2]=c[j>>2]|4;f=g}if(l)Gl(l);i=z;return f|0}}}while(0);if((s|0)==6)f=Na()|0;if(l)Gl(l);Ya(f|0);return 0}function yu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(21,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49}while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25}while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function zu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){E=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;k=(b|0)==0;l=c[f>>2]|0;do{if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(k)break;else break b;o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;n=o;o=0;if(n&1){E=24;break b}if((m|0)!=-1)if(k)break;else break b;else{c[f>>2]=0;E=16;break}}else E=16}while(0);if((E|0)==16){E=0;if(k){l=0;break}else l=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){E=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){E=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+k}m=b+12|0;k=c[m>>2]|0;n=b+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}}else k=d[k>>0]|0;if(Wo(k&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[m>>2]=k+1;continue}}if((E|0)==24){b=Na()|0;break}F=a[C>>0]|0;if((((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){F=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=F}o=0;g=va(22,g|0,c[v>>2]|0,h|0,u|0)|0;k=D;F=o;o=0;if(!(F&1)){F=j;c[F>>2]=g;c[F+4>>2]=k;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((b|0)==-1){c[f>>2]=0;E=49;break}}if(!g)E=50}else E=49}while(0);if((E|0)==49?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;F=c[e>>2]|0;Im(B);Im(C);i=A;return F|0}else E=25}else E=25}while(0);if((E|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Au(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;B=i;i=i+240|0;u=B+202|0;l=B+200|0;D=B+24|0;C=B+12|0;w=B+8|0;z=B+40|0;A=B+4|0;x=B;v=hu(h)|0;kp(D,h,u,l);c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;if(!(a[C>>0]&1))e=10;else e=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,e|0,0);t=o;o=0;a:do{if(!(t&1)){r=C+8|0;s=C+1|0;h=(a[C>>0]&1)==0?s:c[r>>2]|0;c[w>>2]=h;c[A>>2]=z;c[x>>2]=0;t=C+4|0;q=a[l>>0]|0;e=c[f>>2]|0;b:while(1){if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)){o=0;l=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;p=o;o=0;if(p&1){E=24;break}if((l|0)==-1){c[f>>2]=0;e=0}}}else e=0;m=(e|0)==0;l=c[g>>2]|0;do{if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(m)break;else break b;o=0;n=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){E=24;break b}if((n|0)!=-1)if(m)break;else break b;else{c[g>>2]=0;E=16;break}}else E=16}while(0);if((E|0)==16){E=0;if(m){l=0;break}else l=0}m=a[C>>0]|0;m=(m&1)==0?(m&255)>>>1:c[t>>2]|0;if((c[w>>2]|0)==(h+m|0)){o=0;wa(8,C|0,m<<1|0,0);p=o;o=0;if(p&1){E=24;break}if(!(a[C>>0]&1))h=10;else h=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,h|0,0);p=o;o=0;if(p&1){E=24;break}h=(a[C>>0]&1)==0?s:c[r>>2]|0;c[w>>2]=h+m}n=e+12|0;m=c[n>>2]|0;p=e+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=24;break}}else m=d[m>>0]|0;if(Wo(m&255,v,h,w,x,q,D,z,A,u)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[e>>2]|0)+40>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[n>>2]=l+1;continue}}if((E|0)==24){e=Na()|0;break}F=a[D>>0]|0;if((((F&1)==0?(F&255)>>>1:c[D+4>>2]|0)|0)!=0?(y=c[A>>2]|0,(y-z|0)<160):0){F=c[x>>2]|0;c[A>>2]=y+4;c[y>>2]=F}o=0;h=va(23,h|0,c[w>>2]|0,j|0,v|0)|0;F=o;o=0;if(!(F&1)){b[k>>1]=h;Ur(D,z,c[A>>2]|0,j);if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)){o=0;h=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=25;break}if((h|0)==-1){c[f>>2]=0;e=0}}}else e=0;h=(e|0)==0;do{if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;e=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((e|0)==-1){c[g>>2]=0;E=49;break}}if(!h)E=50}else E=49}while(0);if((E|0)==49?h:0)E=50;if((E|0)==50)c[j>>2]=c[j>>2]|2;F=c[f>>2]|0;Im(C);Im(D);i=B;return F|0}else E=25}else E=25}while(0);if((E|0)==25)e=Na()|0;Im(C);Im(D);Ya(e|0);return 0}function Bu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(24,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49}while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25}while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Cu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(25,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49}while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25}while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Du(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){E=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;k=(b|0)==0;l=c[f>>2]|0;do{if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(k)break;else break b;o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;n=o;o=0;if(n&1){E=24;break b}if((m|0)!=-1)if(k)break;else break b;else{c[f>>2]=0;E=16;break}}else E=16}while(0);if((E|0)==16){E=0;if(k){l=0;break}else l=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){E=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){E=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+k}m=b+12|0;k=c[m>>2]|0;n=b+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}}else k=d[k>>0]|0;if(Wo(k&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[m>>2]=k+1;continue}}if((E|0)==24){b=Na()|0;break}F=a[C>>0]|0;if((((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){F=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=F}o=0;g=va(26,g|0,c[v>>2]|0,h|0,u|0)|0;k=D;F=o;o=0;if(!(F&1)){F=j;c[F>>2]=g;c[F+4>>2]=k;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((b|0)==-1){c[f>>2]=0;E=49;break}}if(!g)E=50}else E=49}while(0);if((E|0)==49?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;F=c[e>>2]|0;Im(B);Im(C);i=A;return F|0}else E=25}else E=25}while(0);if((E|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Eu(b,e,f,h,j,k){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,h,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do{if(!(v&1)){t=F+8|0;u=F+1|0;h=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=h;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16}while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(h+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))h=10;else h=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,h|0,0);q=o;o=0;if(q&1){H=24;break}h=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=h+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,h,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(1,h|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){g[k>>2]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;h=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((h|0)==-1){c[e>>2]=0;b=0}}}else b=0;h=(b|0)==0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!h)H=50}else H=49}while(0);if((H|0)==49?h:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25}while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Fu(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,g,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do{if(!(v&1)){t=F+8|0;u=F+1|0;g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16}while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(g+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))g=10;else g=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,g|0,0);q=o;o=0;if(q&1){H=24;break}g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,g,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(2,g|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){h[k>>3]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!g)H=50}else H=49}while(0);if((H|0)==49?g:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25}while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Gu(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,g,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do{if(!(v&1)){t=F+8|0;u=F+1|0;g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16}while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(g+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))g=10;else g=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,g|0,0);q=o;o=0;if(q&1){H=24;break}g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,g,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(3,g|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){h[k>>3]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!g)H=50}else H=49}while(0);if((H|0)==49?g:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25}while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Hu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=qk(b)|0;b=fl(a,d,g)|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}i=f;return b|0}function Iu(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+112|0;l=y;n=(f-e|0)/12|0;do{if(n>>>0>100){l=Fl(n)|0;if((l|0)==0?(o=0,xa(6),x=o,o=0,x&1):0){k=0;q=6;break}k=l;q=11}else{k=0;q=11}}while(0);a:do{if((q|0)==11){if((e|0)==(f|0))m=0;else{r=e;p=0;q=l;while(1){m=a[r>>0]|0;if(!(m&1))m=(m&255)>>>1;else m=c[r+4>>2]|0;if(!m){a[q>>0]=2;m=p+1|0;n=n+-1|0}else{a[q>>0]=1;m=p}r=r+12|0;if((r|0)==(f|0))break;else{p=m;q=q+1|0}}}w=(e|0)==(f|0);x=(e|0)==(f|0);v=0;s=n;b:while(1){n=c[b>>2]|0;do{if(n){p=c[n+12>>2]|0;if((p|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;u=o;o=0;if(u&1){q=5;break b}}else n=c[p>>2]|0;if((n|0)==-1){c[b>>2]=0;r=1;break}else{r=(c[b>>2]|0)==0;break}}else r=1}while(0);p=c[d>>2]|0;if(p){n=c[p+12>>2]|0;if((n|0)==(c[p+16>>2]|0)){o=0;n=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;u=o;o=0;if(u&1){q=5;break}}else n=c[n>>2]|0;if((n|0)==-1){c[d>>2]=0;p=0;q=1}else q=0}else{p=0;q=1}n=c[b>>2]|0;if(!((s|0)!=0&(r^q))){q=66;break}p=c[n+12>>2]|0;if((p|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;u=o;o=0;if(u&1){q=5;break}}else n=c[p>>2]|0;if(!j){o=0;n=ra(c[(c[g>>2]|0)+28>>2]|0,g|0,n|0)|0;u=o;o=0;if(u&1){q=5;break}}u=v+1|0;if(w){n=0;r=s}else{r=0;t=e;q=s;s=l;while(1){do{if((a[s>>0]|0)==1){if(!(a[t>>0]&1))p=t+4|0;else p=c[t+8>>2]|0;p=c[p+(v<<2)>>2]|0;if(!j){o=0;p=ra(c[(c[g>>2]|0)+28>>2]|0,g|0,p|0)|0;z=o;o=0;if(z&1){q=4;break b}}if((n|0)!=(p|0)){a[s>>0]=0;p=r;q=q+-1|0;break}p=a[t>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[t+4>>2]|0;if((p|0)==(u|0)){a[s>>0]=2;p=1;m=m+1|0;q=q+-1|0}else p=1}else p=r}while(0);t=t+12|0;if((t|0)==(f|0)){n=p;r=q;break}else{r=p;s=s+1|0}}}if(!n){v=u;s=r;continue}n=c[b>>2]|0;p=n+12|0;q=c[p>>2]|0;if((q|0)==(c[n+16>>2]|0)){o=0;ka(c[(c[n>>2]|0)+40>>2]|0,n|0)|0;z=o;o=0;if(z&1){q=5;break}}else c[p>>2]=q+4;if((m+r|0)>>>0<2|x){v=u;s=r;continue}else{n=e;q=l}while(1){if((a[q>>0]|0)==2){p=a[n>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[n+4>>2]|0;if((p|0)!=(u|0)){a[q>>0]=0;m=m+-1|0}}n=n+12|0;if((n|0)==(f|0)){v=u;s=r;continue b}else q=q+1|0}}if((q|0)==4){e=Na()|0;break}else if((q|0)==5){e=Na()|0;break}else if((q|0)==66){do{if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0)){o=0;m=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;z=o;o=0;if(z&1){q=6;break a}}else m=c[m>>2]|0;if((m|0)==-1){c[b>>2]=0;n=1;break}else{n=(c[b>>2]|0)==0;break}}else n=1}while(0);do{if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0)){o=0;m=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;z=o;o=0;if(z&1){q=6;break a}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else{q=81;break}else{c[d>>2]=0;q=79;break}}else q=79}while(0);if((q|0)==79?n:0)q=81;if((q|0)==81)c[h>>2]=c[h>>2]|2;c:do{if((e|0)==(f|0))q=85;else while(1){if((a[l>>0]|0)==2)break c;e=e+12|0;if((e|0)==(f|0)){q=85;break}else l=l+1|0}}while(0);if((q|0)==85){c[h>>2]=c[h>>2]|4;e=f}if(k)Gl(k);i=y;return e|0}}}while(0);if((q|0)==6)e=Na()|0;if(k)Gl(k);Ya(e|0);return 0}function Ju(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(21,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Ku(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do{if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0)){o=0;f=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;m=o;o=0;if(m&1){C=25;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(l)break;else break b;else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(l){k=0;break}else k=0}f=a[A>>0]|0;f=(f&1)==0?(f&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+f|0)){o=0;wa(8,A|0,f<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+f}l=j+12|0;f=c[l>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}}else f=c[f>>2]|0;if(jp(f,t,b,u,v,n,B,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0)){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}else continue}else{c[l>>2]=f+4;continue}}if((C|0)==25){b=Na()|0;break}E=a[B>>0]|0;if((((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){E=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=E}o=0;b=va(22,b|0,c[u>>2]|0,g|0,t|0)|0;f=D;E=o;o=0;if(!(E&1)){E=h;c[E>>2]=b;c[E+4>>2]=f;Ur(B,x,c[y>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;E=c[d>>2]|0;Im(A);Im(B);i=z;return E|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Lu(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+320|0;t=A+208|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;np(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))d=10;else d=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,d|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;d=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=d;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=c[k>>2]|0;k=c[e>>2]|0;b:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0)){o=0;g=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=25;break}}else g=c[g>>2]|0;if((g|0)==-1){c[e>>2]=0;g=0;l=1}else{g=k;l=0}}else{g=0;l=1}m=c[f>>2]|0;do{if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0)){o=0;k=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;n=o;o=0;if(n&1){D=25;break b}}else k=c[k>>2]|0;if((k|0)!=-1)if(l)break;else{k=m;break b}else{c[f>>2]=0;D=17;break}}else D=17}while(0);if((D|0)==17){D=0;if(l){k=0;break}else m=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(d+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){D=25;break}if(!(a[B>>0]&1))d=10;else d=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,d|0,0);n=o;o=0;if(n&1){D=25;break}d=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=d+k}l=g+12|0;k=c[l>>2]|0;n=g+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=25;break}}else k=c[k>>2]|0;if(jp(k,u,d,v,w,p,C,y,z,t)|0){k=m;break}k=c[l>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=25;break}else{k=g;continue}}else{c[l>>2]=k+4;k=g;continue}}if((D|0)==25){d=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;d=va(23,d|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){b[j>>1]=d;Ur(C,y,c[z>>2]|0,h);if(g){d=c[g+12>>2]|0;if((d|0)==(c[g+16>>2]|0)){o=0;d=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=26;break}}else d=c[d>>2]|0;if((d|0)==-1){c[e>>2]=0;g=1}else g=0}else g=1;do{if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0)){o=0;d=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=26;break a}}else d=c[d>>2]|0;if((d|0)!=-1)if(g)break;else{D=53;break}else{c[f>>2]=0;D=51;break}}else D=51}while(0);if((D|0)==51?g:0)D=53;if((D|0)==53)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=26}else D=26}while(0);if((D|0)==26)d=Na()|0;Im(B);Im(C);Ya(d|0);return 0}function Mu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(24,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Nu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(25,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Ou(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do{if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0)){o=0;f=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;m=o;o=0;if(m&1){C=25;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(l)break;else break b;else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(l){k=0;break}else k=0}f=a[A>>0]|0;f=(f&1)==0?(f&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+f|0)){o=0;wa(8,A|0,f<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+f}l=j+12|0;f=c[l>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}}else f=c[f>>2]|0;if(jp(f,t,b,u,v,n,B,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0)){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}else continue}else{c[l>>2]=f+4;continue}}if((C|0)==25){b=Na()|0;break}E=a[B>>0]|0;if((((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){E=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=E}o=0;b=va(26,b|0,c[u>>2]|0,g|0,t|0)|0;f=D;E=o;o=0;if(!(E&1)){E=h;c[E>>2]=b;c[E+4>>2]=f;Ur(B,x,c[y>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;E=c[d>>2]|0;Im(A);Im(B);i=z;return E|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Pu(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do{if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do{if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17}while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(1,b|0,c[x>>2]|0,h|0);H=o;o=0;if(!(H&1)){g[j>>2]=k;Ur(F,B,c[C>>2]|0,h);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51}while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[h>>2]=c[h>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26}while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Qu(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do{if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do{if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17}while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(2,b|0,c[x>>2]|0,g|0);H=o;o=0;if(!(H&1)){h[j>>3]=k;Ur(F,B,c[C>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51}while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[g>>2]=c[g>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26}while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Ru(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do{if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do{if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17}while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(3,b|0,c[x>>2]|0,g|0);H=o;o=0;if(!(H&1)){h[j>>3]=k;Ur(F,B,c[C>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51}while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[g>>2]=c[g>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26}while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Su(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;c[h>>2]=f;f=qk(d)|0;d=el(a,b,e,h)|0;if((f|0)!=0?(o=0,ka(75,f|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}i=g;return d|0}function Tu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=qk(b)|0;o=0;b=ma(37,a|0,d|0,g|0)|0;a=o;o=0;if(a&1){b=Na()|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}Ya(b|0)}else{if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}i=f;return b|0}return 0}function Uu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0;p=i;i=i+16|0;n=p;j=c[b>>2]|0;a:do{if(!j)j=0;else{q=d;l=f-q>>2;m=g+12|0;k=c[m>>2]|0;l=(k|0)>(l|0)?k-l|0:0;k=e;q=k-q|0;g=q>>2;if((q|0)>0?(Gb[c[(c[j>>2]|0)+48>>2]&63](j,d,g)|0)!=(g|0):0){c[b>>2]=0;j=0;break}do{if((l|0)>0){Vm(n,l,h);o=0;g=ma(c[(c[j>>2]|0)+48>>2]|0,j|0,((a[n>>0]&1)==0?n+4|0:c[n+8>>2]|0)|0,l|0)|0;q=o;o=0;if(q&1){q=Na()|0;Wm(n);Ya(q|0)}if((g|0)==(l|0)){Wm(n);break}else{c[b>>2]=0;Wm(n);j=0;break a}}}while(0);q=f-k|0;f=q>>2;if((q|0)>0?(Gb[c[(c[j>>2]|0)+48>>2]&63](j,e,f)|0)!=(f|0):0){c[b>>2]=0;j=0;break}c[m>>2]=0}}while(0);i=p;return j|0}function Vu(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=c[a>>2]|0;do{if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0))if((Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1){c[a>>2]=0;i=0;break}else{i=c[a>>2]|0;break}}else i=0}while(0);j=(i|0)==0;i=c[e>>2]|0;do{if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1:0){c[e>>2]=0;r=11;break}if(j)r=13;else r=12}else r=11}while(0);if((r|0)==11)if(j)r=12;else{i=0;r=13}a:do{if((r|0)==12){c[f>>2]=c[f>>2]|6;i=0}else if((r|0)==13){j=c[a>>2]|0;k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=d[k>>0]|0;k=j&255;if(k<<24>>24>-1?(q=g+8|0,(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048)!=0):0){m=(Gb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24;j=c[a>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0)){Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;o=h;n=i;h=i;i=m}else{c[k>>2]=l+1;o=h;n=i;h=i;i=m}while(1){i=i+-48|0;p=o+-1|0;j=c[a>>2]|0;do{if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0}while(0);l=(j|0)==0;if(h)if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;k=0;h=0}else{k=n;h=n}else k=n;else{k=n;h=0}j=c[a>>2]|0;if(!((o|0)>1&(l^(h|0)==0)))break;l=c[j+12>>2]|0;if((l|0)==(c[j+16>>2]|0))j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=d[l>>0]|0;l=j&255;if(l<<24>>24<=-1)break a;if(!(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=((Gb[c[(c[g>>2]|0)+36>>2]&63](g,l,0)|0)<<24>>24)+(i*10|0)|0;j=c[a>>2]|0;l=j+12|0;m=c[l>>2]|0;if((m|0)==(c[j+16>>2]|0)){Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;o=p;n=k;continue}else{c[l>>2]=m+1;o=p;n=k;continue}}do{if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0}while(0);j=(j|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)?(Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0)==-1:0){c[e>>2]=0;r=50;break}if(j)break a}else r=50}while(0);if((r|0)==50?!j:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}}while(0);return i|0}function Wu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a>>2]|0;do{if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=c[h>>2]|0;if((g|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1}while(0);h=c[b>>2]|0;do{if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else g=c[g>>2]|0;if((g|0)!=-1)if(i){o=17;break}else{o=16;break}else{c[b>>2]=0;o=14;break}}else o=14}while(0);if((o|0)==14)if(i)o=16;else{h=0;o=17}a:do{if((o|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((o|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=c[i>>2]|0;if(!(Gb[c[(c[e>>2]|0)+12>>2]&63](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(Gb[c[(c[e>>2]|0)+52>>2]&63](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0)){Eb[c[(c[i>>2]|0)+40>>2]&127](i)|0;m=f;l=h;j=h}else{c[j>>2]=k+4;m=f;l=h;j=h}while(1){g=g+-48|0;n=m+-1|0;h=c[a>>2]|0;do{if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=c[i>>2]|0;if((h|0)==-1){c[a>>2]=0;k=1;break}else{k=(c[a>>2]|0)==0;break}}else k=1}while(0);do{if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;j=0;f=0;h=1;break}else{j=l;f=l;h=(l|0)==0;break}}else{j=l;f=0;h=1}}while(0);i=c[a>>2]|0;if(!((m|0)>1&(k^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=c[h>>2]|0;if(!(Gb[c[(c[e>>2]|0)+12>>2]&63](e,2048,h)|0))break a;g=((Gb[c[(c[e>>2]|0)+52>>2]&63](e,h,0)|0)<<24>>24)+(g*10|0)|0;h=c[a>>2]|0;i=h+12|0;k=c[i>>2]|0;if((k|0)==(c[h+16>>2]|0)){Eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;m=n;l=j;j=f;continue}else{c[i>>2]=k+4;m=n;l=j;j=f;continue}}do{if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=c[h>>2]|0;if((h|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1}while(0);do{if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=c[h>>2]|0;if((h|0)!=-1)if(i)break a;else break;else{c[b>>2]=0;o=60;break}}else o=60}while(0);if((o|0)==60?!i:0)break;c[d>>2]=c[d>>2]|2}}while(0);return g|0}function Xu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h|0;i=Il(e?i:0,f)|0;if(!i)Sj();do{if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}}while(0);c[g>>2]=201;c[b>>2]=j+h;c[d>>2]=(c[a>>2]|0)+f;return}function Yu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h>>2;i=Il(e?i:0,f)|0;if(!i)Sj();do{if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}}while(0);c[g>>2]=201;c[b>>2]=j+(h<<2);c[d>>2]=(c[a>>2]|0)+(f>>>2<<2);return}function Zu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d;f=a[b>>0]|0;if(!(f&1)){g=10;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h|0;do{if((e|0)!=(d|0)){if((g-k|0)>>>0>>0){Tm(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+1|0;else i=c[b+8>>2]|0;h=e+(k-h)|0;if((d|0)!=(e|0)){f=d;g=i+k|0;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else g=g+1|0}}a[i+h>>0]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}}while(0);return b|0}function _u(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h>>2;i=Il(e?i:0,f)|0;if(!i)Sj();do{if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}}while(0);c[g>>2]=201;c[b>>2]=j+(h<<2);c[d>>2]=(c[a>>2]|0)+(f>>>2<<2);return}function $u(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d;f=a[b>>0]|0;if(!(f&1)){g=1;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h>>2;do{if(j){if((g-k|0)>>>0>>0){an(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+4|0;else i=c[b+8>>2]|0;h=k+((e-h|0)>>>2)|0;if((d|0)!=(e|0)){f=d;g=i+(k<<2)|0;while(1){c[g>>2]=c[f>>2];f=f+4|0;if((f|0)==(e|0))break;else g=g+4|0}}c[i+(h<<2)>>2]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}}while(0);return b|0}function av(b,d){b=b|0;d=d|0;var e=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;do{if(d){o=0;ia(125,b|0,d|0);e=o;o=0;if(e&1){e=Na()|0;Dv(b);Ya(e|0)}else{Uv(b,d);break}}}while(0);return}function bv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43148)|0);return}function cv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43188)|0);return}function dv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44220)|0);return}function ev(a,b){a=a|0;b=b|0;xs(a,b,Hs(44212)|0);return}function fv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44280)|0);return}function gv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44288)|0);return}function hv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44344)|0);return}function iv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44352)|0);return}function jv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44360)|0);return}function kv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44368)|0);return}function lv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43260)|0);return}function mv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43332)|0);return}function nv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43392)|0);return}function ov(a,b){a=a|0;b=b|0;xs(a,b,Hs(43452)|0);return}function pv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43764)|0);return}function qv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43828)|0);return}function rv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43892)|0);return}function sv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43956)|0);return}function tv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43992)|0);return}function uv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44028)|0);return}function vv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44064)|0);return}function wv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44100)|0);return}function xv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43544)|0);return}function yv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43636)|0);return}function zv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43668)|0);return}function Av(a,b){a=a|0;b=b|0;xs(a,b,Hs(43700)|0);return}function Bv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44140)|0);return}function Cv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44180)|0);return}function Dv(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;do{if(e){f=b+4|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do{d=d+-4|0}while((d|0)!=(e|0));c[f>>2]=d}if((b+16|0)==(e|0)){a[b+128>>0]=0;break}else{cj(e);break}}}while(0);return}function Ev(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+4|0;d=c[h>>2]|0;e=c[a>>2]|0;f=d-e>>2;if(f>>>0>=b>>>0){if(f>>>0>b>>>0?(g=e+(b<<2)|0,(d|0)!=(g|0)):0){do{d=d+-4|0}while((d|0)!=(g|0));c[h>>2]=d}}else Tv(a,b-f|0);return}function Fv(a,b){a=a|0;b=b|0;var d=0;d=c[a+8>>2]|0;if((c[a+12>>2]|0)-d>>2>>>0>b>>>0)d=(c[d+(b<<2)>>2]|0)!=0;else d=0;return d|0}function Gv(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;d=c[d+4>>2]|0;a=(c[a>>2]|0)+(d>>1)|0;if(d&1)b=c[(c[a>>2]|0)+b>>2]|0;Bb[b&255](a);return}function Hv(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do{if((m|0)==4){n=f;d=c[g>>2]|0;if(d>>>0>>0)while(1){l=b[d>>1]|0;m=l&65535;if(m>>>0>k>>>0){d=2;break a}do{if((l&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=l}else{if((l&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)>=56320){if((l&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;l=e[d>>1]|0;if((l&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}h=m&960;if(((h<<10)+65536|m<<10&64512|l&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(h>>>6)+1|0;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=d>>>2|240;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>2&15|d<<4&48|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m<<4&48|l>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=l&63|128}}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d;if(d>>>0>=f>>>0){d=0;break}}else d=0}}while(0);return d|0}function Iv(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;l=f;if((((l-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0){c[g>>2]=e+3;m=c[j>>2]|0}else m=h}else{m=h;l=f}q=i;h=c[g>>2]|0;e=h>>>0>>0;a:do{if(e&m>>>0>>0)while(1){e=a[h>>0]|0;o=e&255;if(o>>>0>k>>>0){e=2;break a}do{if(e<<24>>24>-1){b[m>>1]=e&255;c[g>>2]=h+1}else{if((e&255)<194){e=2;break a}if((e&255)<224){if((l-h|0)<2){e=1;break a}e=d[h+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|o<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+2;break}if((e&255)<240){if((l-h|0)<3){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;switch(o|0){case 224:{if((n&-32)<<24>>24!=-96){e=2;break a}break}case 237:{if((n&-32)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(n&255)<<6&4032|o<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+3;break}if((e&255)>=245){e=2;break a}if((l-h|0)<4){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;h=a[h+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){e=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=h&255;if((e&192|0)!=128){e=2;break a}if((q-m|0)<4){e=1;break a}o=o&7;h=n&255;n=p<<6;e=e&63;if((h<<12&258048|o<<18|n&4032|e)>>>0>k>>>0){e=2;break a}b[m>>1]=h<<2&60|p>>>4&3|((h>>>4&3|o<<2)<<6)+16320|55296;p=m+2|0;c[j>>2]=p;b[p>>1]=e|n&960|56320;c[g>>2]=(c[g>>2]|0)+4}}while(0);m=(c[j>>2]|0)+2|0;c[j>>2]=m;h=c[g>>2]|0;e=h>>>0>>0;if(!(e&m>>>0>>0)){r=39;break}}else r=39}while(0);if((r|0)==39)e=e&1;return e|0}function Jv(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do{if((e|0)!=0&g>>>0>>0){m=g;h=0;b:while(1){g=a[m>>0]|0;l=g&255;if(l>>>0>f>>>0){g=m;h=42;break a}do{if(g<<24>>24>-1)g=m+1|0;else{if((g&255)<194){g=m;h=42;break a}if((g&255)<224){if((n-m|0)<2){g=m;h=42;break a}g=d[m+1>>0]|0;if((g&192|0)!=128){g=m;h=42;break a}if((g&63|l<<6&1984)>>>0>f>>>0){g=m;h=42;break a}g=m+2|0;break}if((g&255)<240){g=m;if((n-g|0)<3){g=m;h=42;break a}j=a[m+1>>0]|0;i=a[m+2>>0]|0;switch(l|0){case 224:{if((j&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((j&-32)<<24>>24!=-128){h=22;break b}break}default:if((j&-64)<<24>>24!=-128){h=24;break b}}g=i&255;if((g&192|0)!=128){g=m;h=42;break a}if(((j&255)<<6&4032|l<<12&61440|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+3|0;break}if((g&255)>=245){g=m;h=42;break a}g=m;if((e-h|0)>>>0<2|(n-g|0)<4){g=m;h=42;break a}k=a[m+1>>0]|0;i=a[m+2>>0]|0;j=a[m+3>>0]|0;switch(l|0){case 240:{if((k+112&255)>=48){h=32;break b}break}case 244:{if((k&-16)<<24>>24!=-128){h=34;break b}break}default:if((k&-64)<<24>>24!=-128){h=36;break b}}i=i&255;if((i&192|0)!=128){g=m;h=42;break a}g=j&255;if((g&192|0)!=128){g=m;h=42;break a}if(((k&255)<<12&258048|l<<18&1835008|i<<6&4032|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+4|0;h=h+1|0}}while(0);h=h+1|0;if(!(h>>>0>>0&g>>>0>>0)){h=42;break a}else m=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42}while(0);if((h|0)==42)g=g-b|0;return g|0}function Kv(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do{if((k|0)==4){b=c[e>>2]|0;if(b>>>0>>0)while(1){j=c[b>>2]|0;if(j>>>0>i>>>0|(j&-2048|0)==55296){b=2;break a}do{if(j>>>0>=128){if(j>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}b=c[h>>2]|0;g=l-b|0;if(j>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=j}}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b;if(b>>>0>=d>>>0){b=0;break}}else b=0}}while(0);return b|0}function Lv(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;k=e;if((((k-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0){c[f>>2]=b+3;g=c[i>>2]|0;p=k}else p=k}else p=e;k=c[f>>2]|0;b=k>>>0>>0;a:do{if(b&g>>>0>>0)while(1){b=a[k>>0]|0;o=b&255;do{if(b<<24>>24>-1){if(o>>>0>j>>>0){b=2;break a}c[g>>2]=o;c[f>>2]=k+1}else{if((b&255)<194){b=2;break a}if((b&255)<224){if((p-k|0)<2){b=1;break a}b=d[k+1>>0]|0;if((b&192|0)!=128){b=2;break a}b=b&63|o<<6&1984;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+2;break}if((b&255)<240){if((p-k|0)<3){b=1;break a}l=a[k+1>>0]|0;b=a[k+2>>0]|0;switch(o|0){case 224:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case 237:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}b=b&255;if((b&192|0)!=128){b=2;break a}b=(l&255)<<6&4032|o<<12&61440|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+3;break}if((b&255)>=245){b=2;break a}if((p-k|0)<4){b=1;break a}n=a[k+1>>0]|0;b=a[k+2>>0]|0;l=a[k+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){b=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){b=2;break a}break}default:if((n&-64)<<24>>24!=-128){b=2;break a}}m=b&255;if((m&192|0)!=128){b=2;break a}b=l&255;if((b&192|0)!=128){b=2;break a}b=(n&255)<<12&258048|o<<18&1835008|m<<6&4032|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+4}}while(0);g=(c[i>>2]|0)+4|0;c[i>>2]=g;k=c[f>>2]|0;b=k>>>0>>0;if(!(b&g>>>0>>0)){q=38;break}}else q=38}while(0);if((q|0)==38)b=b&1;return b|0}function Mv(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do{if((e|0)!=0&g>>>0>>0){l=g;m=0;b:while(1){g=a[l>>0]|0;k=g&255;do{if(g<<24>>24>-1){if(k>>>0>f>>>0){g=l;h=42;break a}g=l+1|0}else{if((g&255)<194){g=l;h=42;break a}if((g&255)<224){if((n-l|0)<2){g=l;h=42;break a}g=d[l+1>>0]|0;if((g&192|0)!=128){g=l;h=42;break a}if((g&63|k<<6&1984)>>>0>f>>>0){g=l;h=42;break a}g=l+2|0;break}if((g&255)<240){g=l;if((n-g|0)<3){g=l;h=42;break a}i=a[l+1>>0]|0;h=a[l+2>>0]|0;switch(k|0){case 224:{if((i&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((i&-32)<<24>>24!=-128){h=22;break b}break}default:if((i&-64)<<24>>24!=-128){h=24;break b}}g=h&255;if((g&192|0)!=128){g=l;h=42;break a}if(((i&255)<<6&4032|k<<12&61440|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+3|0;break}if((g&255)>=245){g=l;h=42;break a}g=l;if((n-g|0)<4){g=l;h=42;break a}j=a[l+1>>0]|0;h=a[l+2>>0]|0;i=a[l+3>>0]|0;switch(k|0){case 240:{if((j+112&255)>=48){h=32;break b}break}case 244:{if((j&-16)<<24>>24!=-128){h=34;break b}break}default:if((j&-64)<<24>>24!=-128){h=36;break b}}h=h&255;if((h&192|0)!=128){g=l;h=42;break a}g=i&255;if((g&192|0)!=128){g=l;h=42;break a}if(((j&255)<<12&258048|k<<18&1835008|h<<6&4032|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+4|0}}while(0);m=m+1|0;if(!(m>>>0>>0&g>>>0>>0)){h=42;break a}else l=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42}while(0);if((h|0)==42)g=g-b|0;return g|0}function Nv(a){a=a|0;Im(45196);Im(45184);Im(45172);Im(45160);Im(45148);Im(45136);Im(45124);Im(45112);Im(45100);Im(45088);Im(45076);Im(45064);Im(45052);Im(45040);return}function Ov(a){a=a|0;Wm(45368);Wm(45356);Wm(45344);Wm(45332);Wm(45320);Wm(45308);Wm(45296);Wm(45284);Wm(45272);Wm(45260);Wm(45248);Wm(45236);Wm(45224);Wm(45212);return}function Pv(a){a=a|0;Im(46e3);Im(45988);Im(45976);Im(45964);Im(45952);Im(45940);Im(45928);Im(45916);Im(45904);Im(45892);Im(45880);Im(45868);Im(45856);Im(45844);Im(45832);Im(45820);Im(45808);Im(45796);Im(45784);Im(45772);Im(45760);Im(45748);Im(45736);Im(45724);return}function Qv(a){a=a|0;Wm(46292);Wm(46280);Wm(46268);Wm(46256);Wm(46244);Wm(46232);Wm(46220);Wm(46208);Wm(46196);Wm(46184);Wm(46172);Wm(46160);Wm(46148);Wm(46136);Wm(46124);Wm(46112);Wm(46100);Wm(46088);Wm(46076);Wm(46064);Wm(46052);Wm(46040);Wm(46028);Wm(46016);return}function Rv(a){a=a|0;Im(47104);Im(47092);Im(47080);Im(47068);Im(47056);Im(47044);Im(47032);Im(47020);Im(47008);Im(46996);Im(46984);Im(46972);Im(46960);Im(46948);Im(46936);Im(46924);Im(46912);Im(46900);Im(46888);Im(46876);Im(46864);Im(46852);Im(46840);Im(46828);return}function Sv(a){a=a|0;Wm(47396);Wm(47384);Wm(47372);Wm(47360);Wm(47348);Wm(47336);Wm(47324);Wm(47312);Wm(47300);Wm(47288);Wm(47276);Wm(47264);Wm(47252);Wm(47240);Wm(47228);Wm(47216);Wm(47204);Wm(47192);Wm(47180);Wm(47168);Wm(47156);Wm(47144);Wm(47132);Wm(47120);return}function Tv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;g=c[a+8>>2]|0;d=c[a+4>>2]|0;if(g-d>>2>>>0>>0){e=c[a>>2]|0;h=d-e>>2;f=h+b|0;if(f>>>0>1073741823)$i(a);d=g-e|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?f:d}else d=1073741823;Vv(j,d,h,a+16|0);h=j+8|0;g=c[h>>2]|0;iw(g|0,0,b<<2|0)|0;c[h>>2]=g+(b<<2);Wv(a,j);Xv(j)}else Uv(a,b);i=k;return}function Uv(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Vv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;c[b+12>>2]=0;c[b+16>>2]=f;do{if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=bj(d<<2)|0;break}}else f=0}while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[b+12>>2]=f+(d<<2);return}function Wv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;g=a+4|0;d=b+4|0;f=(c[g>>2]|0)-e|0;h=(c[d>>2]|0)+(0-(f>>2)<<2)|0;c[d>>2]=h;lw(h|0,e|0,f|0)|0;f=c[a>>2]|0;c[a>>2]=c[d>>2];c[d>>2]=f;f=b+8|0;e=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=e;f=a+8|0;a=b+12|0;e=c[f>>2]|0;c[f>>2]=c[a>>2];c[a>>2]=e;c[b>>2]=c[d>>2];return}function Xv(b){b=b|0;var d=0,e=0,f=0;e=c[b+4>>2]|0;f=b+8|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do{d=d+-4|0}while((d|0)!=(e|0));c[f>>2]=d}e=c[b>>2]|0;do{if(e){d=c[b+16>>2]|0;if((d|0)==(e|0)){a[d+112>>0]=0;break}else{cj(e);break}}}while(0);return}function Yv(b,d){b=b|0;d=d|0;var e=0;if(d>>>0>1073741823)$i(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=bj(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function Zv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do{if((a|0)!=(b|0)){f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0}}while(0);i=j;return+e}function _v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do{if((a|0)!=(b|0)){f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0}}while(0);i=j;return+e}function $v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do{if((a|0)==(b|0)){c[d>>2]=4;e=0}else{f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0;break}if((a|0)==34)c[d>>2]=4}}while(0);i=j;return+e}function aw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;f=0;b=0;break}g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;b=Xj(b,j,f,Xo()|0)|0;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(d|0)){c[e>>2]=4;f=0;b=0;break}if((f|0)==34){c[e>>2]=4;f=-1;b=-1}else f=D}else{c[e>>2]=4;f=0;b=0}}while(0);D=f;i=k;return b|0}function bw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}}while(0);i=l;return b|0}function cw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}}while(0);i=l;return b|0}function dw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==34){c[e>>2]=4;b=-1;break}else{b=b&65535;break}}else{c[e>>2]=4;b=0}}while(0);i=l;return b|0}function ew(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do{if((a|0)!=(b|0)){g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;a=Yj(a,j,e,Xo()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;e=0;a=0;break}if((f|0)==34){c[d>>2]=4;j=(e|0)>0|(e|0)==0&a>>>0>0;D=j?2147483647:-2147483648;i=k;return(j?-1:0)|0}}else{c[d>>2]=4;e=0;a=0}}while(0);D=e;i=k;return a|0}function fw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do{if((a|0)==(b|0)){c[d>>2]=4;a=0}else{g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;a=Yj(a,j,e,Xo()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;a=0;break}do{if((f|0)==34){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}}while(0);a=-2147483648}}while(0);i=k;return a|0}function gw(){}function hw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return(D=d,a-c>>>0|0)|0}function iw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function jw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return(D=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function kw(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<>>c-32|0}function lw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Wa(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function mw(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else lw(b,c,d)|0;return b|0}function ow(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<>c-32|0}function pw(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[m+(b>>>24)>>0]|0)+24|0}function qw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=$(e,f)|0;d=a>>>16;a=(c>>>16)+($(e,d)|0)|0;e=b>>>16;b=$(e,f)|0;return(D=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function rw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=hw(j^a,i^b,j,i)|0;g=D;a=f^j;b=e^i;return hw((ww(h,g,hw(f^c,e^d,f,e)|0,D,0)|0)^a,D^b,a,b)|0}function sw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=hw(h^a,g^b,h,g)|0;b=D;ww(a,b,hw(l^d,k^e,l,k)|0,D,j)|0;e=hw(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=D;i=f;return(D=d,e)|0}function tw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=qw(e,f)|0;a=D;return(D=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function uw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ww(a,b,c,d,0)|0}function vw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;ww(a,b,d,e,f)|0;i=g;return(D=c[f+4>>2]|0,c[f>>2]|0)|0}function ww(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return(D=n,f)|0}else{if(!g){n=0;f=0;return(D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return(D=n,f)|0}}g=(i|0)==0;do{if(h){if(!g){g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return(D=n,f)|0}g=h-1|0;if(g&h){i=(ba(h|0)|0)+33-(ba(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return(D=o,p)|0}else{p=pw(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return(D=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return(D=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return(D=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((pw(i|0)|0)>>>0);return(D=o,p)|0}g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return(D=o,p)|0}}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=jw(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;hw(k,d,e,n)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=hw(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return(D=o,p)|0}function xw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return yb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function yw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;zb[a&15](b|0,c|0,d|0,e|0,f|0)}function zw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;return Ab[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function Aw(a,b){a=a|0;b=b|0;Bb[a&255](b|0)}function Bw(a,b,c){a=a|0;b=b|0;c=c|0;Cb[a&127](b|0,c|0)}function Cw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Db[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Dw(a,b){a=a|0;b=b|0;return Eb[a&127](b|0)|0}function Ew(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return Fb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function Fw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gb[a&63](b|0,c|0,d|0)|0}function Gw(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;Hb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0,n|0,o|0,p|0)}function Hw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Ib[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function Iw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Jb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Jw(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;Kb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Kw(a,b,c){a=a|0;b=b|0;c=c|0;return Lb[a&63](b|0,c|0)|0}function Lw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Mb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function Mw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return+Nb[a&3](b|0,c|0,d|0)}function Nw(a){a=a|0;return Ob[a&15]()|0}function Ow(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Pb[a&31](b|0,c|0,d|0,e|0)|0}function Pw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qb[a&15](b|0,c|0,d|0)}function Qw(a){a=a|0;Rb[a&7]()}function Rw(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Sb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Sw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Tb[a&7](b|0,c|0,d|0,e|0,+f)|0}function Tw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ub[a&63](b|0,c|0,d|0,e|0)}function Uw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ca(0);return 0}function Vw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(1)}function Ww(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ca(2);return 0}function Xw(a){a=a|0;ca(3)}function Yw(a,b){a=a|0;b=b|0;ca(4)}function Zw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(5);return 0}function _w(a){a=a|0;ca(6);return 0}function $w(a){a=a|0;return cb(a|0)|0}function ax(a){a=a|0;return rb(a|0)|0}function bx(a){a=a|0;return hb(a|0)|0}function cx(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;ca(7);return 0}function dx(a,b,c){a=a|0;b=b|0;c=c|0;ca(8);return 0}function ex(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;ca(9)}function fx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(10)}function gx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ca(11)}function hx(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ca(12)}function ix(a,b){a=a|0;b=b|0;ca(13);return 0}function jx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(14);return 0}function kx(a,b,c){a=a|0;b=b|0;c=c|0;ca(15);return 0}function lx(){ca(16);return 0}function mx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(17);return 0}function nx(a,b,c){a=a|0;b=b|0;c=c|0;ca(18)}function ox(a,b,c){a=a|0;b=b|0;c=c|0;lb(a|0,b|0,c|0)}function px(){ca(19)}function qx(){pb()}function rx(){Xa()}function sx(){mb()}function tx(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ca(20);return 0}function ux(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ca(21);return 0}function vx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(22)}function di(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8900]|0;c[b+4580>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+256;j=b+160|0;g=b+156|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function ei(a){a=a|0;var b=0,d=0;c[a>>2]=35660;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function fi(a){a=a|0;var b=0,d=0;c[a>>2]=35660;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function gi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function hi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;pi(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function ii(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);ji(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function ji(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;k=b+172|0;y=(c[k>>2]|0)+4|0;if((c[b+28>>2]|0)==1)l=c[b+20>>2]|0;else l=1;d=$(l<<1,y)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))x=6;if((x|0)==6?(o=0,e=ka(67,d|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[D>>2]|0)+1|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!l)x=19;else{if(!(l>>>0>1073741823?(o=0,ha(178,z|0),w=o,o=0,w&1):0))x=17;if((x|0)==17?(f=l<<2,o=0,g=ka(67,f|0)|0,w=o,o=0,!(w&1)):0){c[z>>2]=g;x=g+(l<<2)|0;c[z+8>>2]=x;iw(g|0,0,f|0)|0;c[B>>2]=x;x=19;break}e=Na()|0;d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((x|0)==19){m=b+8|0;d=c[m>>2]|0;b:do{if((d|0)>0){n=b+4596|0;p=$(l,y)|0;q=p+1|0;r=b+4600|0;s=b+160|0;t=b+168|0;u=b+164|0;v=b+156|0;w=b+88|0;j=b+4592|0;if((l|0)>0)h=0;else{h=0;while(1){g=c[C>>2]|0;e=g+1|0;c[n>>2]=e;f=g+q|0;c[r>>2]=f;if(!(h&1))e=q;else{c[n>>2]=f;c[r>>2]=e;e=1}l=c[s>>2]|0;if((l|0)<=(h|0)?(h|0)<((c[t>>2]|0)+l|0):0){l=c[w>>2]|0;o=0;Aa(c[(c[l>>2]|0)+8>>2]|0,l|0,g+(e+((c[v>>2]|0)-p))|0,c[u>>2]|0,y|0);l=o;o=0;if(l&1)break;d=c[m>>2]|0}h=h+1|0;if((h|0)>=(d|0)){x=50;break b}}e=Na()|0;break}c:while(1){e=c[C>>2]|0;d=e+1|0;c[n>>2]=d;e=e+q|0;c[r>>2]=e;if(h&1){c[n>>2]=e;c[r>>2]=d;d=e}g=c[z>>2]|0;e=d;f=0;do{c[j>>2]=c[g+(f<<2)>>2];x=c[k>>2]|0;a[e+x>>0]=a[e+(x+-1)>>0]|0;a[(c[r>>2]|0)+-1>>0]=a[c[n>>2]>>0]|0;o=0;ia(83,b|0,0);x=o;o=0;if(x&1){x=38;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[j>>2];e=(c[n>>2]|0)+y|0;c[n>>2]=e;d=c[r>>2]|0;c[r>>2]=d+y;f=f+1|0}while((f|0)<(l|0));x=c[s>>2]|0;if(((x|0)<=(h|0)?(h|0)<((c[t>>2]|0)+x|0):0)?(x=c[w>>2]|0,o=0,Aa(c[(c[x>>2]|0)+8>>2]|0,x|0,d+(y+((c[v>>2]|0)-p))|0,c[u>>2]|0,y|0),x=o,o=0,x&1):0){x=30;break}h=h+1|0;if((h|0)>=(c[m>>2]|0)){x=50;break b}}if((x|0)==30){e=Na()|0;break}else if((x|0)==38){e=Na()|0;break}}else x=50}while(0);do{if((x|0)==50){o=0;ha(183,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);i=A;return}}while(0);d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}function ki(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=b+4596|0;f=c[p>>2]|0;t=b+172|0;e=c[t>>2]|0;if((e|0)<=0)return;q=b+4600|0;r=b+4604|0;s=b+4592|0;k=f;i=d[f+-1>>0]|0;f=d[f>>0]|0;o=0;while(1){m=c[q>>2]|0;j=a[m+(o+-1)>>0]|0;n=j&255;h=o+1|0;g=d[k+h>>0]|0;l=c[r>>2]|0;k=f-i|0;i=i-n|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;m=m+o|0;if(!l){e=mi(b,j,m,e-o|0)|0;f=e+o|0;if((f|0)!=(c[t>>2]|0)){n=ni(b,n,d[(c[p>>2]|0)+f>>0]|0)|0;a[(c[q>>2]|0)+f>>0]=n;n=c[s>>2]|0;c[s>>2]=(n|0)<1?0:n+-1|0;e=e+1|0}h=e+o|0;g=c[p>>2]|0;f=d[g+(h+-1)>>0]|0;g=d[g+h>>0]|0}else{e=f-n>>31;if((e^i|0)<0)e=f;else e=n+((e^k|0)<0?0:k)|0;n=li(b,l,d[m>>0]|0,e,0)|0;a[(c[q>>2]|0)+o>>0]=n}e=c[t>>2]|0;if((e|0)<=(h|0))break;k=c[p>>2]|0;i=f;f=g;o=h}return}function li(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&255;return d|0}d=f&~(h>>31);d=d&255;return d|0}function mi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4592|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;iw(e|0,d|0,g|0)|0;return g|0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=b-d|0;h=a+128|0;e=a+136|0;if((((g|0)>-1?g:0-g|0)|0)>(c[e>>2]|0)){b=$(oi(a,a+4568|0)|0,d-b>>31|1)|0;f=c[e>>2]|0;g=f<<1|1;b=($(b,g)|0)+d|0;if((b|0)>=(0-f|0)){e=c[h>>2]|0;if((e+f|0)<(b|0))b=b-($(c[a+132>>2]|0,g)|0)|0}else{b=($(c[a+132>>2]|0,g)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&255;return a|0}a=e&~(b>>31);a=a&255;return a|0}else{d=oi(a,a+4580|0)|0;g=c[e>>2]|0;f=g<<1|1;b=($(f,d)|0)+b|0;if((b|0)>=(0-g|0)){e=c[h>>2]|0;if((e+g|0)<(b|0))b=b-($(c[a+132>>2]|0,f)|0)|0}else{b=($(c[a+132>>2]|0,f)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&255;return a|0}a=e&~(b>>31);a=a&255;return a|0}return 0}function oi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function pi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function qi(a){a=a|0;cj(a);return}function ri(a){a=a|0;return 50767}function si(a,b,c){a=a|0;b=b|0;c=c|0;Gm(a,50754,12);return}function ti(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+16|0;t=s;c[t>>2]=0;u=t+4|0;c[u>>2]=0;c[t+8>>2]=0;q=t+8|0;o=0;g=ka(67,1)|0;p=o;o=0;a:do{if((!(p&1)?(p=g+1|0,a[g>>0]=e,c[t>>2]=g,c[u>>2]=p,c[q>>2]=p,o=0,ia(84,t|0,d&65535|0),p=o,o=0,!(p&1)):0)?(o=0,ia(84,t|0,b&65535|0),p=o,o=0,!(p&1)):0){m=f&255;g=c[u>>2]|0;e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);p=o;o=0;if(p&1){r=52;break}b=c[t>>2]|0;e=c[q>>2]|0;d=b}l=d;g=e-l|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;e=c[u>>2]|0;k=e-l|0;if(!g){g=0;j=0}else r=12}else{k=c[u>>2]|0;g=2147483647;e=k;k=k-l|0;r=12}if((r|0)==12){o=0;j=ka(67,g|0)|0;p=o;o=0;if(p&1){r=52;break}}a[j+k>>0]=m;n=e-l|0;p=j+(k-n)|0;lw(p|0,d|0,n|0)|0;c[t>>2]=p;c[u>>2]=j+(k+1);c[q>>2]=j+g;if(b)cj(b)}else{a[g>>0]=m;c[u>>2]=(c[u>>2]|0)+1}b:do{if((f|0)>0){p=0;while(1){p=p+1|0;n=p&255;g=c[u>>2]|0;d=c[q>>2]|0;if(g>>>0>=d>>>0){b=c[t>>2]|0;e=b;j=g-e+1|0;if((j|0)<0){o=0;ha(178,t|0);m=o;o=0;if(m&1)break;b=c[t>>2]|0;e=b;d=c[q>>2]|0}m=b;g=d-m|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;d=c[u>>2]|0;k=d-m|0;if(!g){l=0;j=0}else r=25}else{k=c[u>>2]|0;g=2147483647;d=k;k=k-m|0;r=25}if((r|0)==25){r=0;o=0;j=ka(67,g|0)|0;l=o;o=0;if(l&1)break;else l=g}a[j+k>>0]=n;g=j+(k+1)|0;m=d-m|0;n=j+(k-m)|0;lw(n|0,b|0,m|0)|0;c[t>>2]=n;c[u>>2]=g;c[q>>2]=j+l;if(e){cj(e);g=c[u>>2]|0}}else{a[g>>0]=n;g=(c[u>>2]|0)+1|0;c[u>>2]=g}e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);n=o;o=0;if(n&1)break;b=c[t>>2]|0;e=c[q>>2]|0;d=b}m=d;g=e-m|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;j=c[u>>2]|0;k=j-m|0;if(!g){l=0;e=0}else r=36}else{k=c[u>>2]|0;g=2147483647;j=k;k=k-m|0;r=36}if((r|0)==36){r=0;o=0;e=ka(67,g|0)|0;n=o;o=0;if(n&1)break;else l=g}a[e+k>>0]=17;g=e+(k+1)|0;m=j-m|0;n=e+(k-m)|0;lw(n|0,d|0,m|0)|0;c[t>>2]=n;c[u>>2]=g;c[q>>2]=e+l;if(b){cj(b);g=c[u>>2]|0}}else{a[g>>0]=17;g=(c[u>>2]|0)+1|0;c[u>>2]=g}e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);n=o;o=0;if(n&1)break;b=c[t>>2]|0;e=c[q>>2]|0;d=b}l=d;g=e-l|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;e=c[u>>2]|0;k=e-l|0;if(!g){g=0;j=0}else r=48}else{k=c[u>>2]|0;g=2147483647;e=k;k=k-l|0;r=48}if((r|0)==48){r=0;o=0;j=ka(67,g|0)|0;n=o;o=0;if(n&1)break}a[j+k>>0]=0;m=e-l|0;n=j+(k-m)|0;lw(n|0,d|0,m|0)|0;c[t>>2]=n;c[u>>2]=j+(k+1);c[q>>2]=j+g;if(b)cj(b)}else{a[g>>0]=0;c[u>>2]=(c[u>>2]|0)+1}if((p|0)>=(f|0))break b}h=Na()|0;break a}}while(0);o=0;k=ka(67,20)|0;f=o;o=0;if(!(f&1)){c[k>>2]=36800;a[k+4>>0]=-9;b=k+8|0;c[b>>2]=0;j=k+12|0;c[j>>2]=0;e=k+16|0;c[e>>2]=0;g=c[u>>2]|0;f=c[t>>2]|0;d=g-f|0;do{if((g|0)!=(f|0)){if(!((d|0)<0?(o=0,ha(178,b|0),f=o,o=0,f&1):0))r=62;if((r|0)==62?(o=0,h=ka(67,d|0)|0,f=o,o=0,!(f&1)):0){c[j>>2]=h;c[b>>2]=h;c[e>>2]=h+d;g=c[t>>2]|0;e=c[u>>2]|0;if((g|0)==(e|0))break;do{a[h>>0]=a[g>>0]|0;h=(c[j>>2]|0)+1|0;c[j>>2]=h;g=g+1|0}while((g|0)!=(e|0));g=c[t>>2]|0;break}h=Na()|0;g=c[b>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}cj(k);break a}}while(0);if(!g){i=s;return k|0}if((c[u>>2]|0)!=(g|0))c[u>>2]=g;cj(g);i=s;return k|0}else r=52}else r=52}while(0);if((r|0)==52)h=Na()|0;g=c[t>>2]|0;if(!g)Ya(h|0);if((c[u>>2]|0)!=(g|0))c[u>>2]=g;cj(g);Ya(h|0);return 0}function ui(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;r=u+28|0;w=u+16|0;t=u+4|0;s=u;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;p=bj(5)|0;c[w>>2]=p;q=w+8|0;c[q>>2]=p+5;a[p>>0]=74;a[p+1>>0]=70;a[p+2>>0]=73;a[p+3>>0]=70;a[p+4>>0]=0;c[x>>2]=p+5;o=0;ia(84,w|0,c[b>>2]&65535|0);p=o;o=0;a:do{if(!(p&1)){m=c[b+4>>2]&255;d=c[x>>2]|0;f=c[q>>2]|0;if(d>>>0>=f>>>0){g=c[w>>2]|0;h=g;j=d-h+1|0;if((j|0)<0){o=0;ha(178,w|0);p=o;o=0;if(p&1){v=43;break}h=c[w>>2]|0;f=c[q>>2]|0;g=h}l=g;d=f-l|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;f=c[x>>2]|0;k=f-l|0;if(!d){d=0;j=0}else v=10}else{k=c[x>>2]|0;d=2147483647;f=k;k=k-l|0;v=10}if((v|0)==10){o=0;j=ka(67,d|0)|0;p=o;o=0;if(p&1){v=43;break}}a[j+k>>0]=m;n=f-l|0;p=j+(k-n)|0;lw(p|0,g|0,n|0)|0;c[w>>2]=p;c[x>>2]=j+(k+1);c[q>>2]=j+d;if(h)cj(h)}else{a[d>>0]=m;c[x>>2]=(c[x>>2]|0)+1}o=0;ia(84,w|0,c[b+8>>2]&65535|0);p=o;o=0;if(!(p&1)?(o=0,ia(84,w|0,c[b+12>>2]&65535|0),p=o,o=0,!(p&1)):0){p=b+16|0;n=c[p>>2]&255;d=c[x>>2]|0;g=c[q>>2]|0;if(d>>>0>=g>>>0){h=c[w>>2]|0;f=h;j=d-f+1|0;if((j|0)<0){o=0;ha(178,w|0);m=o;o=0;if(m&1){v=43;break}h=c[w>>2]|0;f=h;g=c[q>>2]|0}m=h;d=g-m|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;j=c[x>>2]|0;k=j-m|0;if(!d){l=0;g=0}else v=23}else{k=c[x>>2]|0;d=2147483647;j=k;k=k-m|0;v=23}if((v|0)==23){o=0;g=ka(67,d|0)|0;l=o;o=0;if(l&1){v=43;break}else l=d}a[g+k>>0]=n;d=g+(k+1)|0;m=j-m|0;n=g+(k-m)|0;lw(n|0,h|0,m|0)|0;c[w>>2]=n;c[x>>2]=d;c[q>>2]=g+l;if(f){cj(f);d=c[x>>2]|0}}else{a[d>>0]=n;d=(c[x>>2]|0)+1|0;c[x>>2]=d}n=b+20|0;m=c[n>>2]&255;f=c[q>>2]|0;if(d>>>0>=f>>>0){g=c[w>>2]|0;h=g;j=d-h+1|0;if((j|0)<0){o=0;ha(178,w|0);l=o;o=0;if(l&1){v=43;break}h=c[w>>2]|0;f=c[q>>2]|0;g=h}l=g;d=f-l|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;f=c[x>>2]|0;k=f-l|0;if(!d){d=0;j=0}else v=34}else{k=c[x>>2]|0;d=2147483647;f=k;k=k-l|0;v=34}if((v|0)==34){o=0;j=ka(67,d|0)|0;y=o;o=0;if(y&1){v=43;break}}a[j+k>>0]=m;m=f-l|0;y=j+(k-m)|0;lw(y|0,g|0,m|0)|0;c[w>>2]=y;c[x>>2]=j+(k+1);c[q>>2]=j+d;if(h)cj(h)}else{a[d>>0]=m;c[x>>2]=(c[x>>2]|0)+1}d=c[p>>2]|0;do{if((d|0)>0){if(!(c[b+24>>2]|0)){c[s>>2]=c[x>>2];y=0+($(d*3|0,c[n>>2]|0)|0)|0;o=0;c[r>>2]=c[s>>2];va(15,w|0,r|0,0,y|0)|0;y=o;o=0;if(y&1){v=43;break a}else break}f=Ma(16)|0;o=0;wa(5,t|0,50792,57);y=o;o=0;if(!(y&1)){o=0;d=ua(1)|0;y=o;o=0;if(!(y&1)?(o=0,Aa(36,f|0,1,d|0,t|0),y=o,o=0,!(y&1)):0){o=0;wa(6,f|0,824,96);o=0;e=0}else e=1;d=Na()|0;Im(t);if(!e){e=d;break a}}else d=Na()|0;La(f|0);e=d;break a}}while(0);o=0;k=ka(67,20)|0;y=o;o=0;if(!(y&1)){c[k>>2]=36800;a[k+4>>0]=-32;h=k+8|0;c[h>>2]=0;j=k+12|0;c[j>>2]=0;f=k+16|0;c[f>>2]=0;d=c[x>>2]|0;y=c[w>>2]|0;g=d-y|0;do{if((d|0)!=(y|0)){if(!((g|0)<0?(o=0,ha(178,h|0),y=o,o=0,y&1):0))v=53;if((v|0)==53?(o=0,e=ka(67,g|0)|0,y=o,o=0,!(y&1)):0){c[j>>2]=e;c[h>>2]=e;c[f>>2]=e+g;d=c[w>>2]|0;f=c[x>>2]|0;if((d|0)==(f|0))break;do{a[e>>0]=a[d>>0]|0;e=(c[j>>2]|0)+1|0;c[j>>2]=e;d=d+1|0}while((d|0)!=(f|0));d=c[w>>2]|0;break}d=Na()|0;e=c[h>>2]|0;if(e){if((c[j>>2]|0)!=(e|0))c[j>>2]=e;cj(e)}cj(k);v=44;break a}}while(0);if(!d){i=u;return k|0}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return k|0}else v=43}else v=43}else v=43}while(0);if((v|0)==43){d=Na()|0;v=44}if((v|0)==44)e=d;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0);return 0}function vi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;k=i;i=i+16|0;m=k;c[m>>2]=0;n=m+4|0;c[n>>2]=0;c[m+8>>2]=0;o=0;d=ka(67,1)|0;j=o;o=0;a:do{if((((((!(j&1)?(j=d+1|0,a[d>>0]=1,c[m>>2]=d,c[n>>2]=j,c[m+8>>2]=j,o=0,ia(84,m|0,c[b>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+4>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+8>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+12>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+16>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,l=ka(67,20)|0,j=o,o=0,!(j&1)):0){c[l>>2]=36800;a[l+4>>0]=-8;g=l+8|0;c[g>>2]=0;j=l+12|0;c[j>>2]=0;b=l+16|0;c[b>>2]=0;d=c[n>>2]|0;p=c[m>>2]|0;f=d-p|0;do{if((d|0)!=(p|0)){if(!((f|0)<0?(o=0,ha(178,g|0),p=o,o=0,p&1):0))h=11;if((h|0)==11?(o=0,e=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[j>>2]=e;c[g>>2]=e;c[b>>2]=e+f;d=c[m>>2]|0;b=c[n>>2]|0;if((d|0)==(b|0))break;do{a[e>>0]=a[d>>0]|0;e=(c[j>>2]|0)+1|0;c[j>>2]=e;d=d+1|0}while((d|0)!=(b|0));d=c[m>>2]|0;break}e=Na()|0;d=c[g>>2]|0;if(d){if((c[j>>2]|0)!=(d|0))c[j>>2]=d;cj(d)}cj(l);break a}}while(0);if(!d){i=k;return l|0}if((c[n>>2]|0)!=(d|0))c[n>>2]=d;cj(d);i=k;return l|0}else h=25}while(0);if((h|0)==25)e=Na()|0;d=c[m>>2]|0;if(!d)Ya(e|0);if((c[n>>2]|0)!=(d|0))c[n>>2]=d;cj(d);Ya(e|0);return 0}function wi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=bj(5)|0;a[h>>0]=109;a[h+1>>0]=114;a[h+2>>0]=102;a[h+3>>0]=120;a[h+4>>0]=b;o=0;g=ka(67,20)|0;f=o;o=0;if(f&1){g=Na()|0;cj(h);Ya(g|0)}c[g>>2]=36800;a[g+4>>0]=-24;b=g+8|0;c[b>>2]=0;d=g+12|0;c[d>>2]=0;e=g+16|0;c[e>>2]=0;o=0;f=ka(67,5)|0;i=o;o=0;if(!(i&1)){c[d>>2]=f;c[b>>2]=f;c[e>>2]=f+5;a[f>>0]=109;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=h+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=f+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=f+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;a[i>>0]=a[f+1>>0]|0;c[d>>2]=(c[d>>2]|0)+1;cj(h);return g|0}i=Na()|0;cj(g);cj(h);Ya(i|0);return 0}function xi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;t=w+8|0;o=0;g=ka(67,1)|0;s=o;o=0;a:do{if(!(s&1)){k=g+1|0;s=k;a[g>>0]=d;c[w>>2]=g;c[x>>2]=s;c[t>>2]=s;if((d|0)>0){j=k;s=0;do{r=s+b&255;if(j>>>0>=k>>>0){g=c[w>>2]|0;l=g;j=j-l+1|0;if((j|0)<0){o=0;ha(178,w|0);q=o;o=0;if(q&1){u=28;break}l=c[w>>2]|0;k=c[t>>2]|0;q=l}else q=g;p=q;g=k-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;k=c[x>>2]|0;m=k-p|0;if(!g){n=0;j=0}else u=13}else{m=c[x>>2]|0;g=2147483647;k=m;m=m-p|0;u=13}if((u|0)==13){u=0;o=0;j=ka(67,g|0)|0;n=o;o=0;if(n&1){u=28;break}else n=g}a[j+m>>0]=r;g=j+(m+1)|0;p=k-p|0;r=j+(m-p)|0;lw(r|0,q|0,p|0)|0;c[w>>2]=r;c[x>>2]=g;c[t>>2]=j+n;if(l){cj(l);g=c[x>>2]|0}}else{a[j>>0]=r;g=(c[x>>2]|0)+1|0;c[x>>2]=g}k=c[t>>2]|0;if(g>>>0>=k>>>0){l=c[w>>2]|0;j=l;m=g-j+1|0;if((m|0)<0){o=0;ha(178,w|0);r=o;o=0;if(r&1){u=28;break}l=c[w>>2]|0;j=l;k=c[t>>2]|0}p=l;g=k-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?m:g;m=c[x>>2]|0;k=m-p|0;if(!g){g=0;n=0}else u=24}else{k=c[x>>2]|0;g=2147483647;m=k;k=k-p|0;u=24}if((u|0)==24){u=0;o=0;n=ka(67,g|0)|0;r=o;o=0;if(r&1){u=28;break}}a[n+k>>0]=0;q=m-p|0;r=n+(k-q)|0;lw(r|0,l|0,q|0)|0;c[w>>2]=r;c[x>>2]=n+(k+1);c[t>>2]=n+g;if(j)cj(j)}else{a[g>>0]=0;c[x>>2]=(c[x>>2]|0)+1}s=s+1|0;j=c[x>>2]|0;k=c[t>>2]|0}while((s|0)<(d|0));if((u|0)==28){h=Na()|0;break}g=e&255;if(j>>>0>>0){a[j>>0]=g;j=(c[x>>2]|0)+1|0;c[x>>2]=j}else u=37}else{j=k;g=e&255;u=37}if((u|0)==37){l=c[w>>2]|0;m=l;n=j-m+1|0;if((n|0)<0){o=0;ha(178,w|0);e=o;o=0;if(e&1){u=29;break}m=c[w>>2]|0;k=c[t>>2]|0;l=m}r=l;j=k-r|0;if(j>>>0<1073741823){j=j<<1;j=j>>>0>>0?n:j;n=c[x>>2]|0;p=n-r|0;if(!j){q=0;k=0}else u=43}else{p=c[x>>2]|0;j=2147483647;n=p;p=p-r|0;u=43}if((u|0)==43){o=0;k=ka(67,j|0)|0;e=o;o=0;if(e&1){u=29;break}else q=j}a[k+p>>0]=g;j=k+(p+1)|0;b=n-r|0;e=k+(p-b)|0;lw(e|0,l|0,b|0)|0;c[w>>2]=e;c[x>>2]=j;c[t>>2]=k+q;if(m){cj(m);j=c[x>>2]|0}}r=f&255;g=c[t>>2]|0;if(j>>>0>=g>>>0){k=c[w>>2]|0;l=k;j=j-l+1|0;if((j|0)<0){o=0;ha(178,w|0);f=o;o=0;if(f&1){u=29;break}l=c[w>>2]|0;g=c[t>>2]|0;k=l}q=k;g=g-q|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;m=c[x>>2]|0;n=m-q|0;if(!g){p=0;j=0}else u=54}else{n=c[x>>2]|0;g=2147483647;m=n;n=n-q|0;u=54}if((u|0)==54){o=0;j=ka(67,g|0)|0;f=o;o=0;if(f&1){u=29;break}else p=g}a[j+n>>0]=r;g=j+(n+1)|0;e=m-q|0;f=j+(n-e)|0;lw(f|0,k|0,e|0)|0;c[w>>2]=f;c[x>>2]=g;c[t>>2]=j+p;if(l){cj(l);g=c[x>>2]|0}}else{a[j>>0]=r;g=(c[x>>2]|0)+1|0;c[x>>2]=g}j=c[t>>2]|0;if(g>>>0>=j>>>0){k=c[w>>2]|0;l=k;m=g-l+1|0;if((m|0)<0){o=0;ha(178,w|0);f=o;o=0;if(f&1){u=29;break}l=c[w>>2]|0;j=c[t>>2]|0;k=l}p=k;g=j-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?m:g;j=c[x>>2]|0;n=j-p|0;if(!g){g=0;m=0}else u=65}else{n=c[x>>2]|0;g=2147483647;j=n;n=n-p|0;u=65}if((u|0)==65){o=0;m=ka(67,g|0)|0;f=o;o=0;if(f&1){u=29;break}}a[m+n>>0]=0;e=j-p|0;f=m+(n-e)|0;lw(f|0,k|0,e|0)|0;c[w>>2]=f;c[x>>2]=m+(n+1);c[t>>2]=m+g;if(l)cj(l)}else{a[g>>0]=0;c[x>>2]=(c[x>>2]|0)+1}o=0;n=ka(67,20)|0;t=o;o=0;if(!(t&1)){c[n>>2]=36800;a[n+4>>0]=-38;l=n+8|0;c[l>>2]=0;m=n+12|0;c[m>>2]=0;j=n+16|0;c[j>>2]=0;g=c[x>>2]|0;t=c[w>>2]|0;k=g-t|0;do{if((g|0)!=(t|0)){if(!((k|0)<0?(o=0,ha(178,l|0),t=o,o=0,t&1):0))u=72;if((u|0)==72?(o=0,h=ka(67,k|0)|0,t=o,o=0,!(t&1)):0){c[m>>2]=h;c[l>>2]=h;c[j>>2]=h+k;g=c[w>>2]|0;j=c[x>>2]|0;if((g|0)==(j|0))break;do{a[h>>0]=a[g>>0]|0;h=(c[m>>2]|0)+1|0;c[m>>2]=h;g=g+1|0}while((g|0)!=(j|0));g=c[w>>2]|0;break}h=Na()|0;g=c[l>>2]|0;if(g){if((c[m>>2]|0)!=(g|0))c[m>>2]=g;cj(g)}cj(n);break a}}while(0);if(!g){i=v;return n|0}if((c[x>>2]|0)!=(g|0))c[x>>2]=g;cj(g);i=v;return n|0}else u=29}else u=29}while(0);if((u|0)==29)h=Na()|0;g=c[w>>2]|0;if(!g)Ya(h|0);if((c[x>>2]|0)!=(g|0))c[x>>2]=g;cj(g);Ya(h|0);return 0}function yi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=(d&65535)>>>8&255;o=b+4|0;e=c[o>>2]|0;p=b+8|0;f=c[p>>2]|0;if(e>>>0>=f>>>0){g=c[b>>2]|0;h=g;i=e-h+1|0;if((i|0)<0){$i(b);h=c[b>>2]|0;f=c[p>>2]|0;g=h}m=g;e=f-m|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?i:e;i=c[o>>2]|0;f=i-m|0;if(!e){l=0;k=0;j=f;e=i}else q=8}else{f=c[o>>2]|0;e=2147483647;i=f;f=f-m|0;q=8}if((q|0)==8){l=e;k=bj(e)|0;j=f;e=i}a[k+j>>0]=n;f=k+(j+1)|0;m=e-m|0;n=k+(j-m)|0;lw(n|0,g|0,m|0)|0;c[b>>2]=n;c[o>>2]=f;c[p>>2]=k+l;if(h){cj(h);f=c[o>>2]|0}}else{a[e>>0]=n;f=(c[o>>2]|0)+1|0;c[o>>2]=f}m=d&255;e=c[p>>2]|0;if(f>>>0>>0){a[f>>0]=m;c[o>>2]=(c[o>>2]|0)+1;return}g=c[b>>2]|0;h=g;f=f-h+1|0;if((f|0)<0){$i(b);h=c[b>>2]|0;e=c[p>>2]|0;g=h}l=g;e=e-l|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?f:e;i=c[o>>2]|0;f=i-l|0;if(!e){k=0;j=0;e=i}else q=18}else{f=c[o>>2]|0;e=2147483647;i=f;f=f-l|0;q=18}if((q|0)==18){k=e;j=bj(e)|0;e=i}a[j+f>>0]=m;d=e-l|0;q=j+(f-d)|0;lw(q|0,g|0,d|0)|0;c[b>>2]=q;c[o>>2]=j+(f+1);c[p>>2]=j+k;if(!h)return;cj(h);return}function zi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=c[b>>2]|0;q=c[d>>2]|0;p=q;k=g;n=e;l=f-n|0;if((l|0)<=0){r=q;return r|0}o=b+8|0;d=c[o>>2]|0;r=b+4|0;m=c[r>>2]|0;h=m;if((l|0)<=(d-h|0)){j=h-p|0;if((l|0)>(j|0)){i=e+j|0;if((i|0)==(f|0))d=m;else{h=i;d=m;do{a[d>>0]=a[h>>0]|0;d=(c[r>>2]|0)+1|0;c[r>>2]=d;h=h+1|0}while((h|0)!=(f|0))}if((j|0)>0)j=d;else{r=q;return r|0}}else{j=m;i=f}g=j-(g+(l-k+p))|0;d=q+g|0;if(d>>>0>>0){h=j;do{a[h>>0]=a[d>>0]|0;d=d+1|0;h=(c[r>>2]|0)+1|0;c[r>>2]=h}while((d|0)!=(m|0))}nw(j+(0-g)|0,q|0,g|0)|0;nw(q|0,e|0,i-n|0)|0;r=q;return r|0}h=h-k+l|0;if((h|0)<0){$i(b);d=c[o>>2]|0;g=c[b>>2]|0}i=g;d=d-i|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?h:d;h=p-i|0;if(!d){i=0;l=0}else j=15}else{d=2147483647;h=p-i|0;j=15}if((j|0)==15){i=d;l=bj(d)|0}k=l+h|0;d=k;j=l+i|0;if((e|0)!=(f|0)){g=e;i=k;do{a[i>>0]=a[g>>0]|0;i=d+1|0;d=i;g=g+1|0}while((g|0)!=(f|0));g=c[b>>2]|0}e=p-g|0;f=l+(h-e)|0;lw(f|0,g|0,e|0)|0;p=(c[r>>2]|0)-p|0;e=d;lw(e|0,q|0,p|0)|0;d=c[b>>2]|0;c[b>>2]=f;c[r>>2]=e+p;c[o>>2]=j;if(!d){r=k;return r|0}cj(d);r=k;return r|0}function Ai(a){a=a|0;var b=0;c[a>>2]=36800;b=c[a+8>>2]|0;if(!b)return;a=a+12|0;if((c[a>>2]|0)!=(b|0))c[a>>2]=b;cj(b);return}function Bi(a){a=a|0;var b=0,d=0;c[a>>2]=36800;b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Ci(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;Di(d,-1);Di(d,a[b+4>>0]|0);g=b+12|0;f=b+8|0;b=(c[g>>2]|0)-(c[f>>2]|0)+2|0;Di(d,(b&65535)>>>8&255);Di(d,b&255);b=c[f>>2]|0;if((c[g>>2]|0)==(b|0))return;else e=0;do{Di(d,a[b+e>>0]|0);e=e+1|0;b=c[f>>2]|0}while(e>>>0<((c[g>>2]|0)-b|0)>>>0);return}function Di(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=c[b+4>>2]|0;if(g){e=g+24|0;f=c[e>>2]|0;if((f|0)==(c[g+28>>2]|0)){Lb[c[(c[g>>2]|0)+52>>2]&63](g,d&255)|0;return}else{c[e>>2]=f+1;a[f>>0]=d;return}}e=b+16|0;f=c[e>>2]|0;if(f>>>0<(c[b+12>>2]|0)>>>0){c[e>>2]=f+1;a[(c[b+8>>2]|0)+f>>0]=d;return}e=Ma(16)|0;o=0;f=ua(1)|0;d=o;o=0;if(d&1){d=Na()|0;La(e|0);Ya(d|0)}o=0;wa(7,e|0,4,f|0);d=o;o=0;if(d&1){d=Na()|0;La(e|0);Ya(d|0)}else lb(e|0,824,96)}function Ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;f=(b|0)<4095?(b+128|0)/256|0:16;g=(d*3|0)+2+f|0;e=d+1|0;g=(g|0)<(e|0)|(g|0)>(b|0)?e:g;c[a+4>>2]=g;e=(f<<2|3)+(d*5|0)|0;e=(e|0)>(b|0)|(e|0)<(g|0)?g:e;c[a+8>>2]=e;d=(d*7|0)+4+(f*17|0)|0;c[a+12>>2]=(d|0)>(b|0)|(d|0)<(e|0)?e:d;c[a>>2]=b;c[a+16>>2]=64;return}function Fi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+128|0;k=m+100|0;f=m+16|0;e=m+112|0;l=m+4|0;n=m;g=f;h=b+20|0;j=g+84|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[f+16>>2]=c[b+4>>2];h=pc(e,f,b+56|0)|0;e=c[(c[h>>2]|0)+16>>2]|0;b=b+8|0;o=0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];e=ra(e|0,h|0,k|0)|0;b=o;o=0;do{if(b&1)e=Na()|0;else{g=d+4|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];g=d+16|0;b=c[g>>2]|0;k=l+8|0;c[k>>2]=(c[k>>2]|0)-b;k=l+4|0;c[k>>2]=(c[k>>2]|0)+b;k=c[(c[h>>2]|0)+12>>2]|0;c[n>>2]=e;o=0;e=va(k|0,h|0,n|0,l|0,((a[d>>0]|0)==0?0:(c[d+8>>2]|0)+b|0)|0)|0;l=o;o=0;if(l&1){e=Na()|0;f=c[n>>2]|0;c[n>>2]=0;if(!f)break;Bb[c[(c[f>>2]|0)+4>>2]&255](f);break}f=c[n>>2]|0;c[n>>2]=0;if(f)Bb[c[(c[f>>2]|0)+4>>2]&255](f);if(!(c[d+4>>2]|0))c[g>>2]=(c[g>>2]|0)+e;if(!h){i=m;return}Bb[c[(c[h>>2]|0)+4>>2]&255](h);i=m;return}}while(0);if(!h)Ya(e|0);Bb[c[(c[h>>2]|0)+4>>2]&255](h);Ya(e|0)}function Gi(b,d){b=b|0;d=d|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];a[b+12>>0]=0;d=b+16|0;b=d+100|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));return}function Hi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+32|0;u=v+4|0;q=v+16|0;w=v;Ii(b);r=b+16|0;g=c[b+24>>2]|0;a:do{if((g+-2|0)>>>0<=14){s=b+40|0;e=c[s>>2]|0;if(e>>>0>2)e=5;else{t=b+32|0;h=c[t>>2]|0;switch(h|0){case 0:{e=1;break a}case 4:{if((e|0)==2){e=2;break a}break}case 3:break;default:if(e){e=2;break a}}p=b+100|0;e=b+108|0;f=c[e>>2]|0;if((f|0)<1){f=c[r>>2]|0;c[e>>2]=f;e=c[b+20>>2]|0;c[b+112>>2]=e}else e=c[b+112>>2]|0;l=tw(e|0,((e|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;k=(g+7|0)/8|0;k=tw(l|0,D|0,k|0,((k|0)<0)<<31>>31|0)|0;l=d+4|0;e=c[l>>2]|0;j=d+8|0;if((e|0)!=0?(m=c[j>>2]|0,n=tw(h|0,((h|0)<0)<<31>>31|0,k|0,D|0)|0,g=D,0<(g|0)|0==(g|0)&m>>>0>>0):0){e=Ma(16)|0;o=0;f=ua(1)|0;w=o;o=0;if(!(w&1)?(o=0,wa(7,e|0,3,f|0),w=o,o=0,!(w&1)):0)lb(e|0,824,96);w=Na()|0;La(e|0);Ya(w|0)}m=b+52|0;n=b+12|0;if((h|0)>0)h=0;else{i=v;return}while(1){Ji(b,(h|0)==0);f=nc(q,r,m)|0;g=c[(c[f>>2]|0)+8>>2]|0;o=0;c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];g=ra(g|0,f|0,u|0)|0;x=o;o=0;if(x&1){g=32;break}x=c[(c[f>>2]|0)+16>>2]|0;c[w>>2]=g;o=0;fa(x|0,f|0,w|0,p|0,b|0,(a[n>>0]|0)!=0|0);x=o;o=0;if(x&1){g=30;break}g=c[w>>2]|0;c[w>>2]=0;if(g)Bb[c[(c[g>>2]|0)+4>>2]&255](g);if(!e)e=0;else{e=e+k|0;c[l>>2]=e;c[j>>2]=(c[j>>2]|0)-k}g=(c[s>>2]|0)==0;h=(g&1)+h|0;if(f)Bb[c[(c[f>>2]|0)+4>>2]&255](f);if(!g){g=34;break}if((h|0)>=(c[t>>2]|0)){g=34;break}}if((g|0)==30){e=Na()|0;g=c[w>>2]|0;c[w>>2]=0;if(g)Bb[c[(c[g>>2]|0)+4>>2]&255](g)}else if((g|0)==32){e=Na()|0;if(!f){x=e;Ya(x|0)}}else if((g|0)==34){i=v;return}Bb[c[(c[f>>2]|0)+4>>2]&255](f);x=e;Ya(x|0)}}else e=2}while(0);f=Ma(16)|0;o=0;g=ua(1)|0;x=o;o=0;if(!(x&1)?(o=0,wa(7,f|0,e|0,g|0),x=o,o=0,!(x&1)):0)lb(f|0,824,96);x=Na()|0;La(f|0);Ya(x|0)}function Ii(a){a=a|0;var b=0,c=0,d=0,e=0;if((Mi(a)|0)<<24>>24!=-40){b=Ma(16)|0;o=0;c=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,wa(7,b|0,5,c|0),e=o,o=0,!(e&1)):0)lb(b|0,824,96);e=Na()|0;La(b|0);Ya(e|0)}b=Mi(a)|0;if(b<<24>>24==-38)return;while(1){d=((Li(a)|0)&255)<<8;d=d|(Li(a)|0)&255;b=Ni(a,b)|0;c=-2-b+d|0;if((c|0)<0)break;if((c|0)>0){b=d+-2-b|0;c=0;do{Li(a)|0;c=c+1|0}while((c|0)!=(b|0))}b=Mi(a)|0;if(b<<24>>24==-38){e=8;break}}if((e|0)==8)return;b=Ma(16)|0;o=0;c=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,wa(7,b|0,5,c|0),e=o,o=0,!(e&1)):0)lb(b|0,824,96);e=Na()|0;La(b|0);Ya(e|0)}function Ji(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(!b){if((Li(a)|0)<<24>>24!=-1){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,12,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}if((Li(a)|0)<<24>>24!=-38){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}}Li(a)|0;Li(a)|0;d=Li(a)|0;e=d&255;do{if(d<<24>>24==1){Li(a)|0;d=0;f=20}else{if((e|0)==(c[a+32>>2]|0)){b=Li(a)|0;if(!(d<<24>>24))break;else{d=0;f=20;break}}b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,2,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}}while(0);if((f|0)==20)while(1){Li(a)|0;d=d+1|0;b=Li(a)|0;if((d|0)==(e|0))break;else f=20}c[a+36>>2]=b&255;f=Li(a)|0;d=a+40|0;c[d>>2]=f&255;if((f&255)>=3){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}if((Li(a)|0)<<24>>24){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}e=a+28|0;if(c[e>>2]|0)return;b=c[a+108>>2]|0;if(!b)b=c[a+16>>2]|0;if(!(c[d>>2]|0))d=1;else d=c[a+32>>2]|0;f=$(d,b)|0;c[e>>2]=$(f,((c[a+24>>2]|0)+7|0)/8|0)|0;return}function Ki(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((e|0)<=0)return;n=d+4|0;o=d+8|0;q=0;do{p=Li(b)|0;f=c[n>>2]|0;g=c[o>>2]|0;if(f>>>0>=g>>>0){h=c[d>>2]|0;i=h;j=f-i+1|0;if((j|0)<0){$i(d);i=c[d>>2]|0;g=c[o>>2]|0;h=i}m=h;f=g-m|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?j:f;j=c[n>>2]|0;g=j-m|0;if(!f){l=0;k=0;f=j}else r=10}else{g=c[n>>2]|0;f=2147483647;j=g;g=g-m|0;r=10}if((r|0)==10){r=0;l=f;k=bj(f)|0;f=j}a[k+g>>0]=p;m=f-m|0;p=k+(g-m)|0;lw(p|0,h|0,m|0)|0;c[d>>2]=p;c[n>>2]=k+(g+1);c[o>>2]=k+l;if(i)cj(i)}else{a[f>>0]=p;c[n>>2]=(c[n>>2]|0)+1}q=q+1|0}while((q|0)!=(e|0));return}function Li(b){b=b|0;var e=0,f=0,g=0,h=0;f=c[b>>2]|0;if(f){b=f+12|0;e=c[b>>2]|0;if((e|0)==(c[f+16>>2]|0))b=Eb[c[(c[f>>2]|0)+40>>2]&127](f)|0;else{c[b>>2]=e+1;b=d[e>>0]|0}h=b&255;return h|0}g=b+8|0;h=c[g>>2]|0;if(h){b=b+4|0;e=c[b>>2]|0;f=a[e>>0]|0;if(!e){h=f;return h|0}c[b>>2]=e+1;c[g>>2]=h+-1;h=f;return h|0}b=Ma(16)|0;o=0;e=ua(1)|0;h=o;o=0;if(h&1){h=Na()|0;La(b|0);Ya(h|0)}o=0;wa(7,b|0,4,e|0);h=o;o=0;if(h&1){h=Na()|0;La(b|0);Ya(h|0)}else lb(b|0,824,96);return 0}function Mi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+176|0;b=d+152|0;k=d+16|0;h=d;j=Li(a)|0;e=j&255;if(j<<24>>24==-1){do{b=Li(a)|0}while(b<<24>>24==-1);i=d;return b|0}j=k+56|0;g=k+4|0;c[k>>2]=36160;c[j>>2]=36180;o=0;ia(62,k+56|0,g|0);f=o;o=0;if(f&1){k=Na()|0;fn(j);Ya(k|0)}c[k+128>>2]=0;c[k+132>>2]=-1;c[k>>2]=36200;c[k+56>>2]=36220;o=0;ha(180,g|0);f=o;o=0;do{if(f&1)b=Na()|0;else{c[g>>2]=36236;f=k+36|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[k+52>>2]=16;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;o=0;ia(63,g|0,b|0);d=o;o=0;if(d&1){k=Na()|0;Im(b);Im(f);nn(g);b=k;break}Im(b);c[k+((c[(c[k>>2]|0)+-12>>2]|0)+76)>>2]=48;o=0;b=ma(28,k|0,50907,62)|0;d=o;o=0;if(!(d&1)?(d=b+((c[(c[b>>2]|0)+-12>>2]|0)+4)|0,c[d>>2]=c[d>>2]&-75|8,d=b+((c[(c[b>>2]|0)+-12>>2]|0)+4)|0,c[d>>2]=c[d>>2]|16384,c[b+((c[(c[b>>2]|0)+-12>>2]|0)+12)>>2]=2,o=0,ra(38,b|0,e|0)|0,e=o,o=0,!(e&1)):0){d=Ma(16)|0;o=0;ia(64,h|0,g|0);e=o;o=0;if(!(e&1)){o=0;b=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,Aa(36,d|0,12,b|0,h|0),e=o,o=0,!(e&1)):0){o=0;wa(6,d|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(h);if(!a){h=b;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}}else b=Na()|0;La(d|0);h=b;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}h=Na()|0;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}}while(0);k=b;fn(j);Ya(k|0);return 0}function Ni(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;d=i;i=i+320|0;j=d+300|0;m=d+152|0;k=d+288|0;n=d+16|0;l=d;switch(b<<24>>24){case-9:{c[a+24>>2]=(Li(a)|0)&255;p=((Li(a)|0)&255)<<8|(Li(a)|0)&255;c[a+16>>2]=((Li(a)|0)&255)<<8|(Li(a)|0)&255;c[a+20>>2]=p;c[a+32>>2]=(Li(a)|0)&255;p=6;i=d;return p|0}case-8:{p=Oi(a)|0;i=d;return p|0}case-24:{p=Pi(a)|0;i=d;return p|0}case-53:case-54:case-55:case-57:case-58:case-59:case-61:case-62:case-63:case-64:{h=m+56|0;f=m+4|0;c[m>>2]=36160;c[h>>2]=36180;o=0;ia(62,m+56|0,f|0);n=o;o=0;if(n&1){p=Na()|0;fn(h);Ya(p|0)}c[m+128>>2]=0;c[m+132>>2]=-1;c[m>>2]=36200;c[m+56>>2]=36220;o=0;ha(180,f|0);n=o;o=0;do{if(n&1)a=Na()|0;else{c[f>>2]=36236;g=m+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[m+52>>2]=16;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;o=0;ia(63,f|0,j|0);n=o;o=0;if(n&1){a=Na()|0;Im(j);Im(g);nn(f);break}Im(j);o=0;a=ma(28,m|0,50970,26)|0;n=o;o=0;do{if((!(n&1)?(o=0,e=ra(38,a|0,b&255|0)|0,n=o,o=0,!(n&1)):0)?(o=0,ma(28,e|0,50997,18)|0,n=o,o=0,!(n&1)):0){e=Ma(16)|0;o=0;ia(64,k|0,f|0);n=o;o=0;if(!(n&1)){o=0;a=ua(1)|0;n=o;o=0;if(!(n&1)?(o=0,Aa(36,e|0,10,a|0,k|0),n=o,o=0,!(n&1)):0){o=0;wa(6,e|0,824,96);o=0;d=0}else d=1;a=Na()|0;Im(k);if(!d)break}else a=Na()|0;La(e|0)}else p=20}while(0);if((p|0)==20)a=Na()|0;c[m>>2]=36200;c[h>>2]=36220;c[f>>2]=36236;Im(g);nn(f);fn(h);p=a;Ya(p|0)}}while(0);p=a;fn(h);Ya(p|0)}case-25:case-32:case-2:{p=0;i=d;return p|0}default:{k=n+56|0;g=n+4|0;c[n>>2]=36160;c[k>>2]=36180;o=0;ia(62,n+56|0,g|0);m=o;o=0;if(m&1){p=Na()|0;fn(k);Ya(p|0)}c[n+128>>2]=0;c[n+132>>2]=-1;c[n>>2]=36200;c[n+56>>2]=36220;o=0;ha(180,g|0);m=o;o=0;do{if(m&1)a=Na()|0;else{c[g>>2]=36236;h=n+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[n+52>>2]=16;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;o=0;ia(63,g|0,j|0);m=o;o=0;if(m&1){a=Na()|0;Im(j);Im(h);nn(g);break}Im(j);o=0;a=ma(28,n|0,51016,20)|0;m=o;o=0;do{if((!(m&1)?(o=0,f=ra(38,a|0,b&255|0)|0,m=o,o=0,!(m&1)):0)?(o=0,ma(28,f|0,51037,13)|0,m=o,o=0,!(m&1)):0){e=Ma(16)|0;o=0;ia(64,l|0,g|0);m=o;o=0;if(!(m&1)){o=0;a=ua(1)|0;m=o;o=0;if(!(m&1)?(o=0,Aa(36,e|0,11,a|0,l|0),m=o,o=0,!(m&1)):0){o=0;wa(6,e|0,824,96);o=0;d=0}else d=1;a=Na()|0;Im(l);if(!d)break}else a=Na()|0;La(e|0)}else p=40}while(0);if((p|0)==40)a=Na()|0;c[n>>2]=36200;c[k>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(k);p=a;Ya(p|0)}}while(0);p=a;fn(k);Ya(p|0)}}return 0}function Oi(a){a=a|0;var b=0;if((Li(a)|0)<<24>>24!=1){a=1;return a|0}b=((Li(a)|0)&255)<<8;c[a+52>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+56>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+60>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+64>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+68>>2]=b|(Li(a)|0)&255;a=11;return a|0}function Pi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d;c[f>>2]=0;g=f+4|0;c[g>>2]=0;c[f+8>>2]=0;o=0;wa(9,a|0,f|0,4);b=o;o=0;a:do{if(b&1)e=3;else{b=c[f>>2]|0;b:do{if(!(ol(b,51051,4)|0)){o=0;b=ka(69,a|0)|0;h=o;o=0;if(h&1){e=3;break a}b=b&255;switch(b|0){case 3:case 2:case 1:case 0:{c[a+44>>2]=b;a=5;b=c[f>>2]|0;break b}case 5:case 4:{b=Ma(16)|0;o=0;a=ua(1)|0;h=o;o=0;if(!(h&1)?(o=0,wa(7,b|0,7,a|0),h=o,o=0,!(h&1)):0){o=0;wa(6,b|0,824,96);o=0;e=3;break a}a=Na()|0;La(b|0);break a}default:{b=Ma(16)|0;o=0;a=ua(1)|0;h=o;o=0;if(!(h&1)?(o=0,wa(7,b|0,5,a|0),h=o,o=0,!(h&1)):0){o=0;wa(6,b|0,824,96);o=0;e=3;break a}a=Na()|0;La(b|0);break a}}}else a=4}while(0);if(!b){i=d;return a|0}if((c[g>>2]|0)!=(b|0))c[g>>2]=b;cj(b);i=d;return a|0}}while(0);if((e|0)==3)a=Na()|0;b=c[f>>2]|0;if(!b)Ya(a|0);if((c[g>>2]|0)!=(b|0))c[g>>2]=b;cj(b);Ya(a|0);return 0}function Qi(a){a=a|0;var b=0,d=0,e=0;e=c[(c[a>>2]|0)+-12>>2]|0;c[a+e>>2]=36200;b=a+(e+56)|0;c[b>>2]=36220;d=a+(e+4)|0;c[d>>2]=36236;Im(a+(e+36)|0);nn(d);fn(b);return}function Ri(a){a=a|0;return}function Si(a){a=a|0;cj(a);return}function Ti(b){b=b|0;a[b>>0]=0;b=b+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function Ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f;b=wi(b)|0;c[g>>2]=b;d=a+28|0;e=c[d>>2]|0;if(e>>>0<(c[a+32>>2]|0)>>>0){c[e>>2]=b;c[d>>2]=e+4;c[g>>2]=0;i=f;return}o=0;ia(57,a+24|0,g|0);a=o;o=0;if(a&1){b=Na()|0;d=c[g>>2]|0;c[g>>2]=0;if(!d)Ya(b|0);Bb[c[(c[d>>2]|0)+4>>2]&255](d);Ya(b|0)}else{b=c[g>>2]|0;c[g>>2]=0;if(!b){i=f;return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);i=f;return}}function Vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+4|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];Di(a,-1);Di(a,-40);e=a+28|0;f=a+24|0;b=c[f>>2]|0;if((c[e>>2]|0)==(b|0)){Di(a,-1);Di(a,-39);a=a+16|0;a=c[a>>2]|0;return a|0}else d=0;do{g=c[b+(d<<2)>>2]|0;Cb[c[(c[g>>2]|0)+8>>2]&127](g,a);d=d+1|0;b=c[f>>2]|0}while(d>>>0<(c[e>>2]|0)-b>>2>>>0);Di(a,-1);Di(a,-39);g=a+16|0;g=c[g>>2]|0;return g|0}function Wi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;n=i;i=i+48|0;j=n+32|0;f=n+12|0;k=n+8|0;m=n+4|0;p=n;e=d+36|0;do{if(((((c[e>>2]|0)==0?(c[d+40>>2]|0)==0:0)?(c[d+44>>2]|0)==0:0)?(c[d+48>>2]|0)==0:0)?(c[d+52>>2]|0)==0:0){e=c[d+8>>2]|0;if((e|0)<=12){g=a+28|0;h=a+32|0;break}Ei(f,(1<>2]|0);e=vi(f)|0;c[k>>2]=e;g=a+28|0;f=c[g>>2]|0;h=a+32|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[k>>2]=0;break}o=0;ia(57,a+24|0,k|0);j=o;o=0;if(!(j&1)){e=c[k>>2]|0;c[k>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[k>>2]|0;c[k>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}else l=6}while(0);do{if((l|0)==6){e=vi(e)|0;c[j>>2]=e;g=a+28|0;f=c[g>>2]|0;h=a+32|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[j>>2]=0;break}o=0;ia(57,a+24|0,j|0);l=o;o=0;if(!(l&1)){e=c[j>>2]|0;c[j>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[j>>2]|0;c[j>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}}while(0);e=a+20|0;f=(c[e>>2]|0)+1|0;c[e>>2]=f;e=c[d+24>>2]|0;j=(e|0)==0?1:c[d+16>>2]|0;e=xi(f,j,c[d+20>>2]|0,e)|0;c[m>>2]=e;f=c[g>>2]|0;do{if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[m>>2]=0}else{o=0;ia(57,a+24|0,m|0);l=o;o=0;if(!(l&1)){e=c[m>>2]|0;c[m>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[m>>2]|0;c[m>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}}while(0);k=bj(104)|0;c[k>>2]=36820;c[k+4>>2]=j;f=k+8|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];f=k+20|0;e=f+84|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));c[p>>2]=k;d=c[g>>2]|0;if(d>>>0<(c[h>>2]|0)>>>0){c[d>>2]=k;c[g>>2]=d+4;c[p>>2]=0;i=n;return}o=0;ia(57,a+24|0,p|0);a=o;o=0;if(a&1){d=Na()|0;e=c[p>>2]|0;c[p>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}else{d=c[p>>2]|0;c[p>>2]=0;if(!d){i=n;return}Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=n;return}}function Xi(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=i;i=i+96|0;p=q;o=ic(b,d,p,0)|0;if(o){g=o;i=q;return g|0}a[p+32>>0]=0;s=c[p+8>>2]|0;u=c[p>>2]|0;t=c[p+4>>2]|0;o=$(t,u)|0;r=c[p+16>>2]|0;o=$($(o,(s|0)<9?1:2)|0,r)|0;c[f>>2]=o;o=Fl(o)|0;c[e>>2]=o;c[g>>2]=u;c[h>>2]=t;c[j>>2]=s;c[k>>2]=c[p+12>>2];c[l>>2]=r;c[m>>2]=c[p+20>>2];c[n>>2]=c[p+24>>2];g=jc(o,c[f>>2]|0,b,d,0,0)|0;i=q;return g|0}function Yi(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;n=i;i=i+96|0;l=n+4|0;h=n;m=l;o=m+84|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(o|0));c[l+16>>2]=g;c[l+8>>2]=f;c[l>>2]=d;c[l+4>>2]=e;c[j>>2]=Fl(b)|0;c[h>>2]=0;d=hc(j,b,h,a,b,l,0)|0;c[k>>2]=c[h>>2];i=n;return d|0}function Zi(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;b=c[9320]|0;cl(b,a,d)|0;Wk(10,b)|0;Ga()}function _i(a){a=a|0;Ka(51337,51366,1164,51442)}function $i(a){a=a|0;Ka(51463,51486,303,51442)}function aj(){var a=0,b=0;a=i;i=i+16|0;if(!(db(37024,4)|0)){b=$a(c[9255]|0)|0;i=a;return b|0}else Zi(51562,a);return 0}function bj(a){a=a|0;var b=0;b=(a|0)==0?1:a;a=Fl(b)|0;a:do{if(!a){while(1){a=kj()|0;if(!a)break;Rb[a&7]();a=Fl(b)|0;if(a)break a}b=Ma(4)|0;c[b>>2]=36844;lb(b|0,592,78)}}while(0);return a|0}function cj(a){a=a|0;Gl(a);return}function dj(a){a=a|0;cj(a);return}function ej(a){a=a|0;c[a>>2]=36844;return}function fj(a){a=a|0;return}function gj(a){a=a|0;cj(a);return}function hj(a){a=a|0;return 51611}function ij(a){a=a|0;var b=0;b=i;i=i+16|0;o=0;xa(a|0);a=o;o=0;if(!(a&1)){o=0;ia(85,51626,b|0);o=0}a=Na(0)|0;Va(a|0)|0;o=0;ia(85,51666,b+8|0);o=0;a=Na(0)|0;o=0;xa(3);b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else ec(a)}function jj(){var a=0,b=0,d=0;o=0;a=ua(2)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}if(((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0)?(d=b+48|0,(c[d>>2]&-256|0)==1126902528?(c[d+4>>2]|0)==1129074247:0):0)ij(c[b+12>>2]|0);d=c[9208]|0;c[9208]=d+0;ij(d)}function kj(){var a=0;a=c[9214]|0;c[9214]=a+0;return a|0}function lj(a){a=a|0;return}function mj(a){a=a|0;c[a>>2]=36868;Vj(a+4|0);return}function nj(a){a=a|0;mj(a);cj(a);return}function oj(a){a=a|0;return c[a+4>>2]|0}function pj(a){a=a|0;return}function qj(a){a=a|0;c[a>>2]=36888;return}function rj(a){a=a|0;return}function sj(a){a=a|0;cj(a);return}function tj(a){a=a|0;return 51716}function uj(a){a=a|0;return}function vj(a){a=a|0;return}function wj(a){a=a|0;return}function xj(a){a=a|0;cj(a);return}function yj(a){a=a|0;cj(a);return}function zj(a){a=a|0;cj(a);return}function Aj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h;if((a|0)!=(b|0))if((b|0)!=0?(f=Gj(b,656,672,0)|0,(f|0)!=0):0){b=g;e=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;Ub[c[(c[f>>2]|0)+28>>2]&63](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;i=h;return b|0}function Bj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do{if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}}while(0);return}function Cj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Bj(0,b,d,e);return}function Dj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Bj(0,b,d,e);else{a=c[a+8>>2]|0;Ub[c[(c[a>>2]|0)+28>>2]&63](a,b,d,e)}return}function Ej(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;Ub[c[(c[a>>2]|0)+28>>2]&63](a,b,d+f|0,(g&2|0)!=0?e:2);return}function Fj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do{if((b|0)!=(c[d+8>>2]|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;Ej(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{Ej(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else Bj(0,d,e,f)}while(0);return}function Gj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r;p=c[d>>2]|0;o=d+(c[p+-8>>2]|0)|0;p=c[p+-4>>2]|0;c[q>>2]=f;c[q+4>>2]=d;c[q+8>>2]=e;c[q+12>>2]=g;g=q+16|0;d=q+20|0;e=q+24|0;h=q+28|0;j=q+32|0;k=q+40|0;l=(p|0)==(f|0);m=g;n=m+36|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));b[g+36>>1]=0;a[g+38>>0]=0;a:do{if(l){c[q+48>>2]=1;Ib[c[(c[f>>2]|0)+20>>2]&15](f,q,o,o,1,0);g=(c[e>>2]|0)==1?o:0}else{zb[c[(c[p>>2]|0)+24>>2]&15](p,q,o,1,0);switch(c[q+36>>2]|0){case 0:{g=(c[k>>2]|0)==1&(c[h>>2]|0)==1&(c[j>>2]|0)==1?c[d>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((c[e>>2]|0)!=1?!((c[k>>2]|0)==0&(c[h>>2]|0)==1&(c[j>>2]|0)==1):0){g=0;break}g=c[g>>2]|0}}while(0);i=r;return g|0}function Hj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do{if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;f=d+16|0;b=c[f>>2]|0;if(!b){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((b|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}b=d+24|0;f=c[b>>2]|0;if((f|0)==2){c[b>>2]=g;f=g}if((f|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}}while(0);return}function Ij(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do{if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){q=c[b+12>>2]|0;j=b+16+(q<<3)|0;Kj(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;i=c[b+8>>2]|0;if((i&2|0)==0?(k=d+36|0,(c[k>>2]|0)!=1):0){if(!(i&1)){i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[k>>2]|0)==1)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+24|0;b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[k>>2]|0)==1?(c[i>>2]|0)==1:0)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+54|0;while(1){if(a[i>>0]|0)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;m=d+44|0;if((c[m>>2]|0)==4)break;i=c[b+12>>2]|0;j=b+16+(i<<3)|0;k=d+52|0;f=d+53|0;n=d+54|0;l=b+8|0;o=d+24|0;b:do{if((i|0)>0){i=0;h=0;b=b+16|0;while(1){a[k>>0]=0;a[f>>0]=0;Jj(b,d,e,e,1,g);if(a[n>>0]|0){q=20;break b}do{if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[l>>2]&1)){h=1;q=20;break b}else{h=1;break}if((c[o>>2]|0)==1)break b;if(!(c[l>>2]&2))break b;else{i=1;h=1}}}while(0);b=b+8|0;if(b>>>0>=j>>>0){q=20;break}}}else{i=0;h=0;q=20}}while(0);do{if((q|0)==20){if((!i?(c[p>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h)break}else q=24;if((q|0)==24?h:0)break;c[m>>2]=4;break a}}while(0);c[m>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}}while(0);return}function Jj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Ib[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e+h|0,(i&2|0)!=0?f:2,g);return}function Kj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;zb[c[(c[a>>2]|0)+24>>2]&15](a,b,d+g|0,(h&2|0)!=0?e:2,f);return}function Lj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do{if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){j=c[b+8>>2]|0;zb[c[(c[j>>2]|0)+24>>2]&15](j,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;if((c[f>>2]|0)==4)break;h=d+52|0;a[h>>0]=0;k=d+53|0;a[k>>0]=0;b=c[b+8>>2]|0;Ib[c[(c[b>>2]|0)+20>>2]&15](b,d,e,e,1,g);if(a[k>>0]|0){if(!(a[h>>0]|0)){h=1;j=13}}else{h=0;j=13}do{if((j|0)==13){c[i>>2]=e;k=d+40|0;c[k>>2]=(c[k>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h)break}else j=16;if((j|0)==16?h:0)break;c[f>>2]=4;break a}}while(0);c[f>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}}while(0);return}function Mj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;do{if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(i=d+28|0,(c[i>>2]|0)!=1):0)c[i>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}while(0);return}function Nj(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((b|0)==(c[d+8>>2]|0))Hj(0,d,e,f,g);else{m=d+52|0;n=a[m>>0]|0;o=d+53|0;p=a[o>>0]|0;l=c[b+12>>2]|0;i=b+16+(l<<3)|0;a[m>>0]=0;a[o>>0]=0;Jj(b+16|0,d,e,f,g,h);a:do{if((l|0)>1){j=d+24|0;k=b+8|0;l=d+54|0;b=b+24|0;do{if(a[l>>0]|0)break a;if(!(a[m>>0]|0)){if((a[o>>0]|0)!=0?(c[k>>2]&1|0)==0:0)break a}else{if((c[j>>2]|0)==1)break a;if(!(c[k>>2]&2))break a}a[m>>0]=0;a[o>>0]=0;Jj(b,d,e,f,g,h);b=b+8|0}while(b>>>0>>0)}}while(0);a[m>>0]=n;a[o>>0]=p}return}function Oj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Hj(0,b,d,e,f);else{a=c[a+8>>2]|0;Ib[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e,f,g)}return}function Pj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Hj(0,b,d,e,f);return}function Qj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=c[d>>2];a=Gb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];i=f;return a&1|0}function Rj(a){a=a|0;if(!a)a=0;else a=(Gj(a,656,704,0)|0)!=0;return a&1|0}function Sj(){var a=0;a=Ma(4)|0;ej(a);lb(a|0,592,78)}function Tj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+48|0;h=f+32|0;d=f+24|0;j=f+16|0;g=f;f=f+36|0;a=aj()|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=c[9257];Zi(51919,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(Gb[c[(c[608>>2]|0)+16>>2]&63](608,e,f)|0){j=c[f>>2]|0;f=c[9257]|0;j=Eb[c[(c[j>>2]|0)+8>>2]&127](j)|0;c[g>>2]=f;c[g+4>>2]=a;c[g+8>>2]=j;Zi(51833,g)}else{c[j>>2]=c[9257];c[j+4>>2]=a;Zi(51878,j)}}Zi(51957,h)}function Uj(){var a=0;a=i;i=i+16|0;if(!(Fa(37020,184)|0)){i=a;return}else Zi(51730,a)}function Vj(a){a=a|0;var b=0,d=0;d=(c[a>>2]|0)+-4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if((b+-1|0)<0)cj((c[a>>2]|0)+-12|0);return}function Wj(a){a=a|0;var b=0;b=i;i=i+16|0;Gl(a);if(!(jb(c[9255]|0,0)|0)){i=b;return}else Zi(51780,b)}function Xj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=hl(a,b,c)|0;return a|0}function Yj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=il(a,b,c)|0;return a|0}function Zj(){return 37296}function _j(){return 37300}function $j(){return 37304}function ak(a){a=a|0;return((a|0)==32|(a+-9|0)>>>0<5)&1|0}function bk(a){a=a|0;if((a+-48|0)>>>0<10)a=1;else a=((a|32)+-97|0)>>>0<6;return a&1|0}function ck(){var a=0;if(!(c[9258]|0))a=37308;else a=c[(bb()|0)+60>>2]|0;return a|0}function dk(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[51978+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=52066;e=5;break}}if((e|0)==2)if(!c)b=52066;else{b=52066;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function ek(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0}a:do{if((A|0)==4){E=b+4|0;C=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0}while((ak(e)|0)!=0);b:do{switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=hk(b)|0;I=h;break b}}default:I=1}}while(0);h=e;e=0;do{if((h|32|0)!=(a[53870+e>>0]|0))break;do{if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=hk(b)|0;break}}}while(0);e=e+1|0}while(e>>>0<8);c:do{switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do{if(!e){e=0;do{if((h|32|0)!=(a[56747+e>>0]|0))break d;do{if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=hk(b)|0;break}}}while(0);e=e+1|0}while(e>>>0<3)}}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==40)e=1;else{if(!(c[C>>2]|0)){g=s;break a}c[E>>2]=(c[E>>2]|0)+-1;g=s;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=hk(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(ck()|0)>>2]=22;gk(b,0);g=0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{do{if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|32|0)!=120){if(!(c[C>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=hk(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1;k=0;g=0;break e}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=hk(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;k=jw(k|0,h|0,-1,-1)|0;h=D}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1;k=0;g=0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1;k=0;g=0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do{if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){r=m*.0625;p=w;j=r;g=g+r*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}}while(0);l=jw(l|0,y|0,1,0)|0;v=x;u=D;n=1}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=hk(b)|0;w=p;m=j;continue}}if(!n){e=(c[C>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,(o|0)!=0):0)c[E>>2]=z+-2}else gk(b,0);g=+(I|0)*0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=jw(l|0,h|0,1,0)|0;h=D}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=tl(b,f)|0;e=D;if((h|0)==0&(e|0)==-2147483648){if(!f){gk(b,0);g=0;break a}if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=mw(o|0,n|0,2)|0;H=jw(H|0,D|0,-32,-1)|0;e=jw(H|0,D|0,h|0,e|0)|0;h=D;if(!k){g=+(I|0)*0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(ck()|0)>>2]=34;g=+(I|0)*1.7976931348623157e308*1.7976931348623157e308;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0>>0){c[(ck()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1);e=jw(e|0,h|0,-1,-1)|0;h=D}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=hw(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=jw(l|0,h|0,e|0,D|0)|0;J=D;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+sk(+xk(1,84-e|0),g)}K=(k&1|0)==0&(m!=0&(h|0)<32);g=j*(K?0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0))c[(ck()|0)>>2]=34;g=+yk(g,l);break a}else e=h}while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=hk(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48){h=0;e=0;while(1){h=jw(h|0,e|0,-1,-1)|0;k=D;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do{if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do{if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=jw(y|0,v|0,1,0)|0;v=D;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}}while(0);e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}}while(0);do{if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=tl(b,f)|0;e=D;if((n|0)==0&(e|0)==-2147483648){if(!f){gk(b,0);g=0;break}if(!(c[C>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=jw(n|0,e|0,h|0,p|0)|0;u=y;p=D;n=v;A=173}}while(0);if((A|0)==169)if(c[C>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do{if((A|0)==172){c[(ck()|0)>>2]=22;gk(b,0);g=0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(ck()|0)>>2]=34;g=+(I|0)*1.7976931348623157e308*1.7976931348623157e308;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0>>0){c[(ck()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[37312+(8-h<<2)>>2]|0);break}b=K+27+($(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[37312+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[37312+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{C=H+(p<<2)|0;E=c[C>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[C>>2]=b;e=$((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w)break i;if((c[x>>2]|0)>>>0>=9007199){h=18;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=mw(c[p>>2]|0,0,29)|0;o=jw(o|0,D|0,n|0,0)|0;n=D;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=uw(o|0,n|0,1e9,0)|0;o=vw(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){y=l+1&127;x=H+((l+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(l|0);do{if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(l|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;break j}}else A=219}while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(l|0))k=l;else break}u=(1<>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=$(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(l|0))break;else o=k}if(!n)continue;if((y|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(l<<2)>>2]=n;l=y}if((A|0)==220)if(p){c[H+(y+-1<<2)>>2]=0;h=l;l=y}else h=o;g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}r=+(I|0);j=r*(g*1e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?(p|0)<0?0:p:K;if((o|0)<53){M=+sk(+xk(1,105-o|0),j);m=+uk(j,+xk(1,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0;g=0;m=j}n=k+2&127;do{if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do{if(n>>>0>=5e8){if(n>>>0>5e8){g=r*.75+g;break}if((k+3&127|0)==(l|0)){g=r*.5+g;break}else{g=r*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=r*.25+g}}while(0);if((53-o|0)<=1){j=g;break}if(+uk(g,1)!=0){j=g;break}j=g+1}}while(0);g=m+j-q;do{if((v&2147483647|0)>(-2-F|0)){if(+O(+g)>=9007199254740992){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0&(h|0)!=0):0)break;c[(ck()|0)>>2]=34}}while(0);g=+yk(g,e)}}while(0);break a}default:{if(c[C>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(ck()|0)>>2]=22;gk(b,0);g=0;break a}}}}}while(0);if((A|0)==23){h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*t}}while(0);i=L;return+g}function fk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do{if(e>>>0>36){c[(ck()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0}while((ak(i)|0)!=0);b:do{switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=hk(b)|0;p=j;break b}}default:p=0}}while(0);j=(e|0)==0;do{if((e&-17|0)==0&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=hk(b)|0;if((d[53879+(i+1)>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){gk(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[53879+(i+1)>>0]|0)>>>0>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;gk(b,0);c[(ck()|0)>>2]=22;h=0;g=0;break a}}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=hk(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=tw(e|0,j|0,10,0)|0;l=D;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=jw(k|0,l|0,f|0,m|0)|0;j=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do{if((n|0)==46){if(!(e+-1&e)){n=a[54136+((e*23|0)>>>5&7)>>0]|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f|i<>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0>>0))break;else i=k}f=0}else{f=0;k=0}l=kw(-1,-1,n|0)|0;m=D;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=mw(k|0,i|0,n|0)|0;f=D;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[53879+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f+($(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0>>0){n=uw(-1,-1,e|0,0)|0;o=D;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=tw(k|0,m|0,e|0,0)|0;l=D;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=jw(j|0,0,f|0,l|0)|0;f=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}}while(0);if((n|0)==72)if((d[53879+(i+1)>>0]|0)>>>0>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0}while((d[53879+(i+1)>>0]|0)>>>0>>0);c[(ck()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0>>0|(j|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(ck()|0)>>2]=34;g=jw(g|0,h|0,-1,-1)|0;h=D;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(ck()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=hw(i^e|0,j^g|0,e|0,g|0)|0;h=D}}while(0);D=h;return g|0}function gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+4>>2]|0;e=c[a+8>>2]|0;f=e-d|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=d+b;else c[a+100>>2]=e;return}function hk(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Uk(b)|0;if((e|0)>=0){h=c[f>>2]|0;f=b+8|0;if(h){g=c[f>>2]|0;i=c[b+4>>2]|0;f=g;h=h-(c[b+108>>2]|0)+-1|0;if((f-i|0)>(h|0))c[b+100>>2]=i+h;else j=9}else{g=c[f>>2]|0;f=g;j=9}if((j|0)==9)c[b+100>>2]=f;f=c[b+4>>2]|0;if(g){b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function ik(a){a=a|0;if(a>>>0>4294963200){c[(ck()|0)>>2]=0-a;a=-1}return a|0}function jk(a){a=a|0;return 0}function kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function lk(a,b){a=a|0;b=b|0;return-1|0}function mk(a){a=a|0;Gl(a);return}function nk(a,b){a=a|0;b=b|0;return(a+-48|0)>>>0<10|0}function ok(a,b){a=a|0;b=b|0;return bk(a)|0}function pk(b,c,d){b=b|0;c=c|0;d=d|0;if(((a[c>>0]|0)!=0?(ll(c,58885)|0)!=0:0)?(ll(c,54145)|0)!=0:0)d=0;else if(!d)d=Hl(1,4)|0;return d|0}function qk(a){a=a|0;var b=0,d=0;b=(bb()|0)+176|0;d=c[b>>2]|0;if(a)c[b>>2]=a;return d|0}function rk(a,b){a=+a;b=+b;var d=0,e=0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;h[k>>3]=b;d=c[k+4>>2]&-2147483648|d&2147483647;c[k>>2]=e;c[k+4>>2]=d;return+ +h[k>>3]}function sk(a,b){a=+a;b=+b;return+ +rk(a,b)}function tk(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=kw(d|0,m|0,52)|0;e=e&2047;j=kw(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=mw(n|0,o|0,1)|0;l=D;a:do{if(!((i|0)==0&(l|0)==0)?(g=o&2147483647,!(g>>>0>2146435072|(g|0)==2146435072&n>>>0>0|(e|0)==2047)):0){f=mw(d|0,m|0,1)|0;g=D;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return+((f|0)==(i|0)&(g|0)==(l|0)?a*0:a);if(!e){e=mw(d|0,m|0,12)|0;f=D;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=mw(g|0,f|0,1)|0;f=D}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=mw(d|0,m|0,1-e|0)|0;f=D}else f=m&1048575|1048576;if(!j){g=mw(n|0,o|0,12)|0;i=D;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=mw(g|0,i|0,1)|0;i=D}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=mw(n|0,o|0,1-j|0)|0;m=D}else m=o&1048575|1048576;l=hw(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do{if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=mw(d|0,f|0,1)|0;f=D;e=e+-1|0;l=hw(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0;break a}}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=mw(d|0,f|0,1)|0;f=D;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=jw(d|0,f|0,0,-1048576)|0;d=D;e=mw(e|0,0,52)|0;d=d|D;e=o|e}else{e=kw(d|0,f|0,1-e|0)|0;d=D}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3}while(0);if((q|0)==3){b=a*b;b=b/b}return+b}function uk(a,b){a=+a;b=+b;return+ +tk(a,b)}function vk(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=kw(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0){a=+vk(a*0x10000000000000000,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=f+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return+a}function wk(a,b){a=+a;b=b|0;return+ +vk(a,b)}function xk(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8.98846567431158e307;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8.98846567431158e307}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=mw(d+1023|0,0,52)|0;b=D;c[k>>2]=d;c[k+4>>2]=b;return+(a*+h[k>>3])}function yk(a,b){a=+a;b=b|0;return+ +xk(a,b)}function zk(a,b,c){a=a|0;b=b|0;c=c|0;return Ak(0,a,b,(c|0)!=0?c:37344)|0}function Ak(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;g=l;j=(f|0)==0?37348:f;f=c[j>>2]|0;a:do{if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[37076+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do{if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}}while(0);c[j>>2]=f;f=-2}}}while(0);if((k|0)==15){c[j>>2]=0;c[(ck()|0)>>2]=84;f=-1}i=l;return f|0}function Bk(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Ck(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+1040|0;l=o+8|0;n=o;k=c[b>>2]|0;c[n>>2]=k;m=(a|0)!=0;e=m?e:256;a=m?a:l;g=k;a:do{if((e|0)!=0&(k|0)!=0){j=e;k=g;e=0;while(1){g=d>>>2;h=g>>>0>=j>>>0;if(!(d>>>0>131|h)){g=k;break a}g=h?j:g;d=d-g|0;g=Dk(a,n,g,f)|0;if((g|0)==-1){e=d;break}p=(a|0)==(l|0);k=p?0:g;h=j-k|0;a=p?a:a+(g<<2)|0;e=g+e|0;g=c[n>>2]|0;if((j|0)!=(k|0)&(g|0)!=0){j=h;k=g}else{j=h;break a}}d=e;j=0;g=c[n>>2]|0;e=-1}else{j=e;e=0}}while(0);b:do{if((g|0)!=0?(j|0)!=0&(d|0)!=0:0){h=g;g=a;while(1){a=Ak(g,h,d,f)|0;if((a+2|0)>>>0<3)break;h=(c[n>>2]|0)+a|0;c[n>>2]=h;j=j+-1|0;e=e+1|0;if(!((j|0)!=0&(d|0)!=(a|0)))break b;else{d=d-a|0;g=g+4|0}}switch(a|0){case-1:{e=-1;break b}case 0:{c[n>>2]=0;break b}default:{c[f>>2]=0;break b}}}}while(0);if(m)c[b>>2]=c[n>>2];i=o;return e|0}function Dk(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){g=f;j=h;m=16}else{c[g>>2]=0;l=b;g=f;k=i;m=37}else if(!b){g=f;m=7}else{i=b;g=f;m=6}a:while(1)if((m|0)==6){if(!g){m=26;break}else b=i;while(1){i=a[h>>0]|0;do{if(((i&255)+-1|0)>>>0<127?g>>>0>4&(h&3|0)==0:0){j=h;while(1){h=c[j>>2]|0;if((h+-16843009|h)&-2139062144){i=h;h=j;m=32;break}c[b>>2]=h&255;c[b+4>>2]=d[j+1>>0];c[b+8>>2]=d[j+2>>0];h=j+4|0;i=b+16|0;c[b+12>>2]=d[j+3>>0];g=g+-4|0;if(g>>>0>4){b=i;j=h}else{m=31;break}}if((m|0)==31){b=i;i=a[h>>0]|0;break}else if((m|0)==32){i=i&255;break}}}while(0);i=i&255;if((i+-1|0)>>>0>=127)break;h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g){m=26;break a}else b=b+4|0}i=i+-194|0;if(i>>>0>50){m=48;break}l=b;k=c[37076+(i<<2)>>2]|0;h=h+1|0;m=37;continue}else if((m|0)==7){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){i=c[h>>2]|0;if(!((i+-16843009|i)&-2139062144))do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(((i+-16843009|i)&-2139062144|0)==0);i=i&255}i=i&255;if((i+-1|0)>>>0<127){g=g+-1|0;h=h+1|0;m=7;continue}i=i+-194|0;if(i>>>0>50){m=48;break}i=c[37076+(i<<2)>>2]|0;j=h+1|0;m=16;continue}else if((m|0)==16){m=(d[j>>0]|0)>>>3;if((m+-16|m+(i>>26))>>>0>7){m=17;break}h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){m=20;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){m=23;break}h=j+3|0}}g=g+-1|0;m=7;continue}else if((m|0)==37){i=d[h>>0]|0;m=i>>>3;if((m+-16|m+(k>>26))>>>0>7){m=38;break}j=h+1|0;b=i+-128|k<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=41;break}j=h+2|0;b=i+-128|b<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=44;break}b=i+-128|b<<6;h=h+3|0}else h=j}else h=j;c[l>>2]=b;i=l+4|0;g=g+-1|0;m=6;continue}if((m|0)==17){h=j+-1|0;m=47}else if((m|0)==20){h=j+-1|0;m=47}else if((m|0)==23){h=j+-1|0;m=47}else if((m|0)==26)c[e>>2]=h;else if((m|0)==38){b=l;i=k;h=h+-1|0;m=47}else if((m|0)==41){g=l;f=h+-1|0;m=52}else if((m|0)==44){g=l;f=h+-1|0;m=52}if((m|0)==47)if(!i)m=48;else{g=b;f=h;m=52}if((m|0)==48)if(!(a[h>>0]|0)){if(b){c[b>>2]=0;c[e>>2]=0}f=f-g|0}else{g=b;f=h;m=52}if((m|0)==52){c[(ck()|0)>>2]=84;if(!g)f=-1;else{c[e>>2]=f;f=-1}}return f|0}function Ek(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k;a:do{if(!e)g=0;else{do{if(f){j=(b|0)==0?g:b;g=a[e>>0]|0;b=g&255;if(g<<24>>24>-1){c[j>>2]=b;g=g<<24>>24!=0&1;break a}g=b+-194|0;if(g>>>0<=50){b=e+1|0;h=c[37076+(g<<2)>>2]|0;if(f>>>0<4?(h&-2147483648>>>((f*6|0)+-6|0)|0)!=0:0)break;g=d[b>>0]|0;f=g>>>3;if((f+-16|f+(h>>26))>>>0<=7){g=g+-128|h<<6;if((g|0)>=0){c[j>>2]=g;g=2;break a}b=d[e+2>>0]|0;if((b&192|0)==128){b=b+-128|g<<6;if((b|0)>=0){c[j>>2]=b;g=3;break a}g=d[e+3>>0]|0;if((g&192|0)==128){c[j>>2]=g+-128|b<<6;g=4;break a}}}}}}while(0);c[(ck()|0)>>2]=84;g=-1}}while(0);i=k;return g|0}function Fk(b,d,e){b=b|0;d=d|0;e=e|0;do{if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(ck()|0)>>2]=84;b=-1;break}}else b=1}while(0);return b|0}function Gk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+272|0;j=m+8|0;l=m;h=c[b>>2]|0;c[l>>2]=h;k=(a|0)!=0;f=k?e:256;e=k?a:j;a=h;a:do{if((f|0)!=0&(h|0)!=0){h=f;g=a;f=0;while(1){a=d>>>0>=h>>>0;if(!(a|d>>>0>32)){a=g;break a}a=a?h:d;d=d-a|0;a=Hk(e,l,a,0)|0;if((a|0)==-1){f=d;break}o=(e|0)==(j|0);n=o?0:a;g=h-n|0;e=o?e:e+a|0;f=a+f|0;a=c[l>>2]|0;if((h|0)!=(n|0)&(a|0)!=0){h=g;g=a}else{h=g;break a}}d=f;h=0;a=c[l>>2]|0;f=-1}else{h=f;f=0}}while(0);b:do{if((a|0)!=0?(h|0)!=0&(d|0)!=0:0){g=a;a=e;while(1){e=Fk(a,c[g>>2]|0,0)|0;if((e+1|0)>>>0<2)break;g=(c[l>>2]|0)+4|0;c[l>>2]=g;d=d+-1|0;f=f+1|0;if(!((h|0)!=(e|0)&(d|0)!=0))break b;else{h=h-e|0;a=a+e|0}}if(!e)c[l>>2]=0;else f=-1}}while(0);if(k)c[b>>2]=c[l>>2];i=m;return f|0}function Hk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do{if(!b){b=c[d>>2]|0;f=c[b>>2]|0;if(!f)e=0;else{e=0;do{if(f>>>0>127){f=Fk(j,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do{if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=Fk(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e}while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=19;break}h=Fk(j,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0>>0){g=22;break}Fk(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==19){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==22){e=e-f|0;break}}}}while(0);i=k;return e|0}function Ik(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Fk(a,b,0)|0;return a|0}function Jk(a){a=a|0;return 0}function Kk(a){a=a|0;return}function Lk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;k=e&255;a[l>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Tk(b)|0)){h=c[g>>2]|0;j=4}else f=-1;else j=4;do{if((j|0)==4){g=b+20|0;j=c[g>>2]|0;if(j>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Gb[c[b+36>>2]&63](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}}while(0);i=m;return f|0}function Mk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=ik(nb(6,d|0)|0)|0;i=b;return a|0}function Nk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[9258]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=ik(vb(145,h|0)|0)|0}else{ob(185,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=ik(vb(145,g|0)|0)|0;gb(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Ok(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((ik(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Pk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[9258]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=ik(wb(146,n|0)|0)|0}else{ob(186,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=ik(wb(146,m|0)|0)|0;gb(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function Qk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=8;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(eb(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=Pk(b,d,e)|0;i=g;return f|0}function Rk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=jl(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;lw(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Sk(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Gb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Tk(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function Uk(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Sk(a)|0)!=0:0)b=-1;else if((Gb[c[a+32>>2]&63](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Vk(a){a=a|0;var b=0,d=0;do{if(a){if((c[a+76>>2]|0)<=-1){b=wl(a)|0;break}d=(Jk(a)|0)==0;b=wl(a)|0;if(!d)Kk(a)}else{if(!(c[9323]|0))b=0;else b=Vk(c[9323]|0)|0;Ea(37060);a=c[9264]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Jk(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=wl(a)|0|b;if(d)Kk(a);a=c[a+56>>2]|0}while((a|0)!=0);fb(37060)}}while(0);return b|0}function Wk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Jk(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Lk(d,b)|0;Kk(d)}else i=3;do{if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Lk(d,b)|0}}while(0);return e|0}function Xk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Tk(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do{if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=Gb[c[e+36>>2]&63](e,b,d)|0;break}b:do{if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Gb[c[e+36>>2]&63](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}}while(0);lw(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}}while(0);return f|0}function Yk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Jk(e)|0)==0;a=Xk(a,f,e)|0;if(!g)Kk(e)}else a=Xk(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Zk(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(Jk(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=Uk(a)|0}else f=3;do{if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=Uk(a)|0;break}}}while(0);return b|0}function _k(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=el(a,b,d,g)|0;i=f;return e|0}function $k(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=fl(a,b,f)|0;i=e;return d|0}function al(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;do{if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=Jk(d)|0;else g=0;if(!((c[d+8>>2]|0)==0?(Sk(d)|0)!=0:0))h=6;if((h|0)==6?(e=d+4|0,f=c[e>>2]|0,f>>>0>((c[d+44>>2]|0)+-8|0)>>>0):0){h=f+-1|0;c[e>>2]=h;a[h>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;Kk(d);break}if(g){Kk(d);b=-1}else b=-1}else b=-1}while(0);return b|0}function bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j;f=Fl(240)|0;do{if(f){c[e>>2]=c[d>>2];e=el(f,240,b,e)|0;if(e>>>0<240){b=Il(f,e+1|0)|0;c[a>>2]=(b|0)!=0?b:f;break}Gl(f);if((e|0)>=0?(h=e+1|0,g=Fl(h)|0,c[a>>2]=g,(g|0)!=0):0)e=el(g,h,b,d)|0;else e=-1}else e=-1}while(0);i=j;return e|0}function cl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((xl(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Jk(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=xl(b,d,o,q,r)|0;if(h){Gb[c[b+36>>2]&63](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=xl(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)Kk(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function dl(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Jk(e)|0;else O=0;k=a[f>>0]|0;a:do{if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;C=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do{if(!(ak(m&255)|0)){m=(a[n>>0]|0)==37;d:do{if(m){q=n+1|0;o=a[q>>0]|0;e:do{switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=152;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case-2:{a[x>>0]=s;o=s;break c}case-1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{gk(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=hk(e)|0}while((ak(o)|0)!=0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}gk(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0>>0)c[L>>2]=o+1;else{if((hk(e)|0)<0){N=152;break b}q=c[M>>2]|0}if(q)c[L>>2]=(c[L>>2]|0)+-1;f:do{switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do{if((r&239|0)==99){iw(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{Q=n+1|0;s=(a[Q>>0]|0)==94;o=s&1;r=s?Q:n;n=s?n+2|0:Q;iw(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=r+2|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=r+2|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do{switch(o<<24>>24){case 0:{N=152;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do{if(s){if(t){f=Fl(r<<2)|0;if(!f){l=0;N=152;break b}}else f=x;c[J>>2]=0;c[C>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=hk(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Ak(K,y,1,J)|0){case-1:{l=0;N=152;break b}case-2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Il(f,l<<2)|0;if(!o){l=0;N=152;break b}Q=r;r=l;f=o;l=Q}if(!(Bk(J)|0)){l=0;N=152;break b}else{q=l;l=0}}else{if(t){l=Fl(r)|0;if(!l){l=0;f=0;N=152;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Il(l,f)|0;if(!o){f=0;N=152;break b}else{Q=r;r=f;l=o;o=Q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}}while(0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do{if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}}while(0);if(!u){if(f)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=134;break}case 111:{o=8;N=134;break}case 117:case 100:{o=10;N=134;break}case 105:{o=0;N=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+ek(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}}while(0);l:do{if((N|0)==134){N=0;o=fk(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case-2:{a[x>>0]=o;break l}case-1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{Q=x;c[Q>>2]=o;c[Q+4>>2]=D;break l}default:break l}}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}}while(0);n=n+(m&1)|0;gk(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=hk(e)|0;if((m|0)!=(d[n>>0]|0)){N=21;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(ak(d[m>>0]|0)|0))break;else n=m}gk(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=hk(e)|0}while((ak(m)|0)!=0);m=c[L>>2]|0;if(c[M>>2]|0){m=m+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==21){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=153}}else if((N|0)==152)if(!k){k=m;N=153}if((N|0)==153){m=k;k=-1}if(m){Gl(l);Gl(f)}}else k=0}while(0);if(O)Kk(e);i=P;return k|0}function el(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=37352;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(ck()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=cl(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function fl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=29;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=dl(e,b,d)|0;i=g;return h|0}function gl(a,b,c){a=a|0;b=b|0;c=c|0;return+ +zl(a,b,2)}function hl(a,b,c){a=a|0;b=b|0;c=c|0;a=Al(a,b,c,-1,-1)|0;return a|0}function il(a,b,c){a=a|0;b=b|0;c=c|0;a=Al(a,b,c,0,-2147483648)|0;return a|0}function jl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do{if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5}while(0);if((i|0)==5)if(f)i=6;else e=0;b:do{if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=$(h,16843009)|0;c:do{if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11}while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}}while(0);return((e|0)!=0?b:0)|0}function kl(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do{if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8}while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function ll(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return(c&255)-(d&255)|0}function ml(a,b){a=a|0;b=b|0;kl(a,b)|0;return a|0}function nl(b){b=b|0;var d=0,e=0,f=0;f=b;a:do{if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do{b=b+1|0}while((a[b>>0]|0)!=0)}return b-f|0}function ol(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do{if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function pl(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(d|0)==0;if(a-b>>2>>>0>>0){if(!e)do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0)}else if(!e){e=b;b=a;while(1){d=d+-1|0;c[b>>2]=c[e>>2];if(!d)break;else{e=e+4|0;b=b+4|0}}}return a|0}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function tl(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=tw(f|0,b|0,10,0)|0;f=D;e=jw(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=jw(e|0,D|0,b|0,f|0)|0;b=D;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=hw(0,0,g|0,b|0)|0;f=a?D:b;e=a?e:g}D=f;return e|0}function ul(a){a=a|0;if(!(c[a+68>>2]|0))Kk(a);return}function vl(a){a=a|0;if(!(c[a+68>>2]|0))Kk(a);return}function wl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Gb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Gb[c[a+40>>2]&63](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}var yb=[Uw,Qq,Uq,Or,Sr,Xr,Zr,xu,Iu,Uw,Uw,Uw,Uw,Uw,Uw,Uw];var zb=[Vw,ii,Yh,Mh,Ah,oh,ch,Sg,Bg,Mj,Lj,Ij,Vw,Vw,Vw,Vw];var Ab=[Ww,bs,hs,Ww];var Bb=[Xw,ei,fi,Uh,Vh,Ih,Jh,wh,xh,kh,lh,_g,$g,Og,Pg,xg,yg,kg,lg,_f,$f,Of,Pf,Cf,Df,qf,rf,ye,ze,le,me,tc,uc,Pd,Td,Qd,bo,eo,co,fo,kd,ld,Qi,md,dd,ed,Ic,Jc,Qc,Rc,Xc,Yc,nd,od,ud,vd,Bd,Cd,Id,Jd,je,ke,He,Ie,Oe,Pe,Ve,We,af,bf,Mg,Ng,Dm,qi,Ai,Bi,Ri,Si,fj,gj,mj,nj,rj,sj,uj,xj,vj,wj,yj,zj,Cn,Tl,Zl,nn,cm,im,Bm,Cm,on,Dn,Rn,Tn,Sn,Un,Xn,Zn,Yn,_n,ko,mo,lo,no,uo,vo,en,wo,xo,yo,Ao,Ks,Eo,Fo,Jo,Ko,Yo,Zo,qp,rp,Fp,Gp,Sp,Tp,pq,qq,Nq,Pq,Sq,Tq,Wq,Xq,fr,gr,qr,rr,Br,Cr,Mr,Nr,Vr,Wr,$r,as,fs,gs,ls,ms,qs,rs,ys,zs,at,bt,wu,tt,Vt,Wt,Xt,Yt,zo,Js,Ms,kt,Bt,Jt,Rt,St,Ti,Ii,$i,sc,pn,Wn,_d,Eg,Wj,ul,vl,Ml,mk,Pr,Rr,Ls,Gv,Nv,Ov,Pv,Qv,Rv,Sv,Im,Wm,Gl,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw];var Cb=[Yw,hi,Xh,Lh,zh,nh,bh,Rg,Ag,mg,ag,Qf,Ef,sf,Ae,ne,vc,qn,Ci,Fi,Ul,Yl,dm,hm,Fn,_q,$q,ar,br,dr,er,jr,kr,lr,mr,or,pr,ur,vr,wr,xr,zr,Ar,Fr,Gr,Hr,Ir,Kr,Lr,ps,us,bu,du,fu,cu,eu,gu,kc,Ui,Gi,Hi,Ji,kn,Cc,Ec,go,dn,Qm,Zd,re,jf,wf,If,Uf,eg,qg,Dg,Ug,eh,qh,Ch,Oh,_h,ki,yi,Zi,sm,qm,hn,oo,rm,Om,_m,Zm,av,bv,cv,dv,ev,fv,st,gv,hv,iv,jv,kv,lv,mv,nv,ov,pv,qv,rv,sv,tv,uv,vv,wv,xv,yv,zv,Av,Bv,Cv,Ev,Yv,Yw,Yw];var Db=[Zw,Lo,Mo,No,Oo,Po,Qo,Ro,So,To,Uo,Vo,_o,$o,ap,bp,cp,dp,ep,fp,gp,hp,ip,xp,zp,Kp,Mp,Vp,Wp,Xp,Zp,$p,sq,tq,uq,wq,yq,es,ks,cd,Uu,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw];var Eb=[_w,un,vn,hd,yn,ri,hj,oj,tj,Mk,Vl,Kn,Mn,Nn,Jn,_l,$l,em,xn,jm,km,qo,Up,iu,ku,mu,su,uu,ou,qu,rq,ju,lu,nu,tu,vu,pu,ru,Yq,Zq,cr,hr,ir,nr,sr,tr,yr,Dr,Er,Jr,xt,yt,At,Zt,$t,_t,au,ot,pt,rt,Ft,Gt,It,Nt,Ot,Qt,ui,bj,jn,Li,Vn,$n,$w,ax,bx,qk,pl,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w];var Fb=[cx,Qr,Yr,cx];var Gb=[dx,rn,wn,An,um,vm,Aj,Bl,Pk,Ok,Nk,Qk,Gn,Ln,Wl,Pn,fm,Do,Io,ns,ss,dt,ft,it,Ns,Us,Xs,_s,Dc,yl,Rm,pk,Zu,$u,Fk,Ek,zk,bl,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx];var Hb=[ex,ds,js,ex];var Ib=[fx,fd,Pj,Oj,Nj,Hn,sn,os,ts,fx,fx,fx,fx,fx,fx,fx];var Jb=[gx,wp,Cp,Jp,Op,gx,gx,gx];var Kb=[hx,Tr,_r,cs,is,hx,hx,hx];var Lb=[ix,gi,Wh,Kh,yh,mh,ah,Qg,zg,og,cg,Sf,Gf,uf,Ce,pe,xc,id,jd,On,Xl,am,Qn,zn,gm,lm,Bn,ct,et,gt,Ss,Vs,Ys,Vi,oc,qc,io,Is,jo,ok,nk,Km,Xm,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix];var Mb=[jx,Bo,Go,sp,tp,yp,Ep,Hp,Ip,Lp,Qp,jt,wt,zt,$s,nt,qt,Et,Ht,Mt,Pt,Gk,Ck,jx,jx,jx,jx,jx,jx,jx,jx,jx];var Nb=[kx,$v,_v,Zv];var Ob=[lx,lc,aj,Xo,Bs,Cs,Ds,Zj,$j,_j,lx,lx,lx,lx,lx,lx];var Pb=[mx,ng,bg,Rf,Ff,tf,Be,oe,wc,ht,Ps,Qs,Rs,Zs,ti,zi,Hu,Tu,Dk,kk,Ak,fw,ew,dw,cw,bw,aw,mx,mx,mx,mx,mx];var Qb=[nx,tm,si,ro,Wi,Gm,ox,Am,Mm,Ki,xm,to,Xu,Yu,_u,Um];var Rb=[px,qx,Tj,rx,Uj,sx,Sj,px];var Sb=[tx,bq,Aq,ut,vt,lt,mt,Ct,Dt,Kt,Lt,tx,tx,tx,tx,tx];var Tb=[ux,Ap,Dp,Np,Pp,ux,ux,ux];var Ub=[vx,Ud,Vd,Rd,Sd,gd,Kc,Lc,Sc,Tc,Zc,_c,pd,qd,wd,xd,Dd,Ed,Kd,Ld,Je,Ke,Qe,Re,Xe,Ye,cf,df,Cj,Dj,Fj,In,tn,Co,Ho,dc,zm,yc,zc,Ac,Bc,Fc,Gc,Hc,De,Ee,Fe,Ge,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx];return{_jpegls_encode:Yi,___cxa_can_catch:Qj,_free:Gl,_jpegls_decode:Xi,___cxa_is_pointer_type:Rj,_i64Add:jw,_memmove:nw,_i64Subtract:hw,_memset:iw,_malloc:Fl,_memcpy:lw,_bitshift64Lshr:kw,_bitshift64Shl:mw,__GLOBAL__I_000101:Nl,__GLOBAL__sub_I_jpegls_cpp:rc,__GLOBAL__sub_I_iostream_cpp:Ol,runPostSets:gw,stackAlloc:Vb,stackSave:Wb,stackRestore:Xb,establishStackSpace:Yb,setThrew:Zb,setTempRet0:ac,getTempRet0:bc,dynCall_iiiiiiii:xw,dynCall_viiiii:yw,dynCall_iiiiiid:zw,dynCall_vi:Aw,dynCall_vii:Bw,dynCall_iiiiiii:Cw,dynCall_ii:Dw,dynCall_iiiiiiiiiiii:Ew,dynCall_iiii:Fw,dynCall_viiiiiiiiiiiiiii:Gw,dynCall_viiiiii:Hw,dynCall_viiiiiii:Iw,dynCall_viiiiiiiiii:Jw,dynCall_iii:Kw,dynCall_iiiiii:Lw,dynCall_diii:Mw,dynCall_i:Nw,dynCall_iiiii:Ow,dynCall_viii:Pw,dynCall_v:Qw,dynCall_iiiiiiiii:Rw,dynCall_iiiiid:Sw,dynCall_viiii:Tw}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _jpegls_encode=Module["_jpegls_encode"]=asm["_jpegls_encode"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _free=Module["_free"]=asm["_free"];var _jpegls_decode=Module["_jpegls_decode"]=asm["_jpegls_decode"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var __GLOBAL__sub_I_jpegls_cpp=Module["__GLOBAL__sub_I_jpegls_cpp"]=asm["__GLOBAL__sub_I_jpegls_cpp"];var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=asm["dynCall_iiiiiiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_diii=Module["dynCall_diii"]=asm["dynCall_diii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",function(){process["exit"](status)});console.log(" ");setTimeout(function(){process["exit"](status)},500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach(function(decorator){output=decorator(output,what)})}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run();return Module};var ColorSpace={Unkown:0,Grayscale:1,AdobeRGB:2,RGB:3,CYMK:4};var JpegImage=function jpegImage(){"use strict";var dctZigZag=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);var dctCos1=4017;var dctSin1=799;var dctCos3=3406;var dctSin3=2276;var dctCos6=1567;var dctSin6=3784;var dctSqrt2=5793;var dctSqrt1d2=2896;function constructor(){}function buildHuffmanTable(codeLengths,values){var k=0,code=[],i,j,length=16;while(length>0&&!codeLengths[length-1])length--;code.push({children:[],index:0});var p=code[0],q;for(i=0;i0){p=code.pop()}p.index++;code.push(p);while(code.length<=i){code.push(q={children:[],index:0});p.children[p.index]=q.children;p=q}k++}if(i+10){bitsCount--;return bitsData>>bitsCount&1}bitsData=data[offset++];if(bitsData==255){var nextByte=data[offset++];if(nextByte){throw"unexpected marker: "+(bitsData<<8|nextByte).toString(16)}}bitsCount=7;return bitsData>>>7}function decodeHuffman(tree){var node=tree;var bit;while((bit=readBit())!==null){node=node[bit];if(typeof node==="number")return node;if(typeof node!=="object")throw"invalid huffman sequence"}return null}function receive(length){var n=0;while(length>0){var bit=readBit();if(bit===null)return;n=n<<1|bit;length--}return n}function receiveAndExtend(length){var n=receive(length);if(n>=1<>4;if(s===0){if(r<15)break;k+=16;continue}k+=r;var z=dctZigZag[k];component.blockData[offset+z]=receiveAndExtend(s);k++}}function decodeDCFirst(component,offset){var t=decodeHuffman(component.huffmanTableDC);var diff=t===0?0:receiveAndExtend(t)<0){eobrun--;return}var k=spectralStart,e=spectralEnd;while(k<=e){var rs=decodeHuffman(component.huffmanTableAC);var s=rs&15,r=rs>>4;if(s===0){if(r<15){eobrun=receive(r)+(1<>4;if(s===0){if(r<15){eobrun=receive(r)+(1<=65488&&marker<=65495){offset+=2}else{break}}return offset-startOffset}function quantizeAndInverse(component,blockBufferOffset,p){var qt=component.quantizationTable;var v0,v1,v2,v3,v4,v5,v6,v7,t;var i;for(i=0;i<64;i++){p[i]=component.blockData[blockBufferOffset+i]*qt[i]}for(i=0;i<8;++i){var row=8*i;if(p[1+row]===0&&p[2+row]===0&&p[3+row]===0&&p[4+row]===0&&p[5+row]===0&&p[6+row]===0&&p[7+row]===0){t=dctSqrt2*p[0+row]+512>>10;p[0+row]=t;p[1+row]=t;p[2+row]=t;p[3+row]=t;p[4+row]=t;p[5+row]=t;p[6+row]=t;p[7+row]=t;continue}v0=dctSqrt2*p[0+row]+128>>8;v1=dctSqrt2*p[4+row]+128>>8;v2=p[2+row];v3=p[6+row];v4=dctSqrt1d2*(p[1+row]-p[7+row])+128>>8;v7=dctSqrt1d2*(p[1+row]+p[7+row])+128>>8;v5=p[3+row]<<4;v6=p[5+row]<<4;t=v0-v1+1>>1;v0=v0+v1+1>>1;v1=t;t=v2*dctSin6+v3*dctCos6+128>>8;v2=v2*dctCos6-v3*dctSin6+128>>8;v3=t;t=v4-v6+1>>1;v4=v4+v6+1>>1;v6=t;t=v7+v5+1>>1;v5=v7-v5+1>>1;v7=t;t=v0-v3+1>>1;v0=v0+v3+1>>1;v3=t;t=v1-v2+1>>1;v1=v1+v2+1>>1;v2=t;t=v4*dctSin3+v7*dctCos3+2048>>12;v4=v4*dctCos3-v7*dctSin3+2048>>12;v7=t;t=v5*dctSin1+v6*dctCos1+2048>>12;v5=v5*dctCos1-v6*dctSin1+2048>>12;v6=t;p[0+row]=v0+v7;p[7+row]=v0-v7;p[1+row]=v1+v6;p[6+row]=v1-v6;p[2+row]=v2+v5;p[5+row]=v2-v5;p[3+row]=v3+v4;p[4+row]=v3-v4}for(i=0;i<8;++i){var col=i;if(p[1*8+col]===0&&p[2*8+col]===0&&p[3*8+col]===0&&p[4*8+col]===0&&p[5*8+col]===0&&p[6*8+col]===0&&p[7*8+col]===0){t=dctSqrt2*p[i+0]+8192>>14;p[0*8+col]=t;p[1*8+col]=t;p[2*8+col]=t;p[3*8+col]=t;p[4*8+col]=t;p[5*8+col]=t;p[6*8+col]=t;p[7*8+col]=t;continue}v0=dctSqrt2*p[0*8+col]+2048>>12;v1=dctSqrt2*p[4*8+col]+2048>>12;v2=p[2*8+col];v3=p[6*8+col];v4=dctSqrt1d2*(p[1*8+col]-p[7*8+col])+2048>>12;v7=dctSqrt1d2*(p[1*8+col]+p[7*8+col])+2048>>12;v5=p[3*8+col];v6=p[5*8+col];t=v0-v1+1>>1;v0=v0+v1+1>>1;v1=t;t=v2*dctSin6+v3*dctCos6+2048>>12;v2=v2*dctCos6-v3*dctSin6+2048>>12;v3=t;t=v4-v6+1>>1;v4=v4+v6+1>>1;v6=t;t=v7+v5+1>>1;v5=v7-v5+1>>1;v7=t;t=v0-v3+1>>1;v0=v0+v3+1>>1;v3=t;t=v1-v2+1>>1;v1=v1+v2+1>>1;v2=t;t=v4*dctSin3+v7*dctCos3+2048>>12;v4=v4*dctCos3-v7*dctSin3+2048>>12;v7=t;t=v5*dctSin1+v6*dctCos1+2048>>12;v5=v5*dctCos1-v6*dctSin1+2048>>12;v6=t;p[0*8+col]=v0+v7;p[7*8+col]=v0-v7;p[1*8+col]=v1+v6;p[6*8+col]=v1-v6;p[2*8+col]=v2+v5;p[5*8+col]=v2-v5;p[3*8+col]=v3+v4;p[4*8+col]=v3-v4}for(i=0;i<64;++i){var index=blockBufferOffset+i;var q=p[i];q=q<=-2056/component.bitConversion?0:q>=2024/component.bitConversion?255/component.bitConversion:q+2056/component.bitConversion>>4;component.blockData[index]=q}}function buildComponentData(frame,component){var lines=[];var blocksPerLine=component.blocksPerLine;var blocksPerColumn=component.blocksPerColumn;var samplesPerLine=blocksPerLine<<3;var computationBuffer=new Int32Array(64);var i,j,ll=0;for(var blockRow=0;blockRow=255?255:a|0}constructor.prototype={load:function load(path){var handleData=function(data){this.parse(data);if(this.onload)this.onload()}.bind(this);if(path.indexOf("data:")>-1){var offset=path.indexOf("base64,")+7;var data=atob(path.substring(offset));var arr=new Uint8Array(data.length);for(var i=data.length-1;i>=0;i--){arr[i]=data.charCodeAt(i)}handleData(data)}else{var xhr=new XMLHttpRequest;xhr.open("GET",path,true);xhr.responseType="arraybuffer";xhr.onload=function(){var data=new Uint8Array(xhr.response);handleData(data)}.bind(this);xhr.send(null)}},parse:function parse(data){function readUint16(){var value=data[offset]<<8|data[offset+1];offset+=2;return value}function readDataBlock(){var length=readUint16();var array=data.subarray(offset,offset+length-2);offset+=array.length;return array}function prepareComponents(frame){var mcusPerLine=Math.ceil(frame.samplesPerLine/8/frame.maxH);var mcusPerColumn=Math.ceil(frame.scanLines/8/frame.maxV);for(var i=0;i>4===0){for(j=0;j<64;j++){var z=dctZigZag[j];tableData[z]=data[offset++]}}else if(quantizationTableSpec>>4===1){for(j=0;j<64;j++){var zz=dctZigZag[j];tableData[zz]=readUint16()}}else throw"DQT: invalid table spec";quantizationTables[quantizationTableSpec&15]=tableData}break;case 65472:case 65473:case 65474:if(frame){throw"Only single frame JPEGs supported"}readUint16();frame={};frame.extended=fileMarker===65473;frame.progressive=fileMarker===65474;frame.precision=data[offset++];frame.scanLines=readUint16();frame.samplesPerLine=readUint16();frame.components=[];frame.componentIds={};var componentsCount=data[offset++],componentId;var maxH=0,maxV=0;for(i=0;i>4;var v=data[offset+1]&15;if(maxH>4===0?huffmanTablesDC:huffmanTablesAC)[huffmanTableSpec&15]=buildHuffmanTable(codeLengths,huffmanValues)}break;case 65501:readUint16();resetInterval=readUint16();break;case 65498:var scanLength=readUint16();var selectorsCount=data[offset++];var components=[],component;for(i=0;i>4];component.huffmanTableAC=huffmanTablesAC[tableSpec&15];components.push(component)}var spectralStart=data[offset++];var spectralEnd=data[offset++];var successiveApproximation=data[offset++];var processed=decodeScan(data,offset,frame,components,resetInterval,spectralStart,spectralEnd,successiveApproximation>>4,successiveApproximation&15);offset+=processed;break;default:if(data[offset-3]==255&&data[offset-2]>=192&&data[offset-2]<=254){offset-=3;break}throw"unknown JPEG marker "+fileMarker.toString(16)}fileMarker=readUint16()}this.width=frame.samplesPerLine;this.height=frame.scanLines;this.jfif=jfif;this.adobe=adobe;this.components=[];switch(frame.components.length){case 1:this.colorspace=ColorSpace.Grayscale;break;case 3:if(this.adobe)this.colorspace=ColorSpace.AdobeRGB;else this.colorspace=ColorSpace.RGB;break;case 4:this.colorspace=ColorSpace.CYMK;break;default:this.colorspace=ColorSpace.Unknown}for(var i=0;i>4!==4092||current===65476){switch(current){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,jpeg.lossless.Decoder.TABLE);break;case 65501:this.restartInterval=this.readNumber();break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(current>>8!==255){throw new Error("ERROR: format throw new IOException! (decode)")}}current=this.stream.get16()}if(current<65472||current>65479){throw new Error("ERROR: could not handle arithmetic code!")}this.frame.read(this.stream);current=this.stream.get16();do{while(current!==65498){switch(current){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,jpeg.lossless.Decoder.TABLE);break;case 65501:this.restartInterval=this.readNumber();break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(current>>8!==255){throw new Error("ERROR: format throw new IOException! (Parser.decode)")}}current=this.stream.get16()}this.precision=this.frame.precision;this.components=this.frame.components;if(!this.numBytes){this.numBytes=parseInt(Math.ceil(this.precision/8))}if(this.numBytes==1){this.mask=255}else{this.mask=65535}this.scan.read(this.stream);this.numComp=this.scan.numComp;this.selection=this.scan.selection;if(this.numBytes===1){if(this.numComp===3){this.getter=this.getValueRGB;this.setter=this.setValueRGB;this.output=this.outputRGB}else{this.getter=this.getValue8;this.setter=this.setValue8;this.output=this.outputSingle}}else{this.getter=this.getValue16;this.setter=this.setValue16;this.output=this.outputSingle}switch(this.selection){case 2:this.selector=this.select2;break;case 3:this.selector=this.select3;break;case 4:this.selector=this.select4;break;case 5:this.selector=this.select5;break;case 6:this.selector=this.select6;break;case 7:this.selector=this.select7;break;default:this.selector=this.select1;break}this.scanComps=this.scan.components;this.quantTables=this.quantTable.quantTables;for(i=0;i=jpeg.lossless.Decoder.RESTART_MARKER_BEGIN&¤t<=jpeg.lossless.Decoder.RESTART_MARKER_END)){break}}if(current===65500&&scanNum===1){this.readNumber();current=this.stream.get16()}}while(current!==65497&&(this.xLoc>1)};jpeg.lossless.Decoder.prototype.select6=function(compOffset){return this.getPreviousY(compOffset)+(this.getPreviousX(compOffset)-this.getPreviousXY(compOffset)>>1)};jpeg.lossless.Decoder.prototype.select7=function(compOffset){return(this.getPreviousX(compOffset)+this.getPreviousY(compOffset))/2};jpeg.lossless.Decoder.prototype.decodeRGB=function(prev,temp,index){var value,actab,dctab,qtab,ctrC,i,k,j;prev[0]=this.selector(0);prev[1]=this.selector(1);prev[2]=this.selector(2);for(ctrC=0;ctrC=65280){return value}prev[ctrC]=this.IDCT_Source[0]=prev[ctrC]+this.getn(index,value,temp,index);this.IDCT_Source[0]*=qtab[0];for(j=1;j<64;j+=1){value=this.getHuffmanValue(actab,temp,index);if(value>=65280){return value}j+=value>>4;if((value&15)===0){if(value>>4===0){break}}else{this.IDCT_Source[jpeg.lossless.Decoder.IDCT_P[j]]=this.getn(index,value&15,temp,index)*qtab[j]}}}}return 0};jpeg.lossless.Decoder.prototype.decodeSingle=function(prev,temp,index){var value,i,n,nRestart;if(this.restarting){this.restarting=false;prev[0]=1<=65280){return value}n=this.getn(prev,value,temp,index);nRestart=n>>8;if(nRestart>=jpeg.lossless.Decoder.RESTART_MARKER_BEGIN&&nRestart<=jpeg.lossless.Decoder.RESTART_MARKER_END){return nRestart}prev[0]+=n}return 0};jpeg.lossless.Decoder.prototype.getHuffmanValue=function(table,temp,index){var code,input,mask;mask=65535;if(index[0]<8){temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input}else{index[0]-=8}code=table[temp[0]>>index[0]];if((code&jpeg.lossless.Decoder.MSB)!==0){if(this.markerIndex!==0){this.markerIndex=0;return 65280|this.marker}temp[0]&=mask>>16-index[0];temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input;code=table[(code&255)*256+(temp[0]>>index[0])];index[0]+=8}index[0]+=8-(code>>8);if(index[0]<0){throw new Error("index="+index[0]+" temp="+temp[0]+" code="+code+" in HuffmanValue()")}if(index[0]>16-index[0];return code&255};jpeg.lossless.Decoder.prototype.getn=function(PRED,n,temp,index){var result,one,n_one,mask,input;one=1;n_one=-1;mask=65535;if(n===0){return 0}if(n===16){if(PRED[0]>=0){return-32768}else{return 32768}}index[0]-=n;if(index[0]>=0){if(index[0]>index[0];temp[0]&=mask>>16-index[0]}else{temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input;index[0]+=8;if(index[0]<0){if(this.markerIndex!==0){this.markerIndex=0;return(65280|this.marker)<<8}temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input;index[0]+=8}if(index[0]<0){throw new Error("index="+index[0]+" in getn()")}if(index[0]>index[0];temp[0]&=mask>>16-index[0]}if(result0){return this.getter(this.yLoc*this.xDim+this.xLoc-1,compOffset)}else if(this.yLoc>0){return this.getPreviousY(compOffset)}else{return 1<0&&this.yLoc>0){return this.getter((this.yLoc-1)*this.xDim+this.xLoc-1,compOffset)}else{return this.getPreviousY(compOffset)}};jpeg.lossless.Decoder.prototype.getPreviousY=function(compOffset){if(this.yLoc>0){return this.getter((this.yLoc-1)*this.xDim+this.xLoc,compOffset)}else{return this.getPreviousX(compOffset)}};jpeg.lossless.Decoder.prototype.isLastPixel=function(){return this.xLoc===this.xDim-1&&this.yLoc===this.yDim-1};jpeg.lossless.Decoder.prototype.outputSingle=function(PRED){if(this.xLoc=this.xDim){this.yLoc+=1;this.xLoc=0}}};jpeg.lossless.Decoder.prototype.outputRGB=function(PRED){var offset=this.yLoc*this.xDim+this.xLoc;if(this.xLoc=this.xDim){this.yLoc+=1;this.xLoc=0}}};jpeg.lossless.Decoder.prototype.setValue8=function(index,val){this.outputData[index]=val};jpeg.lossless.Decoder.prototype.getValue8=function(index){return this.outputData[index]};var littleEndian=function(){var buffer=new ArrayBuffer(2);new DataView(buffer).setInt16(0,256,true);return new Int16Array(buffer)[0]===256}();if(littleEndian){jpeg.lossless.Decoder.prototype.setValue16=jpeg.lossless.Decoder.prototype.setValue8;jpeg.lossless.Decoder.prototype.getValue16=jpeg.lossless.Decoder.prototype.getValue8}else{jpeg.lossless.Decoder.prototype.setValue16=function(index,val){this.outputData[index]=(val&255)<<8|val>>8&255};jpeg.lossless.Decoder.prototype.getValue16=function(index){var val=this.outputData[index];return(val&255)<<8|val>>8&255}}jpeg.lossless.Decoder.prototype.setValueRGB=function(index,val,compOffset){this.outputData[index*3+compOffset]=val};jpeg.lossless.Decoder.prototype.getValueRGB=function(index,compOffset){return this.outputData[index*3+compOffset]};jpeg.lossless.Decoder.prototype.readApp=function(){var count=0,length=this.stream.get16();count+=2;while(countlength){throw new Error("ERROR: frame format error")}c=data.get8();count+=1;if(count>=length){throw new Error("ERROR: frame format error [c>=Lf]")}temp=data.get8();count+=1;if(!this.components[c]){this.components[c]=new jpeg.lossless.ComponentSpec}this.components[c].hSamp=temp>>4;this.components[c].vSamp=temp&15;this.components[c].quantTableSel=data.get8();count+=1}if(count!==length){throw new Error("ERROR: frame format error [Lf!=count]")}return 1};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.FrameHeader}},{"./component-spec.js":1,"./data-stream.js":2}],5:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.Utils=jpeg.lossless.Utils||(typeof require!=="undefined"?require("./utils.js"):null);jpeg.lossless.HuffmanTable=jpeg.lossless.HuffmanTable||function(){this.l=jpeg.lossless.Utils.createArray(4,2,16);this.th=[];this.v=jpeg.lossless.Utils.createArray(4,2,16,200);this.tc=jpeg.lossless.Utils.createArray(4,2);this.tc[0][0]=0;this.tc[1][0]=0;this.tc[2][0]=0;this.tc[3][0]=0;this.tc[0][1]=0;this.tc[1][1]=0;this.tc[2][1]=0;this.tc[3][1]=0;this.th[0]=0;this.th[1]=0;this.th[2]=0;this.th[3]=0};jpeg.lossless.HuffmanTable.MSB=2147483648;jpeg.lossless.HuffmanTable.prototype.read=function(data,HuffTab){var count=0,length,temp,t,c,i,j;length=data.get16();count+=2;while(count3){throw new Error("ERROR: Huffman table ID > 3")}c=temp>>4;if(c>2){throw new Error("ERROR: Huffman table [Table class > 2 ]")}this.th[t]=1;this.tc[t][c]=1;for(i=0;i<16;i+=1){this.l[t][c][i]=data.get8();count+=1}for(i=0;i<16;i+=1){for(j=0;jlength){throw new Error("ERROR: Huffman table format error [count>Lh]")}this.v[t][c][i][j]=data.get8();count+=1}}}if(count!==length){throw new Error("ERROR: Huffman table format error [count!=Lf]")}for(i=0;i<4;i+=1){for(j=0;j<2;j+=1){if(this.tc[i][j]!==0){this.buildHuffTable(HuffTab[i][j],this.l[i][j],this.v[i][j])}}}return 1};jpeg.lossless.HuffmanTable.prototype.buildHuffTable=function(tab,L,V){var currentTable,temp,k,i,j,n;temp=256;k=0;for(i=0;i<8;i+=1){for(j=0;j>i+1;n+=1){tab[k]=V[i][j]|i+1<<8;k+=1}}}for(i=1;k<256;i+=1,k+=1){tab[k]=i|jpeg.lossless.HuffmanTable.MSB}currentTable=1;k=0;for(i=8;i<16;i+=1){for(j=0;j>i-7;n+=1){tab[currentTable*256+k]=V[i][j]|i+1<<8;k+=1}if(k>=256){if(k>256){throw new Error("ERROR: Huffman table error(1)!")}k=0;currentTable+=1}}}};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.HuffmanTable}},{"./data-stream.js":2,"./utils.js":10}],6:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.ComponentSpec=jpeg.lossless.ComponentSpec||(typeof require!=="undefined"?require("./component-spec.js"):null);jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.Decoder=jpeg.lossless.Decoder||(typeof require!=="undefined"?require("./decoder.js"):null);jpeg.lossless.FrameHeader=jpeg.lossless.FrameHeader||(typeof require!=="undefined"?require("./frame-header.js"):null);jpeg.lossless.HuffmanTable=jpeg.lossless.HuffmanTable||(typeof require!=="undefined"?require("./huffman-table.js"):null);jpeg.lossless.QuantizationTable=jpeg.lossless.QuantizationTable||(typeof require!=="undefined"?require("./quantization-table.js"):null);jpeg.lossless.ScanComponent=jpeg.lossless.ScanComponent||(typeof require!=="undefined"?require("./scan-component.js"):null);jpeg.lossless.ScanHeader=jpeg.lossless.ScanHeader||(typeof require!=="undefined"?require("./scan-header.js"):null);jpeg.lossless.Utils=jpeg.lossless.Utils||(typeof require!=="undefined"?require("./utils.js"):null);var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg}},{"./component-spec.js":1,"./data-stream.js":2,"./decoder.js":3,"./frame-header.js":4,"./huffman-table.js":5,"./quantization-table.js":7,"./scan-component.js":8,"./scan-header.js":9,"./utils.js":10}],7:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.Utils=jpeg.lossless.Utils||(typeof require!=="undefined"?require("./utils.js"):null);jpeg.lossless.QuantizationTable=jpeg.lossless.QuantizationTable||function(){this.precision=[];this.tq=[];this.quantTables=jpeg.lossless.Utils.createArray(4,64);this.tq[0]=0;this.tq[1]=0;this.tq[2]=0;this.tq[3]=0};jpeg.lossless.QuantizationTable.enhanceQuantizationTable=function(qtab,table){var i;for(i=0;i<8;i+=1){qtab[table[0*8+i]]*=90;qtab[table[4*8+i]]*=90;qtab[table[2*8+i]]*=118;qtab[table[6*8+i]]*=49;qtab[table[5*8+i]]*=71;qtab[table[1*8+i]]*=126;qtab[table[7*8+i]]*=25;qtab[table[3*8+i]]*=106}for(i=0;i<8;i+=1){qtab[table[0+8*i]]*=90;qtab[table[4+8*i]]*=90;qtab[table[2+8*i]]*=118;qtab[table[6+8*i]]*=49;qtab[table[5+8*i]]*=71;qtab[table[1+8*i]]*=126;qtab[table[7+8*i]]*=25;qtab[table[3+8*i]]*=106}for(i=0;i<64;i+=1){qtab[i]>>=6}};jpeg.lossless.QuantizationTable.prototype.read=function(data,table){var count=0,length,temp,t,i;length=data.get16();count+=2;while(count3){throw new Error("ERROR: Quantization table ID > 3")}this.precision[t]=temp>>4;if(this.precision[t]===0){this.precision[t]=8}else if(this.precision[t]===1){this.precision[t]=16}else{throw new Error("ERROR: Quantization table precision error")}this.tq[t]=1;if(this.precision[t]===8){for(i=0;i<64;i+=1){if(count>length){throw new Error("ERROR: Quantization table format error")}this.quantTables[t][i]=data.get8();count+=1}jpeg.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t],table)}else{for(i=0;i<64;i+=1){if(count>length){throw new Error("ERROR: Quantization table format error")}this.quantTables[t][i]=data.get16();count+=2}jpeg.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t],table)}}if(count!==length){throw new Error("ERROR: Quantization table error [count!=Lq]")}return 1};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.QuantizationTable}},{"./data-stream.js":2,"./utils.js":10}],8:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.ScanComponent=jpeg.lossless.ScanComponent||function(){this.acTabSel=0;this.dcTabSel=0;this.scanCompSel=0};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.ScanComponent}},{}],9:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.ScanComponent=jpeg.lossless.ScanComponent||(typeof require!=="undefined"?require("./scan-component.js"):null);jpeg.lossless.ScanHeader=jpeg.lossless.ScanHeader||function(){this.ah=0;this.al=0;this.numComp=0;this.selection=0;this.spectralEnd=0;this.components=[]};jpeg.lossless.ScanHeader.prototype.read=function(data){var count=0,length,i,temp;length=data.get16();count+=2;this.numComp=data.get8();count+=1;for(i=0;ilength){throw new Error("ERROR: scan header format error")}this.components[i].scanCompSel=data.get8();count+=1;temp=data.get8();count+=1;this.components[i].dcTabSel=temp>>4;this.components[i].acTabSel=temp&15}this.selection=data.get8();count+=1;this.spectralEnd=data.get8();count+=1;temp=data.get8();this.ah=temp>>4;this.al=temp&15;count+=1;if(count!==length){throw new Error("ERROR: scan header format error [count!=Ns]")}return 1};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.ScanHeader}},{"./data-stream.js":2,"./scan-component.js":8}],10:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.Utils=jpeg.lossless.Utils||{};jpeg.lossless.Utils.createArray=function(length){var arr=new Array(length||0),i=length;if(arguments.length>1){var args=Array.prototype.slice.call(arguments,1);while(i--)arr[length-1-i]=jpeg.lossless.Utils.createArray.apply(this,args)}return arr};jpeg.lossless.Utils.makeCRCTable=function(){var c;var crcTable=[];for(var n=0;n<256;n++){c=n;for(var k=0;k<8;k++){c=c&1?3988292384^c>>>1:c>>>1}crcTable[n]=c}return crcTable};jpeg.lossless.Utils.crc32=function(dataView){var uint8view=new Uint8Array(dataView.buffer);var crcTable=jpeg.lossless.Utils.crcTable||(jpeg.lossless.Utils.crcTable=jpeg.lossless.Utils.makeCRCTable());var crc=0^-1;for(var i=0;i>>8^crcTable[(crc^uint8view[i])&255]}return(crc^-1)>>>0};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.Utils}},{}]},{},[6])(6)});/*! image-JPEG2000 - v0.3.1 - 2015-08-26 | https://github.com/OHIF/image-JPEG2000 */ +var CharLS=function(Module){Module=Module||{};var Module;if(!Module)Module=(typeof CharLS!=="undefined"?CharLS:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?function(x){dump(x)}:function(x){}}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=function(title){document.title=title}}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=function(){}}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:function(value){tempRet0=value},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(stackTop){STACKTOP=stackTop},getNativeTypeSize:function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}},getNativeFieldSize:function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr},getAlignSize:function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)},dynCall:function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}},functionPointers:[],addFunction:function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret},alignMemory:function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret},makeBigInt:function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret},stringToC:function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret}};var toC={string:JSfuncs["stringToC"],array:JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||4e8;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32};Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+59744;__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_jpegls_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}});allocate([0,0,0,0,0,0,0,0,84,144,0,0,31,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,237,191,0,0,48,0,0,0,0,0,0,0,44,144,0,0,41,192,0,0,84,144,0,0,55,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,115,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,192,0,0,152,3,0,0,0,0,0,0,84,144,0,0,241,192,0,0,216,3,0,0,0,0,0,0,84,144,0,0,55,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,95,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,135,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,216,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,241,193,0,0,48,0,0,0,0,0,0,0,44,144,0,0,13,194,0,0,84,144,0,0,80,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,44,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,139,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,179,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,219,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,3,195,0,0,48,0,0,0,0,0,0,0,84,144,0,0,103,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,157,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,211,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,8,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,71,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,138,196,0,0,160,1,0,0,0,0,0,0,44,144,0,0,120,196,0,0,84,144,0,0,187,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,246,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,49,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,103,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,157,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,210,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,17,198,0,0,160,1,0,0,0,0,0,0,84,144,0,0,86,198,0,0,72,3,0,0,0,0,0,0,84,144,0,0,162,198,0,0,56,2,0,0,0,0,0,0,44,144,0,0,182,198,0,0,84,144,0,0,196,198,0,0,56,2,0,0,0,0,0,0,84,144,0,0,112,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,125,199,0,0,84,144,0,0,138,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,156,199,0,0,84,144,0,0,169,199,0,0,96,2,0,0,0,0,0,0,84,144,0,0,181,199,0,0,120,2,0,0,0,0,0,0,84,144,0,0,214,199,0,0,144,2,0,0,0,0,0,0,84,144,0,0,28,200,0,0,144,2,0,0,0,0,0,0,84,144,0,0,248,199,0,0,176,2,0,0,0,0,0,0,84,144,0,0,62,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,99,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,182,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,245,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,13,222,0,0,152,3,0,0,0,0,0,0,84,144,0,0,38,222,0,0,152,3,0,0,0,0,0,0,44,144,0,0,62,222,0,0,84,144,0,0,87,222,0,0,104,2,0,0,0,0,0,0,44,144,0,0,110,222,0,0,84,144,0,0,135,222,0,0,72,3,0,0,0,0,0,0,84,144,0,0,161,222,0,0,56,3,0,0,0,0,0,0,44,144,0,0,187,222,0,0,84,144,0,0,205,222,0,0,112,3,0,0,0,0,0,0,84,144,0,0,247,222,0,0,112,3,0,0,0,0,0,0,44,144,0,0,33,223,0,0,44,144,0,0,82,223,0,0,124,144,0,0,131,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,178,223,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,124,144,0,0,225,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,16,224,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,84,144,0,0,63,224,0,0,80,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,144,0,0,187,224,0,0,48,3,0,0,0,0,0,0,124,144,0,0,209,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,124,144,0,0,227,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,5,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,40,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,75,225,0,0,144,4,0,0,0,0,0,0,84,144,0,0,109,225,0,0,144,4,0,0,0,0,0,0,124,144,0,0,144,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,178,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,200,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,220,225,0,0,32,4,0,0,0,0,0,0,124,144,0,0,240,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,84,144,0,0,2,226,0,0,32,4,0,0,0,0,0,0,84,144,0,0,23,226,0,0,32,4,0,0,0,0,0,0,124,144,0,0,44,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,80,10,0,0,0,0,0,0,124,144,0,0,112,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,104,10,0,0,0,0,0,0,124,144,0,0,180,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,128,10,0,0,0,0,0,0,124,144,0,0,248,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,152,10,0,0,0,0,0,0,124,144,0,0,60,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,184,10,0,0,0,8,0,0,124,144,0,0,129,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,192,10,0,0,0,8,0,0,124,144,0,0,198,227,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,11,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,80,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,108,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,136,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,164,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,192,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,216,10,0,0,0,0,0,0,124,144,0,0,6,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,224,10,0,0,0,0,0,0,124,144,0,0,76,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,232,10,0,0,0,0,0,0,124,144,0,0,146,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,240,10,0,0,0,0,0,0,124,144,0,0,216,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,124,144,0,0,237,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,144,0,0,73,233,0,0,44,144,0,0,50,233,0,0,124,144,0,0,28,233,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,237,232,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,215,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,124,144,0,0,168,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,44,144,0,0,149,232,0,0,44,144,0,0,115,232,0,0,44,144,0,0,81,232,0,0,44,144,0,0,60,232,0,0,44,144,0,0,39,232,0,0,44,144,0,0,14,232,0,0,44,144,0,0,245,231,0,0,44,144,0,0,220,231,0,0,44,144,0,0,195,231,0,0,44,144,0,0,171,231,0,0,44,144,0,0,190,232,0,0,44,144,0,0,3,233],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([156,143,0,0,0,0,0,0,8,2,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,248,1,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,232,1,0,0,5,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,7,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,200,1,0,0,9,0,0,0,10,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,184,1,0,0,11,0,0,0,12,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,168,1,0,0,13,0,0,0,14,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,144,1,0,0,15,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,128,1,0,0,17,0,0,0,18,0,0,0,9,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,112,1,0,0,19,0,0,0,20,0,0,0,10,0,0,0,2,0,0,0,10,0,0,0,0,0,0,0,96,1,0,0,21,0,0,0,22,0,0,0,11,0,0,0,3,0,0,0,11,0,0,0,0,0,0,0,80,1,0,0,23,0,0,0,24,0,0,0,12,0,0,0,4,0,0,0,12,0,0,0,0,0,0,0,64,1,0,0,25,0,0,0,26,0,0,0,13,0,0,0,5,0,0,0,13,0,0,0,0,0,0,0,240,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,6,0,0,0,14,0,0,0,0,0,0,0,224,0,0,0,29,0,0,0,30,0,0,0,15,0,0,0,7,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,31,0,0,0,32,0,0,0,16,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,200,0,0,0,33,0,0,0,34,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,184,0,0,0,33,0,0,0,35,0,0,0,3,0,0,0,4,0,0,0,56,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,200,255,255,255,200,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,56,0,0,0,0,0,0,0,104,0,0,0,40,0,0,0,41,0,0,0,200,255,255,255,200,255,255,255,104,0,0,0,42,0,0,0,43,0,0,0,0,0,0,0,88,0,0,0,44,0,0,0,45,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,17,0,0,0,3,0,0,0,18,0,0,0,104,141,0,0,64,141,0,0,84,141,0,0,124,141,0,0,0,0,0,0,32,0,0,0,46,0,0,0,47,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,56,0,0,0,48,0,0,0,49,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,72,0,0,0,50,0,0,0,51,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,120,0,0,0,52,0,0,0,53,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,136,0,0,0,54,0,0,0,55,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,152,0,0,0,56,0,0,0,57,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,168,0,0,0,58,0,0,0,59,0,0,0,18,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,216,0,0,0,60,0,0,0,61,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,62,0,0,0,63,0,0,0,20,0,0,0,21,0,0,0,0,0,0,0,16,1,0,0,64,0,0,0,65,0,0,0,22,0,0,0,23,0,0,0,0,0,0,0,32,1,0,0,66,0,0,0,67,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,48,1,0,0,68,0,0,0,69,0,0,0,26,0,0,0,27,0,0,0,0,0,0,0,160,1,0,0,70,0,0,0,71,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,24,2,0,0,72,0,0,0,73,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,0,0,0,0,40,2,0,0,74,0,0,0,75,0,0,0,18,0,0,0,0,0,0,0,64,2,0,0,76,0,0,0,77,0,0,0,19,0,0,0,2,0,0,0,0,0,0,0,80,2,0,0,78,0,0,0,79,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,104,2,0,0,80,0,0,0,81,0,0,0,7,0,0,0,0,0,0,0,128,2,0,0,82,0,0,0,83,0,0,0,8,0,0,0,0,0,0,0,160,2,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,2,0,0,0,9,0,0,0,28,0,0,0,0,0,0,0,208,2,0,0,84,0,0,0,88,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,3,0,0,0,10,0,0,0,29,0,0,0,0,0,0,0,224,2,0,0,84,0,0,0,89,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,4,0,0,0,11,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,1,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,88,146,0,0,200,146,0,0,56,147,0,0,56,147,0,0,120,187,0,0,168,155,0,0,168,149,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,9,0,0,0,159,219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,9,0,0,0,151,215,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,9,0,0,0,143,211,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+35640);allocate([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+39844);allocate([240,2,0,0,90,0,0,0,91,0,0,0,20,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,14,0,0,0,20,0,0,0,0,0,0,0,0,3,0,0,90,0,0,0,92,0,0,0,21,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,16,0,0,0,21,0,0,0,15,0,0,0,22,0,0,0,0,0,0,0,16,3,0,0,93,0,0,0,94,0,0,0,22,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,17,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,32,3,0,0,93,0,0,0,95,0,0,0,23,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,19,0,0,0,20,0,0,0,25,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,56,3,0,0,96,0,0,0,97,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,3,0,0,93,0,0,0,98,0,0,0,17,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,160,3,0,0,90,0,0,0,99,0,0,0,24,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,15,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,168,3,0,0,100,0,0,0,101,0,0,0,248,255,255,255,248,255,255,255,168,3,0,0,102,0,0,0,103,0,0,0,8,0,0,0,0,0,0,0,192,3,0,0,104,0,0,0,105,0,0,0,248,255,255,255,248,255,255,255,192,3,0,0,106,0,0,0,107,0,0,0,4,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,252,255,255,255,252,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,4,0,0,0,0,0,0,0,240,3,0,0,108,0,0,0,109,0,0,0,252,255,255,255,252,255,255,255,240,3,0,0,110,0,0,0,111,0,0,0,0,0,0,0,96,3,0,0,112,0,0,0,113,0,0,0,7,0,0,0,0,0,0,0,112,3,0,0,114,0,0,0,115,0,0,0,0,0,0,0,8,4,0,0,72,0,0,0,116,0,0,0,21,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,117,0,0,0,118,0,0,0,119,0,0,0,1,0,0,0,33,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,5,0,0,120,0,0,0,121,0,0,0,119,0,0,0,2,0,0,0,34,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,5,0,0,122,0,0,0,123,0,0,0,119,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,5,0,0,124,0,0,0,125,0,0,0,119,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,5,0,0,126,0,0,0,127,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,5,0,0,128,0,0,0,129,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,26,0,0,0,3,0,0,0,4,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,5,0,0,130,0,0,0,131,0,0,0,119,0,0,0,22,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,1,0,0,0,248,255,255,255,224,5,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,0,0,132,0,0,0,133,0,0,0,119,0,0,0,30,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,2,0,0,0,248,255,255,255,8,6,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,6,0,0,134,0,0,0,135,0,0,0,119,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,6,0,0,136,0,0,0,137,0,0,0,119,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,6,0,0,138,0,0,0,139,0,0,0,119,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,40,0,0,0,29,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,6,0,0,140,0,0,0,141,0,0,0,119,0,0,0,41,0,0,0,42,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,43,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,6,0,0,142,0,0,0,143,0,0,0,119,0,0,0,44,0,0,0,45,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,46,0,0,0,41,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,6,0,0,144,0,0,0,145,0,0,0,119,0,0,0,47,0,0,0,48,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,49,0,0,0,47,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,6,0,0,146,0,0,0,147,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,0,0,148,0,0,0,149,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,7,0,0,150,0,0,0,151,0,0,0,119,0,0,0,1,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,7,0,0,152,0,0,0,153,0,0,0,119,0,0,0,2,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,0,0,154,0,0,0,155,0,0,0,119,0,0,0,19,0,0,0,7,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,7,0,0,156,0,0,0,157,0,0,0,119,0,0,0,20,0,0,0,8,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,4,0,0,158,0,0,0,159,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,5,0,0,160,0,0,0,161,0,0,0,119,0,0,0,27,0,0,0,21,0,0,0,28,0,0,0,22,0,0,0,29,0,0,0,9,0,0,0,23,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,4,0,0,162,0,0,0,163,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,12,0,0,0,50,0,0,0,51,0,0,0,13,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,5,0,0,164,0,0,0,165,0,0,0,119,0,0,0,53,0,0,0,54,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,0,0,0,0,80,5,0,0,166,0,0,0,167,0,0,0,119,0,0,0,55,0,0,0,56,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,0,0,0,0,32,4,0,0,168,0,0,0,169,0,0,0,119,0,0,0,0,0,0,0,48,4,0,0,168,0,0,0,170,0,0,0,119,0,0,0,24,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,30,0,0,0,25,0,0,0,31,0,0,0,26,0,0,0,32,0,0,0,13,0,0,0,27,0,0,0,14,0,0,0,0,0,0,0,80,4,0,0,168,0,0,0,171,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,15,0,0,0,57,0,0,0,58,0,0,0,16,0,0,0,59,0,0,0,0,0,0,0,112,4,0,0,168,0,0,0,172,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,17,0,0,0,60,0,0,0,61,0,0,0,18,0,0,0,62,0,0,0,0,0,0,0,144,4,0,0,168,0,0,0,173,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,176,4,0,0,168,0,0,0,174,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,192,4,0,0,168,0,0,0,175,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,32,2,32,2,32,2,32,2,32,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,96,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,213,8,213,8,213,8,213,8,213,8,213,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,4,192,4,192,4,192,4,192,4,192,4,192,8,214,8,214,8,214,8,214,8,214,8,214,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,4,192,4,192,4,192,4,192,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,119,83,116,114,101,97,109,32,111,114,32,114,97,119,68,97,116,97,32,110,101,101,100,115,32,116,111,32,114,101,102,101,114,101,110,99,101,32,116,111,32,115,111,109,101,116,104,105,110,103,0,119,105,100,116,104,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,104,101,105,103,104,116,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,98,105,116,115,112,101,114,115,97,109,112,108,101,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,50,44,32,49,54,93,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,110,101,101,100,115,32,116,111,32,98,101,32,115,101,116,32,116,111,32,97,32,118,97,108,117,101,32,111,102,32,123,78,111,110,101,44,32,83,97,109,112,108,101,44,32,76,105,110,101,125,0,99,111,109,112,111,110,101,110,116,115,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,50,53,53,93,0,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,119,105,116,104,32,116,104,101,32,111,116,104,101,114,32,112,97,114,97,109,101,116,101,114,115,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,110,111,116,32,98,101,32,115,101,116,32,116,111,32,83,97,109,112,108,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,52,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,32,111,110,108,121,32,98,101,32,115,101,116,32,116,111,32,78,111,110,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,49,0,67,111,108,111,114,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,0,78,111,32,109,111,114,101,32,98,121,116,101,115,32,97,118,97,105,108,97,98,108,101,32,105,110,32,105,110,112,117,116,32,98,117,102,102,101,114,44,32,115,116,105,108,108,32,110,101,101,100,101,100,105,110,103,32,0,65,110,32,111,100,100,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,40,0,41,32,99,97,110,110,111,116,32,98,101,32,115,119,97,112,112,101,100,46,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,69,0,49,49,80,114,111,99,101,115,115,76,105,110,101,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,105,110,103,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,57,98,97,115,105,99,95,111,115,116,114,105,110,103,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,116,69,69,0,50,50,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,83,116,114,101,97,109,0,50,53,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,67,111,109,112,111,110,101,110,116,0,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,104,69,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,67,104,97,114,76,83,32,101,114,114,111,114,0,99,104,97,114,108,115,0,49,53,99,104,97,114,108,115,95,99,97,116,101,103,111,114,121,0,112,97,114,97,109,115,46,88,116,104,117,109,98,110,97,105,108,32,105,115,32,62,32,48,32,98,117,116,32,112,97,114,97,109,115,46,116,104,117,109,98,110,97,105,108,32,61,61,32,110,117,108,108,95,112,116,114,0,49,55,74,112,101,103,77,97,114,107,101,114,83,101,103,109,101,110,116,0,49,49,74,112,101,103,83,101,103,109,101,110,116,0,50,48,74,112,101,103,73,109,97,103,101,68,97,116,97,83,101,103,109,101,110,116,0,69,120,112,101,99,116,101,100,32,74,80,69,71,32,77,97,114,107,101,114,32,115,116,97,114,116,32,98,121,116,101,32,48,120,70,70,32,98,117,116,32,116,104,101,32,98,121,116,101,32,118,97,108,117,101,32,119,97,115,32,48,120,0,74,80,69,71,32,101,110,99,111,100,105,110,103,32,119,105,116,104,32,109,97,114,107,101,114,32,0,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,0,85,110,107,110,111,119,110,32,74,80,69,71,32,109,97,114,107,101,114,32,0,32,101,110,99,111,117,110,116,101,114,101,100,46,0,109,114,102,120,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,114,111,114,0,83,116,57,116,121,112,101,95,105,110,102,111,0,83,116,56,98,97,100,95,99,97,115,116,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,116,104,114,101,119,32,97,110,32,101,120,99,101,112,116,105,111,110,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+42396);allocate([32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,80,79,83,73,88],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+52636);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,58,32,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,57,95,95,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,105,111,115,116,114,101,97,109,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,37,112,0,67,0,37,0,0,0,0,0,108,0,108,108,0,0,76,0,37,112,0,0,0,0,37,72,58,37,77,58,37,83,37,109,47,37,100,47,37,121,37,89,45,37,109,45,37,100,37,73,58,37,77,58,37,83,32,37,112,37,72,58,37,77,37,72,58,37,77,58,37,83,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,48,49,50,51,52,53,54,55,56,57,0,37,76,102,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,0,37,46,48,76,102,0,116,114,117,101,0,102,97,108,115,101,0,83,117,110,100,97,121,0,77,111,110,100,97,121,0,84,117,101,115,100,97,121,0,87,101,100,110,101,115,100,97,121,0,84,104,117,114,115,100,97,121,0,70,114,105,100,97,121,0,83,97,116,117,114,100,97,121,0,83,117,110,0,77,111,110,0,84,117,101,0,87,101,100,0,84,104,117,0,70,114,105,0,83,97,116,0,74,97,110,117,97,114,121,0,70,101,98,114,117,97,114,121,0,77,97,114,99,104,0,65,112,114,105,108,0,77,97,121,0,74,117,110,101,0,74,117,108,121,0,65,117,103,117,115,116,0,83,101,112,116,101,109,98,101,114,0,79,99,116,111,98,101,114,0,78,111,118,101,109,98,101,114,0,68,101,99,101,109,98,101,114,0,74,97,110,0,70,101,98,0,77,97,114,0,65,112,114,0,74,117,110,0,74,117,108,0,65,117,103,0,83,101,112,0,79,99,116,0,78,111,118,0,68,101,99,0,65,77,0,80,77,0,37,109,47,37,100,47,37,121,0,37,72,58,37,77,58,37,83,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,37,73,58,37,77,58,37,83,32,37,112,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+56215);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}Module["_memset"]=_memset;var _BDtoILow=true;var _emscripten_resume=true;function ___gxx_personality_v0(){}var _emscripten_landingpad=true;function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){return leadingNulls(date.tm_hour<13?date.tm_hour:date.tm_hour-12,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>0&&date.tm_hour<13){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _abort(){Module["abort"]()}function _free(){}Module["_free"]=_free;function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}function ___cxa_end_catch(){if(___cxa_end_catch.rethrown){___cxa_end_catch.rethrown=false;return}asm["setThrew"](0);var ptr=EXCEPTIONS.caught.pop();if(ptr){EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(ptr));EXCEPTIONS.last=0}}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function ___lock(){}function ___unlock(){}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}var _fabs=Math_abs;var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}var PATH=undefined;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}});if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||function(){};canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){Module["noExitRuntime"]=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){Module["noExitRuntime"]=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},xhrLoad:function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)},asyncLoad:function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(!noRunDep)addRunDependency("al "+url)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];return ret},getStr:function(){var ret=Pointer_stringify(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_i64Add"]=_i64Add;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push(function(){Runtime.dynCall("vi",routine,[arg])});_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_broadcast(){return 0}function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_guard_release(){}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _llvm_eh_typeid_for(type){return type}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_mutex_lock(){}var _emscripten_postinvoke=true;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")}}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_bitshift64Shl"]=_bitshift64Shl;function ___cxa_guard_abort(){}Module["_memmove"]=_memmove;var _emscripten_preinvoke=true;var _BItoD=true;function _pthread_cond_wait(){return 0}function ___cxa_rethrow(){___cxa_end_catch.rethrown=true;var ptr=EXCEPTIONS.caught.pop();EXCEPTIONS.last=ptr;throw ptr}function _pthread_mutex_unlock(){}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer)___syscall146.buffer=[];var buffer=___syscall146.buffer;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function $b(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function ac(a){a=a|0;D=a}function bc(){return D|0}function cc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+128|0;p=w+44|0;s=w+8|0;l=w+4|0;n=w;q=e+4|0;r=e+8|0;o=0;Aa(35,c[e>>2]|0,c[q>>2]|0,c[r>>2]|0,f|0);m=o;o=0;if(!(m&1)){j=p;h=j+84|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(h|0));f=p+12|0;if((c[f>>2]|0)==0?(k=$(((c[p+8>>2]|0)+7|0)/8|0,c[p>>2]|0)|0,c[f>>2]=k,(c[p+24>>2]|0)!=0):0)c[f>>2]=$(c[p+16>>2]|0,k)|0;o=0;ha(176,s|0);m=o;o=0;if(!(m&1)){f=p+56|0;do{if(c[f>>2]|0){o=0;f=ka(66,f|0)|0;m=o;o=0;if(!(m&1)){c[l>>2]=f;h=s+28|0;j=c[h>>2]|0;if(j>>>0<(c[s+32>>2]|0)>>>0){c[j>>2]=f;c[h>>2]=j+4;c[l>>2]=0;t=19;break}o=0;ia(57,s+24|0,l|0);m=o;o=0;if(m&1){h=Na(824,0)|0;f=D;j=c[l>>2]|0;c[l>>2]=0;if(!j)break;Bb[c[(c[j>>2]|0)+4>>2]&255](j);break}else{f=c[l>>2]|0;c[l>>2]=0;if(!f){t=19;break}Bb[c[(c[f>>2]|0)+4>>2]&255](f);t=19;break}}else t=15}else t=19}while(0);a:do{if((t|0)==19){j=p+4|0;k=p+8|0;l=p+16|0;o=0;f=va(14,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;m=o;o=0;if(!(m&1)){c[n>>2]=f;m=s+28|0;h=c[m>>2]|0;do{if(h>>>0>=(c[s+32>>2]|0)>>>0){o=0;ia(57,s+24|0,n|0);h=o;o=0;if(h&1){h=Na(824,0)|0;f=D;j=c[n>>2]|0;c[n>>2]=0;if(!j)break a;Bb[c[(c[j>>2]|0)+4>>2]&255](j);break a}else{f=c[n>>2]|0;c[n>>2]=0;if(!f)break;Bb[c[(c[f>>2]|0)+4>>2]&255](f);break}}else{c[h>>2]=f;c[m>>2]=h+4;c[n>>2]=0}}while(0);f=c[p+28>>2]|0;if((f|0)!=0?(o=0,ia(58,s|0,f|0),t=o,o=0,t&1):0){t=15;break}b:do{if(!(c[p+24>>2]|0)){f=$(c[j>>2]|0,c[p>>2]|0)|0;f=$(f,((c[k>>2]|0)+7|0)/8|0)|0;if((c[l>>2]|0)>0){j=0;while(1){o=0;wa(4,s|0,e|0,p|0);t=o;o=0;if(t&1)break;h=c[q>>2]|0;if(h){c[q>>2]=h+f;c[r>>2]=(c[r>>2]|0)-f}j=j+1|0;if((j|0)>=(c[l>>2]|0))break b}h=Na(824,0)|0;f=D;t=16;break a}}else{o=0;wa(4,s|0,e|0,p|0);t=o;o=0;if(t&1){t=15;break a}}}while(0);o=0;ra(33,s|0,b|0)|0;t=o;o=0;if(!(t&1)){c[d>>2]=c[s+16>>2];if(g)a[g>>0]=0;j=s+24|0;f=c[j>>2]|0;if(f){h=c[m>>2]|0;if((h|0)!=(f|0)){do{g=h+-4|0;c[m>>2]=g;h=c[g>>2]|0;c[g>>2]=0;if(h)Bb[c[(c[h>>2]|0)+4>>2]&255](h);h=c[m>>2]|0}while((h|0)!=(f|0));f=c[j>>2]|0}cj(f)}g=0;i=w;return g|0}else t=15}else t=15}}while(0);if((t|0)==15){h=Na(824,0)|0;f=D;t=16}m=s+24|0;j=c[m>>2]|0;if(j){l=s+28|0;k=c[l>>2]|0;if((k|0)!=(j|0)){do{s=k+-4|0;c[l>>2]=s;k=c[s>>2]|0;c[s>>2]=0;if(k)Bb[c[(c[k>>2]|0)+4>>2]&255](k);k=c[l>>2]|0}while((k|0)!=(j|0));j=c[m>>2]|0}cj(j)}}else t=5}else t=5;if((t|0)==5){h=Na(824,0)|0;f=D}s=(f|0)==(Ta(824)|0);k=Va(h|0)|0;f=(g|0)==0;if(!s){if(!f)a[g>>0]=0;Xa();g=14;i=w;return g|0}j=k+12|0;do{if(!f){f=c[j>>2]|0;o=0;h=ua(1)|0;s=o;o=0;if(!(s&1))if((f|0)==(h|0)){ml(g,Eb[c[(c[k>>2]|0)+8>>2]&127](k)|0)|0;t=60;break}else{a[g>>0]=0;t=60;break}}else t=60}while(0);if((t|0)==60?(u=c[j>>2]|0,o=0,v=ua(1)|0,g=o,o=0,!(g&1)):0){g=(u|0)==(v|0)?c[k+8>>2]|0:13;Xa();i=w;return g|0}f=Na()|0;o=0;xa(3);w=o;o=0;if(w&1){w=Na(0)|0;ec(w)}else Ya(f|0);return 0}function dc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;l=i;i=i+112|0;g=l+96|0;k=l+84|0;m=l+72|0;n=l+60|0;p=l+48|0;q=l+36|0;r=l+24|0;s=l+12|0;t=l;j=(b|0)==0;if((a|0)==0&j){f=Ma(16)|0;o=0;wa(5,g|0,48504,52);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,g|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(g);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}h=c[e>>2]|0;if((h+-1|0)>>>0>65534){f=Ma(16)|0;o=0;wa(5,k|0,48557,41);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,k|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(k);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}g=c[e+4>>2]|0;if((g+-1|0)>>>0>65534){f=Ma(16)|0;o=0;wa(5,m|0,48599,42);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,m|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(m);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}f=c[e+8>>2]|0;if((f+-2|0)>>>0>14){f=Ma(16)|0;o=0;wa(5,n|0,48642,46);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,n|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(n);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}a=c[e+24>>2]|0;if(a>>>0>=3){f=Ma(16)|0;o=0;wa(5,p|0,48689,65);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,p|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(p);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}b=c[e+16>>2]|0;if((b+-1|0)>>>0>254){f=Ma(16)|0;o=0;wa(5,q|0,48755,44);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,q|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(q);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}if(!j?(q=$(g,h)|0,($($(q,(f|0)>8?2:1)|0,b)|0)>>>0>d>>>0):0){f=Ma(16)|0;o=0;wa(5,r|0,48800,58);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,r|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(r);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}switch(b|0){case 4:{if((a|0)!=2){i=l;return}f=Ma(16)|0;o=0;wa(5,s|0,48859,73);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,s|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(s);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}case 3:{i=l;return}default:{if(!a){i=l;return}f=Ma(16)|0;o=0;wa(5,t|0,48933,73);s=o;o=0;if(!(s&1)){o=0;b=ua(1)|0;s=o;o=0;if(!(s&1)?(o=0,Aa(36,f|0,1,b|0,t|0),s=o,o=0,!(s&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(t);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}}}function ec(a){a=a|0;Va(a|0)|0;jj()}function fc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;h=n+116|0;j=n;o=0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];ia(59,j|0,h|0);g=o;o=0;if(!(g&1)){if(e){g=j+16|0;d=g+84|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(d|0))}o=0;c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];ia(60,j|0,h|0);j=o;o=0;if(!(j&1)){if(f)a[f>>0]=0;m=0;i=n;return m|0}}b=Na(824,0)|0;j=D;j=(j|0)==(Ta(824)|0);b=Va(b|0)|0;d=(f|0)==0;if(!j){if(!d)a[f>>0]=0;Xa();m=14;i=n;return m|0}g=b+12|0;do{if(!d){d=c[g>>2]|0;o=0;e=ua(1)|0;j=o;o=0;if(!(j&1))if((d|0)==(e|0)){ml(f,Eb[c[(c[b>>2]|0)+8>>2]&127](b)|0)|0;m=10;break}else{a[f>>0]=0;m=10;break}}else m=10}while(0);if((m|0)==10?(k=c[g>>2]|0,o=0,l=ua(1)|0,m=o,o=0,!(m&1)):0){m=(k|0)==(l|0)?c[b+8>>2]|0:13;Xa();i=n;return m|0}d=Na()|0;o=0;xa(3);n=o;o=0;if(n&1){n=Na(0)|0;ec(n)}else Ya(d|0);return 0}function gc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+128|0;g=l+116|0;f=l;o=0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];ia(59,f|0,g|0);g=o;o=0;if((!(g&1)?(o=0,ha(177,f|0),g=o,o=0,!(g&1)):0)?(o=0,ia(61,f|0,1),g=o,o=0,!(g&1)):0){b=f+16|0;f=d+84|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(f|0));if(e)a[e>>0]=0;e=0;i=l;return e|0}g=Na(824,0)|0;d=D;d=(d|0)==(Ta(824)|0);g=Va(g|0)|0;b=(e|0)==0;if(!d){if(!b)a[e>>0]=0;Xa();e=14;i=l;return e|0}d=g+12|0;do{if(!b){b=c[d>>2]|0;o=0;f=ua(1)|0;m=o;o=0;if(!(m&1))if((b|0)==(f|0)){ml(e,Eb[c[(c[g>>2]|0)+8>>2]&127](g)|0)|0;k=13;break}else{a[e>>0]=0;k=13;break}}else k=13}while(0);if((k|0)==13?(h=c[d>>2]|0,o=0,j=ua(1)|0,m=o,o=0,!(m&1)):0){m=(h|0)==(j|0)?c[g+8>>2]|0:13;Xa();i=l;return m|0}b=Na()|0;o=0;xa(3);m=o;o=0;if(m&1){m=Na(0)|0;ec(m)}else Ya(b|0);return 0}function hc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;k=n+36|0;j=n+24|0;l=n+12|0;m=n;if(!((a|0)!=0&(d|0)!=0&(e|0)!=0&(g|0)!=0)){f=1;i=n;return f|0}c[l>>2]=0;c[l+4>>2]=a;c[l+8>>2]=b;c[m>>2]=0;c[m+4>>2]=e;c[m+8>>2]=f;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];f=cc(j,d,k,g,h)|0;i=n;return f|0}function ic(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f+12|0;h=f;j=h;c[j>>2]=0;c[j+4>>2]=0;c[h+4>>2]=a;c[h+8>>2]=b;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];d=gc(g,d,e)|0;i=f;return d|0}function jc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+48|0;j=h+36|0;k=h+24|0;m=h+12|0;l=h;c[m>>2]=0;c[m+4>>2]=a;c[m+8>>2]=b;c[l>>2]=0;c[l+4>>2]=d;c[l+8>>2]=e;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];e=fc(k,j,f,g)|0;i=h;return e|0}function kc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+4|0;d=c[a>>2]|0;f=((c[k>>2]|0)-d>>2)+1|0;if(f>>>0>1073741823){$i(a);d=c[a>>2]|0}l=a+8|0;e=(c[l>>2]|0)-d|0;if(e>>2>>>0<536870911){e=e>>1;e=e>>>0>>0?f:e;d=(c[k>>2]|0)-d>>2;if(!e){g=0;h=0}else i=6}else{e=1073741823;d=(c[k>>2]|0)-d>>2;i=6}if((i|0)==6){g=e;h=bj(e<<2)|0}f=h+(d<<2)|0;e=f;j=h+(g<<2)|0;i=c[b>>2]|0;c[b>>2]=0;c[f>>2]=i;i=h+(d+1<<2)|0;h=c[a>>2]|0;d=c[k>>2]|0;if((d|0)==(h|0)){f=a;g=k}else{do{d=d+-4|0;b=c[d>>2]|0;c[d>>2]=0;c[f+-4>>2]=b;f=e+-4|0;e=f}while((d|0)!=(h|0));d=e;f=a;g=k;e=d;h=c[a>>2]|0;d=c[k>>2]|0}c[f>>2]=e;c[g>>2]=i;c[l>>2]=j;f=h;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;c[d>>2]=0;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e)}while((d|0)!=(f|0));if(!h)return;cj(h);return}function lc(){if(a[8]|0)return 35648;if(!(Ha(8)|0))return 35648;kb(72,35648,n|0)|0;Pa(8);return 35648}function mc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;Ei(l,(1<>2]|0;m=h+1|0;e=m<<1;c[b>>2]=0;j=b+4|0;c[j>>2]=0;c[b+8>>2]=0;a:do{if(m){if(!((h|0)<-1?(o=0,ha(178,b|0),k=o,o=0,k&1):0))f=4;if((f|0)==4?(o=0,g=ka(67,e|0)|0,k=o,o=0,!(k&1)):0){c[j>>2]=g;c[b>>2]=g;c[b+8>>2]=g+e;d=g;while(1){a[d>>0]=0;d=(c[j>>2]|0)+1|0;c[j>>2]=d;e=e+-1|0;if(!e)break a}}e=Na()|0;d=c[b>>2]|0;if(!d)Ya(e|0);if((c[j>>2]|0)!=(d|0))c[j>>2]=d;cj(d);Ya(e|0)}}while(0);d=~h;if((h|0)<(d|0)){i=n;return}j=l+12|0;k=l+8|0;h=l+4|0;g=d;do{d=c[j>>2]|0;if((g|0)>(0-d|0)){e=c[k>>2]|0;if((g|0)>(0-e|0)){f=c[h>>2]|0;if((g|0)>(0-f|0))if((g|0)>=0)if((g|0)>0)if((f|0)<=(g|0))if((e|0)>(g|0))d=2;else d=(d|0)>(g|0)?3:4;else d=1;else d=0;else d=-1;else d=-2}else d=-3}else d=-4;a[(c[b>>2]|0)+(g+m)>>0]=d;g=g+1|0}while((g|0)<(m|0));i=n;return}function nc(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=c[f+16>>2]|0;switch(q|0){case 64:case 0:{o=0;d=ra(34,d|0,e|0)|0;e=o;o=0;if(e&1)r=16;else g=d;break}default:{h=(1<>2])+-1|0;p=c[e+20>>2]|0;n=p<<1;n=((n+h|0)/(n|1|0)|0)+1|0;d=0;while(1)if((1<>2]|0;o=0;g=ka(67,4624)|0;m=o;o=0;if(m&1)r=16;else{i=((j|0)<8?8:j)+j<<1;k=g+4|0;l=e;m=k+84|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));k=g+88|0;m=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));c[g>>2]=35660;c[g+128>>2]=h;c[g+132>>2]=n;c[g+136>>2]=p;c[g+140>>2]=d;c[g+144>>2]=j;c[g+148>>2]=i;c[g+152>>2]=q;d=g+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+172>>2]=c[e>>2];c[g+176>>2]=0;c[g+180>>2]=0;c[g+184>>2]=0;d=g+4568|0;h=g+188|0;do{c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;b[h+10>>1]=1;h=h+12|0}while((h|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1}}}if((r|0)==16){r=Na()|0;Ya(r|0)}if(!g)return g|0;o=0;ia(c[(c[g>>2]|0)+12>>2]|0,g|0,f|0);r=o;o=0;if(!(r&1))return g|0;d=Na()|0;if(!g){r=d;Ya(r|0)}Bb[c[(c[g>>2]|0)+4>>2]&255](g);r=d;Ya(r|0);return 0}function oc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=(c[e+24>>2]|0)==2;if(f?(c[e+16>>2]|0)!=3:0){e=0;return e|0}n=c[e+20>>2]|0;d=c[e+8>>2]|0;a:do{if(!n){if(f){if((d|0)!=8)break;g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35688;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}switch(d|0){case 8:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35716;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}case 12:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35744;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}case 16:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35772;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}default:break a}}}while(0);m=(1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35800;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35660;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}}if((d|0)>=17){e=0;return e|0}i=n<<1;i=((i+m|0)/(i|1|0)|0)+1|0;if(f){d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35828;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35856;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}return 0}function pc(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=c[f+16>>2]|0;switch(q|0){case 64:case 0:{o=0;d=ra(35,d|0,e|0)|0;e=o;o=0;if(e&1)r=16;else g=d;break}default:{h=(1<>2])+-1|0;p=c[e+20>>2]|0;n=p<<1;n=((n+h|0)/(n|1|0)|0)+1|0;d=0;while(1)if((1<>2]|0;o=0;g=ka(67,4632)|0;m=o;o=0;if(m&1)r=16;else{i=((j|0)<8?8:j)+j<<1;c[g+4>>2]=0;k=g+8|0;l=e;m=k+84|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;m=g+116|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[g>>2]=35884;c[g+136>>2]=h;c[g+140>>2]=n;c[g+144>>2]=p;c[g+148>>2]=d;c[g+152>>2]=j;c[g+156>>2]=i;c[g+160>>2]=q;d=g+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+180>>2]=c[e>>2];c[g+184>>2]=0;c[g+188>>2]=0;c[g+192>>2]=0;d=g+4576|0;h=g+196|0;do{c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;b[h+10>>1]=1;h=h+12|0}while((h|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1}}}if((r|0)==16){r=Na()|0;Ya(r|0)}if(!g)return g|0;o=0;ia(c[(c[g>>2]|0)+8>>2]|0,g|0,f|0);r=o;o=0;if(!(r&1))return g|0;d=Na()|0;if(!g){r=d;Ya(r|0)}Bb[c[(c[g>>2]|0)+4>>2]&255](g);r=d;Ya(r|0);return 0}function qc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=(c[e+24>>2]|0)==2;if(f?(c[e+16>>2]|0)!=3:0){e=0;return e|0}n=c[e+20>>2]|0;d=c[e+8>>2]|0;a:do{if(!n){if(f){if((d|0)!=8)break;g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35912;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}switch(d|0){case 8:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35940;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}case 12:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35968;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}case 16:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35996;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}default:break a}}}while(0);m=(1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36024;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=35884;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}}if((d|0)>=17){e=0;return e|0}i=n<<1;i=((i+m|0)/(i|1|0)|0)+1|0;if(f){d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36052;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36080;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}return 0}function rc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=2832;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=4880);iw(2832,0,2048)|0;a=0;do{h=2832+(a+128<<3)|0;c[h>>2]=0;c[h+4>>2]=1;a=a+1|0}while((a|0)!=128);a=3088;c[a>>2]=1;c[a+4>>2]=3;a=3096;c[a>>2]=1;c[a+4>>2]=3;a=3104;c[a>>2]=1;c[a+4>>2]=3;a=3112;c[a>>2]=1;c[a+4>>2]=3;a=3120;c[a>>2]=1;c[a+4>>2]=3;a=3128;c[a>>2]=1;c[a+4>>2]=3;a=3136;c[a>>2]=1;c[a+4>>2]=3;a=3144;c[a>>2]=1;c[a+4>>2]=3;a=3152;c[a>>2]=1;c[a+4>>2]=3;a=3160;c[a>>2]=1;c[a+4>>2]=3;a=3168;c[a>>2]=1;c[a+4>>2]=3;a=3176;c[a>>2]=1;c[a+4>>2]=3;a=3184;c[a>>2]=1;c[a+4>>2]=3;a=3192;c[a>>2]=1;c[a+4>>2]=3;a=3200;c[a>>2]=1;c[a+4>>2]=3;a=3208;c[a>>2]=1;c[a+4>>2]=3;a=3216;c[a>>2]=1;c[a+4>>2]=3;a=3224;c[a>>2]=1;c[a+4>>2]=3;a=3232;c[a>>2]=1;c[a+4>>2]=3;a=3240;c[a>>2]=1;c[a+4>>2]=3;a=3248;c[a>>2]=1;c[a+4>>2]=3;a=3256;c[a>>2]=1;c[a+4>>2]=3;a=3264;c[a>>2]=1;c[a+4>>2]=3;a=3272;c[a>>2]=1;c[a+4>>2]=3;a=3280;c[a>>2]=1;c[a+4>>2]=3;a=3288;c[a>>2]=1;c[a+4>>2]=3;a=3296;c[a>>2]=1;c[a+4>>2]=3;a=3304;c[a>>2]=1;c[a+4>>2]=3;a=3312;c[a>>2]=1;c[a+4>>2]=3;a=3320;c[a>>2]=1;c[a+4>>2]=3;a=3328;c[a>>2]=1;c[a+4>>2]=3;a=3336;c[a>>2]=1;c[a+4>>2]=3;a=2896;c[a>>2]=2;c[a+4>>2]=5;a=2904;c[a>>2]=2;c[a+4>>2]=5;a=2912;c[a>>2]=2;c[a+4>>2]=5;a=2920;c[a>>2]=2;c[a+4>>2]=5;a=2928;c[a>>2]=2;c[a+4>>2]=5;a=2936;c[a>>2]=2;c[a+4>>2]=5;a=2944;c[a>>2]=2;c[a+4>>2]=5;a=2952;c[a>>2]=2;c[a+4>>2]=5;a=2848;c[a>>2]=3;c[a+4>>2]=7;a=2856;c[a>>2]=3;c[a+4>>2]=7;a=0;do{h=2832+(a+64<<3)|0;c[h>>2]=-1;c[h+4>>2]=2;a=a+1|0}while((a|0)!=64);a=2960;c[a>>2]=-2;c[a+4>>2]=4;a=2968;c[a>>2]=-2;c[a+4>>2]=4;a=2976;c[a>>2]=-2;c[a+4>>2]=4;a=2984;c[a>>2]=-2;c[a+4>>2]=4;a=2992;c[a>>2]=-2;c[a+4>>2]=4;a=3e3;c[a>>2]=-2;c[a+4>>2]=4;a=3008;c[a>>2]=-2;c[a+4>>2]=4;a=3016;c[a>>2]=-2;c[a+4>>2]=4;a=3024;c[a>>2]=-2;c[a+4>>2]=4;a=3032;c[a>>2]=-2;c[a+4>>2]=4;a=3040;c[a>>2]=-2;c[a+4>>2]=4;a=3048;c[a>>2]=-2;c[a+4>>2]=4;a=3056;c[a>>2]=-2;c[a+4>>2]=4;a=3064;c[a>>2]=-2;c[a+4>>2]=4;a=3072;c[a>>2]=-2;c[a+4>>2]=4;a=3080;c[a>>2]=-2;c[a+4>>2]=4;a=2864;c[a>>2]=-3;c[a+4>>2]=6;a=2872;c[a>>2]=-3;c[a+4>>2]=6;a=2880;c[a>>2]=-3;c[a+4>>2]=6;a=2888;c[a>>2]=-3;c[a+4>>2]=6;a=2840;c[a>>2]=-4;c[a+4>>2]=8;a=4880;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=6928);iw(4880,0,2048)|0;d=2;a=0;f=0;g=0;while(1){d=d<<16>>16;b=8-d|0;e=1<>2]=f;c[h+4>>2]=d;b=b+1|0}while((b|0)<(e|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==7){b=2;f=1;g=-1;h=-1;break}else{d=(a>>1)+2|0;f=b>>16}}while(1){d=b<<16>>16;a=8-d|0;e=1<>2]=g;c[f+4>>2]=d;b=b+1|0}while((b|0)<(e|0))}a=(h<<16)+-65536|0;f=a>>31^a>>15;b=(f>>1)+2|0;if((b|0)>8){a=6928;break}else{g=a>>16;h=h+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=8976);iw(6928,0,2048)|0;f=3;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==12){f=3;b=1;e=-1;g=-1;break}else{f=(a>>2)+3|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>2)+3|0;if((f|0)>8){a=8976;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=11024);iw(8976,0,2048)|0;f=4;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==20){f=4;b=1;e=-1;g=-1;break}else{f=(a>>3)+4|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>3)+4|0;if((f|0)>8){a=11024;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=13072);iw(11024,0,2048)|0;f=5;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==32){f=5;b=1;e=-1;g=-1;break}else{f=(a>>4)+5|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>4)+5|0;if((f|0)>8){a=13072;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=15120);iw(13072,0,2048)|0;f=6;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==48){f=6;b=1;e=-1;g=-1;break}else{f=(a>>5)+6|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>5)+6|0;if((f|0)>8){a=15120;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=17168);iw(15120,0,2048)|0;f=7;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==64){f=7;b=1;e=-1;g=-1;break}else{f=(a>>6)+7|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>6)+7|0;if((f|0)>8){a=17168;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=19216);iw(17168,0,2048)|0;f=8;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==64){g=8;e=1;f=-1;h=-1;break}else{f=(a>>7)+8|0;e=b>>16}}while(1){a=8-g|0;d=1<>2]=f;c[e+4>>2]=g;b=b+1|0}while((b|0)<(d|0))}b=(h<<16)+-65536|0;e=b>>31^b>>15;a=e>>7;if((a|0)>0){a=19216;break}else{g=a+8|0;f=b>>16;h=h+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=21264);iw(19216,0,2048)|0;a=21264;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=23312);iw(21264,0,2048)|0;a=23312;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=25360);iw(23312,0,2048)|0;a=25360;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=27408);iw(25360,0,2048)|0;a=27408;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=29456);iw(27408,0,2048)|0;a=29456;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=31504);iw(29456,0,2048)|0;a=31504;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=33552);iw(31504,0,2048)|0;a=33552;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=35600);iw(33552,0,2048)|0;mc(35600,8);kb(179,35600,n|0)|0;mc(35612,10);kb(179,35612,n|0)|0;mc(35624,12);kb(179,35624,n|0)|0;mc(35636,16);kb(179,35636,n|0)|0;return}function sc(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;a=a+4|0;if((c[a>>2]|0)!=(b|0))c[a>>2]=b;cj(b);return}function tc(a){a=a|0;var b=0,d=0;c[a>>2]=36080;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function uc(a){a=a|0;var b=0,d=0;c[a>>2]=36080;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function vc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;he(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function wc(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35856;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Yd(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Yd(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function xc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function yc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36460;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36436;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Ac(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36412;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Bc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36388;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=b+32|0;Jm(i,d)|0;h=b+44|0;c[h>>2]=0;j=b+48|0;g=c[j>>2]|0;if(g&8){d=a[i>>0]|0;if(!(d&1)){d=((d&255)>>>1)+(i+1)|0;c[h>>2]=d;e=i+1|0;f=i+1|0}else{d=(c[b+40>>2]|0)+(c[b+36>>2]|0)|0;c[h>>2]=d;f=c[b+40>>2]|0;e=f}c[b+8>>2]=e;c[b+12>>2]=f;c[b+16>>2]=d}if(!(g&16))return;d=a[i>>0]|0;if(!(d&1)){g=(d&255)>>>1;c[h>>2]=i+1+g;d=10;h=g}else{g=c[b+36>>2]|0;c[h>>2]=(c[b+40>>2]|0)+g;d=(c[i>>2]&-2)+-1|0;h=g}Mm(i,d,0);d=a[i>>0]|0;if(!(d&1)){g=i+1|0;f=(d&255)>>>1;e=i+1|0}else{e=c[b+40>>2]|0;g=e;f=c[b+36>>2]|0}d=b+24|0;c[d>>2]=e;c[b+20>>2]=e;c[b+28>>2]=g+f;if(!(c[j>>2]&3))return;c[d>>2]=e+h;return}function Dc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;j=q+16|0;p=q+8|0;k=q;o=0;ia(65,p|0,b|0);m=o;o=0;a:do{if(m&1){e=Na(0)|0;f=b;g=b}else{do{if(a[p>>0]|0){f=c[(c[b>>2]|0)+-12>>2]|0;c[k>>2]=c[b+(f+24)>>2];l=b+f|0;m=c[b+(f+4)>>2]|0;g=d+e|0;f=b+(f+76)|0;e=c[f>>2]|0;do{if((e|0)==-1){o=0;e=ka(68,l|0)|0;r=o;o=0;if(r&1)n=13;else{c[j>>2]=e;o=0;e=ra(37,j|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(j);e=h<<24>>24;c[f>>2]=e;n=9;break}e=Na(0)|0;Gs(j)}}else n=9}while(0);if((n|0)==9){o=0;c[j>>2]=c[k>>2];e=ja(39,j|0,d|0,((m&176|0)==32?g:d)|0,g|0,l|0,e&255|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break;else n=13}else n=13}if((n|0)==13)e=Na(0)|0;ho(p);f=b;g=b;break a}}while(0);ho(p);i=q;return b|0}}while(0);Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();i=q;return b|0}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0);return 0}function Ec(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[d+48>>2]|0;if(e&16){e=d+44|0;f=c[e>>2]|0;g=c[d+24>>2]|0;if(f>>>0>>0)c[e>>2]=g;else g=f;f=c[d+20>>2]|0;h=g-f|0;if(h>>>0>4294967279)_i(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{d=h+16&-16;e=bj(d)|0;c[b+8>>2]=e;c[b>>2]=d|1;c[b+4>>2]=h}if((f|0)!=(g|0)){d=e;while(1){a[d>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(g|0))break;else d=d+1|0}e=e+h|0}a[e>>0]=0;return}if(!(e&8)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}f=c[d+8>>2]|0;d=c[d+16>>2]|0;h=d-f|0;if(h>>>0>4294967279)_i(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{g=h+16&-16;e=bj(g)|0;c[b+8>>2]=e;c[b>>2]=g|1;c[b+4>>2]=h}if((f|0)!=(d|0)){g=e;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(d|0))break;else g=g+1|0}e=e+h|0}a[e>>0]=0;return}function Fc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36364;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do{if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Gc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36340;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do{if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Hc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36316;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do{if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Ic(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36316;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Jc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36316;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Kc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;Pc(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Pc(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;Mc(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Nc(a,f,b,d,e);return}}function Mc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=d+4|0;j=c[m>>2]|0;do{if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{o=c[j>>2]|0;m=e[n+(f*6|0)+2>>1]<>1]<>1]<>1]=(m+49152+((d+i|0)>>>2)&65535)>>>o;b[g+(f*6|0)+2>>1]=d>>>o;b[g+(f*6|0)+4>>1]=i>>>o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{h=e[n+(f*6|0)+2>>1]<>1]<>1]<>1]=(h+49152+((d+o|0)>>>2)&65535)>>>j;b[g+(f+i<<1)>>1]=d>>>j;b[g+(f+l<<1)>>1]=o>>>j;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;m=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;p=e[n+(f<<3)+2>>1]<>1]<>1]<>1]=(p+49152+((h+d|0)>>>2)&65535)>>>j;b[g+(f+i<<1)>>1]=h>>>j;b[g+(f+l<<1)>>1]=d>>>j;b[g+(f+m<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}default:return}}function Nc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Mc(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Mc(b,t,e,f,g);i=q;return}function Oc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+176|0;e=g+152|0;l=g+16|0;j=g;if(!(d&1)){e=(d|0)/4|0;if((d|0)>3){f=0;do{l=b+(f<<2)|0;k=c[l>>2]|0;c[l>>2]=k>>>8&16711935|k<<8&-16711936;f=f+1|0}while((f|0)<(e|0))}if(!(d&3)){i=g;return}j=b+(d+-2)|0;l=b+(d+-1)|0;k=a[j>>0]|0;a[j>>0]=a[l>>0]|0;a[l>>0]=k;i=g;return}k=l+56|0;h=l+4|0;c[l>>2]=36160;c[k>>2]=36180;o=0;ia(62,l+56|0,h|0);g=o;o=0;if(g&1){l=Na()|0;fn(k);Ya(l|0)}c[l+128>>2]=0;c[l+132>>2]=-1;c[l>>2]=36200;c[l+56>>2]=36220;o=0;ha(180,h|0);g=o;o=0;do{if(g&1)e=Na()|0;else{c[h>>2]=36236;g=l+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[l+52>>2]=16;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;o=0;ia(63,h|0,e|0);b=o;o=0;if(b&1){l=Na()|0;Im(e);Im(g);nn(h);e=l;break}Im(e);o=0;e=ma(28,l|0,49087,24)|0;b=o;o=0;if((!(b&1)?(o=0,f=ra(36,e|0,d|0)|0,d=o,o=0,!(d&1)):0)?(o=0,ma(28,f|0,49112,20)|0,d=o,o=0,!(d&1)):0){b=Ma(16)|0;o=0;ia(64,j|0,h|0);d=o;o=0;if(!(d&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,b|0,1,35648,j|0);d=o;o=0;if(d&1)f=1;else{o=0;wa(6,b|0,824,96);o=0;f=0}e=Na()|0;Im(j);if(!f){j=e;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}}else e=Na()|0;La(b|0);j=e;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}j=Na()|0;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}}while(0);l=e;fn(k);Ya(l|0)}function Pc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=d+4|0;j=c[n>>2]|0;a:do{switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{i=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>1]<>2)+16384|0;b[g+(d*6|0)>>1]=(k+32768+m&65535)>>>i;b[g+(d*6|0)+2>>1]=(m&65535)>>>i;b[g+(d*6|0)+4>>1]=(l+32768+m&65535)>>>i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{m=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>1]<>2)+16384|0;b[g+(d*6|0)>>1]=(q+32768+o&65535)>>>m;b[g+(d*6|0)+2>>1]=(o&65535)>>>m;b[g+(d*6|0)+4>>1]=(p+32768+o&65535)>>>m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{q=c[j>>2]|0;p=e[f+(k+i<<1)>>1]<>1]<>1]<>2)+16384|0;r=b[f+(k+d<<1)>>1]|0;t=mw((o&65535)>>>q&65535|0,0,16)|0;p=(p+32768+o&65535)>>>q|D;r=mw(r&65535|0,0,48)|0;r=t|(s+32768+o&65535)>>>q&65535|r;p=p&65535|D;q=g+(k<<3)|0;o=q;b[o>>1]=r;b[o+2>>1]=r>>>16;q=q+4|0;b[q>>1]=p;b[q+2>>1]=p>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){t=j+4|0;s=b[j>>1]|0;b[j>>1]=b[t>>1]|0;b[t>>1]=s;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function Qc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36340;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Rc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36340;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;Wc(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Wc(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Tc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;Uc(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Vc(a,f,b,d,e);return}}function Uc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=d+4|0;j=c[m>>2]|0;do{if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{i=c[j>>2]|0;m=e[n+(f*6|0)>>1]<>1]<>1]<>>1)&65535)>>>i&65535;b[g+(f*6|0)>>1]=(m+32768-d&65535)>>>i;b[g+(f*6|0)+2>>1]=(d&65535)>>>i;b[g+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{h=e[n+(f*6|0)>>1]<>1]<>1]<>>1)&65535)>>>j&65535;b[g+(f<<1)>>1]=(h+32768-d&65535)>>>j;b[g+(f+i<<1)>>1]=(d&65535)>>>j;b[g+(f+l<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;m=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;p=e[n+(f<<3)>>1]<>1]<>1]<>>1)&65535)>>>j&65535;b[g+(f<<1)>>1]=(p+32768-h&65535)>>>j;b[g+(f+i<<1)>>1]=(h&65535)>>>j;b[g+(f+l<<1)>>1]=d;b[g+(f+m<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}default:return}}function Vc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Uc(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Uc(b,t,e,f,g);i=q;return}function Wc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=d+4|0;j=c[n>>2]|0;a:do{switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{m=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>1]<>>1)&65535)>>>m&65535;b[g+(d*6|0)>>1]=k>>>m;b[g+(d*6|0)+2>>1]=l>>>m;b[g+(d*6|0)+4>>1]=i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{o=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>1]<>>1)&65535)>>>o&65535;b[g+(d*6|0)>>1]=q>>>o;b[g+(d*6|0)+2>>1]=p>>>o;b[g+(d*6|0)+4>>1]=m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{o=c[j>>2]|0;q=e[f+(k+i<<1)>>1]<>1]<>1]<>>1)&65535)>>>o;r=b[f+(k+d<<1)>>1]|0;q=mw(q>>>o&65535|0,0,16)|0;p=D|p;r=mw(r&65535|0,0,48)|0;r=s>>>o&65535|q|r;p=p&65535|D;q=g+(k<<3)|0;o=q;b[o>>1]=r;b[o+2>>1]=r>>>16;q=q+4|0;b[q>>1]=p;b[q+2>>1]=p>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){s=j+4|0;r=b[j>>1]|0;b[j>>1]=b[s>>1]|0;b[s>>1]=r;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function Xc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36364;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Yc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36364;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;bd(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;bd(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function _c(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;$c(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{ad(a,f,b,d,e);return}}function $c(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;m=d+4|0;j=c[m>>2]|0;do{if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{i=c[j>>2]|0;d=e[n+(f*6|0)+2>>1]<>1]<>>i&65535;b[g+(f*6|0)>>1]=((e[n+(f*6|0)>>1]<>>i;b[g+(f*6|0)+2>>1]=(d&65535)>>>i;b[g+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{d=e[n+(f*6|0)+2>>1]<>1]<>>j&65535;b[g+(f<<1)>>1]=((e[n+(f*6|0)>>1]<>>j;b[g+(f+i<<1)>>1]=(d&65535)>>>j;b[g+(f+l<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;l=(i|0)<(h|0)?i:h;if((l|0)<=0)return;m=i<<1;k=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;h=e[n+(f<<3)+2>>1]<>1]<>>j&65535;b[g+(f<<1)>>1]=((e[n+(f<<3)>>1]<>>j;b[g+(f+i<<1)>>1]=(h&65535)>>>j;b[g+(f+m<<1)>>1]=d;b[g+(f+k<<1)>>1]=o;f=f+1|0}while((f|0)!=(l|0));return}default:return}}function ad(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;$c(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;$c(b,t,e,f,g);i=q;return}function bd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=d+4|0;j=c[n>>2]|0;a:do{switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{m=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>>m&65535;b[g+(d*6|0)>>1]=((e[f+(d*6|0)>>1]<>>m;b[g+(d*6|0)+2>>1]=(l&65535)>>>m;b[g+(d*6|0)+4>>1]=i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{o=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>>o&65535;b[g+(d*6|0)>>1]=((e[f+(d<<1)>>1]<>>o;b[g+(d*6|0)+2>>1]=(p&65535)>>>o;b[g+(d*6|0)+4>>1]=m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{q=c[j>>2]|0;s=e[f+(k+i<<1)>>1]<>1]<>>q;o=(s+32768+(e[f+(k+l<<1)>>1]<>>q;r=b[f+(k+d<<1)>>1]|0;q=mw((s&65535)>>>q&65535|0,0,16)|0;o=o|D;r=mw(r&65535|0,0,48)|0;r=q|p&65535|r;o=o&65535|D;p=g+(k<<3)|0;q=p;b[q>>1]=r;b[q+2>>1]=r>>>16;p=p+4|0;b[p>>1]=o;b[p+2>>1]=o>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){s=j+4|0;r=b[j>>1]|0;b[j>>1]=b[s>>1]|0;b[s>>1]=r;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function cd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0;p=i;i=i+16|0;m=p;n=c[b>>2]|0;if(!n){b=0;i=p;return b|0}q=d;k=f-q|0;l=g+12|0;j=c[l>>2]|0;k=(j|0)>(k|0)?j-k|0:0;j=e;g=j-q|0;if((g|0)>0?(Gb[c[(c[n>>2]|0)+48>>2]&63](n,d,g)|0)!=(g|0):0){c[b>>2]=0;q=0;i=p;return q|0}do{if((k|0)>0){Hm(m,k,h);o=0;g=ma(c[(c[n>>2]|0)+48>>2]|0,n|0,((a[m>>0]&1)==0?m+1|0:c[m+8>>2]|0)|0,k|0)|0;q=o;o=0;if(q&1){q=Na()|0;Im(m);Ya(q|0)}if((g|0)==(k|0)){Im(m);break}c[b>>2]=0;Im(m);q=0;i=p;return q|0}}while(0);f=f-j|0;if((f|0)>0?(Gb[c[(c[n>>2]|0)+48>>2]&63](n,e,f)|0)!=(f|0):0){c[b>>2]=0;q=0;i=p;return q|0}c[l>>2]=0;q=n;i=p;return q|0}function dd(a){a=a|0;c[a>>2]=36236;Im(a+32|0);nn(a);return}function ed(a){a=a|0;c[a>>2]=36236;Im(a+32|0);nn(a);cj(a);return}function fd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=d+44|0;j=c[i>>2]|0;l=d+24|0;m=c[l>>2]|0;if(j>>>0>>0){c[i>>2]=m;j=m}k=j;i=h&24;if(!i){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((g|0)==1&(i|0)==24){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}a:do{switch(g|0){case 0:{i=0;g=0;break}case 1:if(!(h&8)){g=m-(c[d+20>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}else{g=(c[d+12>>2]|0)-(c[d+8>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}case 2:{i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;g=j-i|0;i=g;g=((g|0)<0)<<31>>31;break}default:{d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}}while(0);g=jw(i|0,g|0,e|0,f|0)|0;e=D;if((e|0)>=0){i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;f=j-i|0;j=((f|0)<0)<<31>>31;if(!((j|0)<(e|0)|(j|0)==(e|0)&f>>>0>>0)){i=h&8;if(!((g|0)==0&(e|0)==0)){if((i|0)!=0?(c[d+12>>2]|0)==0:0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((h&16|0)!=0&(m|0)==0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}if(i){c[d+12>>2]=(c[d+8>>2]|0)+g;c[d+16>>2]=k}if(h&16)c[l>>2]=(c[d+20>>2]|0)+g;d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=g;c[d+4>>2]=e;return}}d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}function gd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=d+8|0;Ib[c[(c[b>>2]|0)+16>>2]&15](a,b,c[d>>2]|0,c[d+4>>2]|0,0,e);return}function hd(a){a=a|0;var b=0,e=0,f=0,g=0;b=a+44|0;e=c[b>>2]|0;f=c[a+24>>2]|0;if(e>>>0>>0){c[b>>2]=f;e=f}if(!(c[a+48>>2]&8)){a=-1;return a|0}g=a+16|0;b=c[g>>2]|0;f=a+12|0;if(b>>>0>>0){f=c[f>>2]|0;c[g>>2]=e;b=e}else f=c[f>>2]|0;if(f>>>0>=b>>>0){a=-1;return a|0}a=d[f>>0]|0;return a|0}function id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=b+44|0;e=c[f>>2]|0;g=c[b+24>>2]|0;if(e>>>0>>0){c[f>>2]=g;e=g}j=b+8|0;f=c[j>>2]|0;k=b+12|0;h=c[k>>2]|0;i=f;if(f>>>0>=h>>>0){b=-1;return b|0}if((d|0)==-1){c[j>>2]=f;c[k>>2]=h+-1;c[b+16>>2]=e;b=0;return b|0}if(!(c[b+48>>2]&16)){g=d&255;f=h+-1|0;if(g<<24>>24!=(a[f>>0]|0)){b=-1;return b|0}}else{g=d&255;f=h+-1|0}c[j>>2]=i;c[k>>2]=f;c[b+16>>2]=e;a[f>>0]=g;b=d;return b|0}function jd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+16|0;n=t;if((d|0)==-1){b=0;i=t;return b|0}p=b+12|0;q=b+8|0;r=(c[p>>2]|0)-(c[q>>2]|0)|0;s=b+24|0;e=c[s>>2]|0;m=b+28|0;f=c[m>>2]|0;do{if((e|0)==(f|0)){k=b+48|0;if(!(c[k>>2]&16)){b=-1;i=t;return b|0}l=b+20|0;j=c[l>>2]|0;g=e-j|0;h=b+44|0;j=(c[h>>2]|0)-j|0;f=b+32|0;o=0;ia(67,f|0,0);e=o;o=0;if(!(e&1)){if(!(a[f>>0]&1))e=10;else e=(c[f>>2]&-2)+-1|0;o=0;wa(8,f|0,e|0,0);e=o;o=0;if(!(e&1)){e=a[f>>0]|0;if(!(e&1)){f=f+1|0;e=(e&255)>>>1}else{f=c[b+40>>2]|0;e=c[b+36>>2]|0}u=f+e|0;c[l>>2]=f;c[m>>2]=u;l=f+g|0;c[s>>2]=l;e=f+j|0;c[h>>2]=e;f=u;break}}u=Na(0)|0;Va(u|0)|0;Xa();u=-1;i=t;return u|0}else{u=b+44|0;k=b+48|0;h=u;l=e;e=c[u>>2]|0}}while(0);j=l+1|0;c[n>>2]=j;g=c[(j>>>0>>0?h:n)>>2]|0;c[h>>2]=g;if(c[k>>2]&8){e=b+32|0;if(!(a[e>>0]&1))e=e+1|0;else e=c[b+40>>2]|0;c[q>>2]=e;c[p>>2]=e+r;c[b+16>>2]=g}if((l|0)==(f|0)){u=Lb[c[(c[b>>2]|0)+52>>2]&63](b,d&255)|0;i=t;return u|0}else{c[s>>2]=j;a[l>>0]=d;u=d&255;i=t;return u|0}return 0}function kd(a){a=a|0;var b=0,d=0;c[a>>2]=36200;b=a+56|0;c[b>>2]=36220;d=a+4|0;c[d>>2]=36236;Im(a+36|0);nn(d);fn(b);return}function ld(a){a=a|0;var b=0,d=0;c[a>>2]=36200;b=a+56|0;c[b>>2]=36220;d=a+4|0;c[d>>2]=36236;Im(a+36|0);nn(d);fn(b);cj(a);return}function md(a){a=a|0;var b=0,d=0,e=0,f=0;f=c[(c[a>>2]|0)+-12>>2]|0;b=a+f|0;c[b>>2]=36200;d=a+(f+56)|0;c[d>>2]=36220;e=a+(f+4)|0;c[e>>2]=36236;Im(a+(f+36)|0);nn(e);fn(d);cj(b);return}function nd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36388;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function od(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36388;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function pd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;td(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;td(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;rd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{sd(a,f,b,d,e);return}}function rd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;l=d+4|0;j=c[l>>2]|0;do{if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{l=e[m+(j*6|0)+2>>1]|0;i=32768-l+(e[m+(j*6|0)+4>>1]|0)|0;n=(e[m+(j*6|0)>>1]|0)-l+32768|0;b[g+(j*6|0)>>1]=l+49152+(((i&65535)+(n&65535)|0)>>>2);b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{l=e[m+(f*6|0)+2>>1]|0;h=32768-l+(e[m+(f*6|0)+4>>1]|0)|0;n=(e[m+(f*6|0)>>1]|0)-l+32768|0;b[g+(f<<1)>>1]=l+49152+(((h&65535)+(n&65535)|0)>>>2);b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{n=b[m+(k<<3)+6>>1]|0;o=e[m+(k<<3)+2>>1]|0;l=32768-o+(e[m+(k<<3)+4>>1]|0)|0;h=(e[m+(k<<3)>>1]|0)-o+32768|0;b[g+(k<<1)>>1]=o+49152+(((l&65535)+(h&65535)|0)>>>2);b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function sd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;rd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;rd(b,t,e,f,g);i=q;return}function td(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=e[f+(d*6|0)+2>>1]|0;k=e[f+(d*6|0)+4>>1]|0;i=(e[f+(d*6|0)>>1]|0)-((k+l|0)>>>2)+16384|0;b[g+(d*6|0)>>1]=k+32768+i;b[g+(d*6|0)+2>>1]=i;b[g+(d*6|0)+4>>1]=l+32768+i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=e[f+(k+i<<1)>>1]|0;o=e[f+(k+j<<1)>>1]|0;l=(e[f+(k<<1)>>1]|0)-((o+n|0)>>>2)+16384|0;b[g+(k*6|0)>>1]=o+32768+l;b[g+(k*6|0)+2>>1]=l;b[g+(k*6|0)+4>>1]=n+32768+l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{n=e[f+(k+i<<1)>>1]|0;p=e[f+(k+d<<1)>>1]|0;o=(e[f+(k<<1)>>1]|0)-((p+n|0)>>>2)+16384|0;q=b[f+(k+j<<1)>>1]|0;r=mw(o&65535|0,0,16)|0;n=n+32768+o|D;q=mw(q&65535|0,0,48)|0;q=r|p+32768+o&65535|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){r=d+4|0;q=b[d>>1]|0;b[d>>1]=b[r>>1]|0;b[r>>1]=q;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function ud(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36412;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function vd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36412;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function wd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Ad(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Ad(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;yd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{zd(a,f,b,d,e);return}}function yd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=d+4|0;j=c[l>>2]|0;do{if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{k=e[m+(j*6|0)>>1]|0;i=b[m+(j*6|0)+2>>1]|0;l=i&65535;n=(e[m+(j*6|0)+4>>1]|0)+32768-((l+k|0)>>>1)&65535;b[g+(j*6|0)>>1]=k+32768-l;b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{h=b[m+(f*6|0)+2>>1]|0;k=e[m+(f*6|0)>>1]|0;l=h&65535;n=(e[m+(f*6|0)+4>>1]|0)+32768-((l+k|0)>>>1)&65535;b[g+(f<<1)>>1]=k+32768-l;b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{l=b[m+(k<<3)+2>>1]|0;n=b[m+(k<<3)+6>>1]|0;p=e[m+(k<<3)>>1]|0;o=l&65535;h=(e[m+(k<<3)+4>>1]|0)+32768-((o+p|0)>>>1)&65535;b[g+(k<<1)>>1]=p+32768-o;b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function zd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;yd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;yd(b,t,e,f,g);i=q;return}function Ad(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;i=l&65535;k=(e[f+(d*6|0)>>1]|0)+32768+i|0;i=(e[f+(d*6|0)+4>>1]|0)+32768+(((k&65535)+i|0)>>>1)&65535;b[g+(d*6|0)>>1]=k;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;l=n&65535;o=(e[f+(k<<1)>>1]|0)+32768+l|0;l=(e[f+(k+j<<1)>>1]|0)+32768+(((o&65535)+l|0)>>>1)&65535;b[g+(k*6|0)>>1]=o;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{o=b[f+(k+i<<1)>>1]|0;n=o&65535;p=(e[f+(k<<1)>>1]|0)+32768+n&65535;n=(e[f+(k+d<<1)>>1]|0)+32768+((p+n|0)>>>1)|0;q=b[f+(k+j<<1)>>1]|0;o=mw(o&65535|0,0,16)|0;n=D|n;q=mw(q&65535|0,0,48)|0;q=p|o|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Bd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36436;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Cd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36436;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Dd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Hd(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Hd(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Ed(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Fd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Gd(a,f,b,d,e);return}}function Fd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;l=d+4|0;j=c[l>>2]|0;do{if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{i=b[m+(j*6|0)+2>>1]|0;l=i&65535;n=32768-l+(e[m+(j*6|0)+4>>1]|0)&65535;b[g+(j*6|0)>>1]=(e[m+(j*6|0)>>1]|0)+32768-l;b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{h=b[m+(f*6|0)+2>>1]|0;l=h&65535;n=32768-l+(e[m+(f*6|0)+4>>1]|0)&65535;b[g+(f<<1)>>1]=(e[m+(f*6|0)>>1]|0)+32768-l;b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{l=b[m+(k<<3)+2>>1]|0;n=b[m+(k<<3)+6>>1]|0;o=l&65535;h=32768-o+(e[m+(k<<3)+4>>1]|0)&65535;b[g+(k<<1)>>1]=(e[m+(k<<3)>>1]|0)+32768-o;b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function Gd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Fd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Fd(b,t,e,f,g);i=q;return}function Hd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;k=l&65535;i=k+32768+(e[f+(d*6|0)+4>>1]|0)&65535;b[g+(d*6|0)>>1]=(e[f+(d*6|0)>>1]|0)+32768+k;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;o=n&65535;l=o+32768+(e[f+(k+j<<1)>>1]|0)&65535;b[g+(k*6|0)>>1]=(e[f+(k<<1)>>1]|0)+32768+o;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{o=b[f+(k+i<<1)>>1]|0;n=o&65535;p=(e[f+(k<<1)>>1]|0)+32768+n|0;n=n+32768+(e[f+(k+d<<1)>>1]|0)|0;q=b[f+(k+j<<1)>>1]|0;o=mw(o&65535|0,0,16)|0;n=D|n;q=mw(q&65535|0,0,48)|0;q=p&65535|o|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Id(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36460;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Jd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36460;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Kd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Od(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Od(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Ld(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Md(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Nd(a,f,b,d,e);return}}function Md(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;k=d+4|0;i=c[k>>2]|0;do{if(!(a[i+32>>0]|0))l=e;else{d=d+8|0;lw(c[d>>2]|0,e|0,g*6|0)|0;i=c[k>>2]|0;j=c[i+16>>2]|0;if((g|0)<=0){l=c[d>>2]|0;break}d=c[d>>2]|0;i=d;e=0;while(1){l=i+4|0;m=b[i>>1]|0;b[i>>1]=b[l>>1]|0;b[l>>1]=m;e=e+1|0;if((e|0)==(g|0))break;else i=i+(j<<1)|0}l=d;i=c[k>>2]|0}}while(0);switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{h=b[l+(i*6|0)+2>>1]|0;m=b[l+(i*6|0)+4>>1]|0;b[f+(i*6|0)>>1]=b[l+(i*6|0)>>1]|0;b[f+(i*6|0)+2>>1]=h;b[f+(i*6|0)+4>>1]=m;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;d=h<<1;e=0;do{g=b[l+(e*6|0)+2>>1]|0;m=b[l+(e*6|0)+4>>1]|0;b[f+(e<<1)>>1]=b[l+(e*6|0)>>1]|0;b[f+(e+h<<1)>>1]=g;b[f+(e+d<<1)>>1]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;d=h<<1;e=h*3|0;j=0;do{k=b[l+(j<<3)+2>>1]|0;g=b[l+(j<<3)+4>>1]|0;m=b[l+(j<<3)+6>>1]|0;b[f+(j<<1)>>1]=b[l+(j<<3)>>1]|0;b[f+(j+h<<1)>>1]=k;b[f+(j+d<<1)>>1]=g;b[f+(j+e<<1)>>1]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Nd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Md(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Md(b,t,e,f,g);i=q;return}function Od(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;i=b[f+(d*6|0)+4>>1]|0;b[g+(d*6|0)>>1]=b[f+(d*6|0)>>1]|0;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;l=b[f+(k+j<<1)>>1]|0;b[g+(k*6|0)>>1]=b[f+(k<<1)>>1]|0;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{n=b[f+(k<<1)>>1]|0;q=b[f+(k+j<<1)>>1]|0;o=e[f+(k+d<<1)>>1]|0;p=mw(e[f+(k+i<<1)>>1]|0,0,16)|0;o=D|o;q=mw(q&65535|0,0,48)|0;q=p|n&65535|q;o=o&65535|D;n=g+(k<<3)|0;p=n;b[p>>1]=q;b[p+2>>1]=q>>>16;n=n+4|0;b[n>>1]=o;b[n+2>>1]=o>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Pd(a){a=a|0;return}function Qd(a){a=a|0;cj(a);return}function Rd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;e=$(c[b+8>>2]|0,e)|0;b=c[b+4>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,d,e)|0)==(e|0))return;f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,3,35648);b=o;o=0;if(b&1){b=Na()|0;La(f|0);Ya(b|0)}else lb(f|0,824,96)}function Sd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,p=0;p=i;i=i+16|0;m=p;l=b+8|0;g=c[l>>2]|0;f=$(g,e)|0;do{if(f){j=b+4|0;h=f;while(1){g=c[j>>2]|0;g=Gb[c[(c[g>>2]|0)+32>>2]&63](g,d,h)|0;if(!g)break;f=h-g|0;if((h|0)==(g|0)){k=11;break}else h=f}if((k|0)==11){g=c[l>>2]|0;h=f;break}f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,3,35648);b=o;o=0;if(b&1){b=Na()|0;La(f|0);Ya(b|0)}else lb(f|0,824,96)}else h=0}while(0);if((g|0)==2){Oc(d,e<<1);g=c[l>>2]|0}f=c[b+12>>2]|0;if((f|0)<=($(g,e)|0)){i=p;return}b=c[b+4>>2]|0;Ib[c[(c[b>>2]|0)+16>>2]&15](m,b,f-h|0,0,1,24);i=p;return}function Td(a){a=a|0;cj(a);return}function Ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;lw(c[e>>2]|0,b|0,$(c[a+8>>2]|0,d)|0)|0;c[e>>2]=(c[e>>2]|0)+(c[a+12>>2]|0);return}function Vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;lw(b|0,c[e>>2]|0,$(c[a+8>>2]|0,d)|0)|0;c[e>>2]=(c[e>>2]|0)+(c[a+12>>2]|0);return}function Wd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c[b+112>>2]=0;c[b+108>>2]=0;l=c[d>>2]|0;g=l;do{if(l){i=b+92|0;l=b+96|0;j=c[l>>2]|0;k=c[i>>2]|0;e=k;f=j-e|0;if(f>>>0>=4e4)if(f>>>0>4e4?(h=k+4e4|0,(j|0)!=(h|0)):0){c[l>>2]=h;h=e}else h=e;else{Xd(i,4e4-f|0);h=c[i>>2]|0;g=c[d>>2]|0}e=b+116|0;c[e>>2]=h;j=b+124|0;c[j>>2]=h;k=b+104|0;c[k>>2]=g;f=g;if(g){if((c[f+12>>2]|0)==(c[f+16>>2]|0)){d=(Eb[c[(c[g>>2]|0)+36>>2]&127](f)|0)==-1;f=c[j>>2]|0;if(d)break;g=c[e>>2]|0}else{f=h;g=h}i=f-g|0;if(i>>>0<=64){h=b+92|0;if((f|0)==(g|0))f=g;else{f=g;g=0;do{a[(c[h>>2]|0)+g>>0]=a[f+g>>0]|0;g=g+1|0;f=c[e>>2]|0}while(g>>>0>>0);g=c[j>>2]|0}h=c[h>>2]|0;d=h;m=d-f|0;c[e>>2]=h;f=g+m|0;c[j>>2]=f;h=b+120|0;c[h>>2]=(c[h>>2]|0)+m;k=c[k>>2]|0;f=Gb[c[(c[k>>2]|0)+32>>2]&63](k,f,(c[l>>2]|0)-(d+i)|0)|0;f=(c[j>>2]|0)+f|0;c[j>>2]=f}}else f=h}else{c[b+104>>2]=0;f=c[d+4>>2]|0;e=b+116|0;c[e>>2]=f;f=f+(c[d+8>>2]|0)|0;c[b+124>>2]=f}}while(0);e=c[e>>2]|0;if(e>>>0>=f>>>0){l=e;m=b+120|0;c[m>>2]=l;ge(b);return}while(1){if((a[e>>0]|0)==-1){f=20;break}e=e+1|0;if(e>>>0>=f>>>0){f=20;break}}if((f|0)==20){m=b+120|0;c[m>>2]=e;ge(b);return}}function Xd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=b+8|0;g=c[k>>2]|0;l=b+4|0;e=c[l>>2]|0;f=e;if((g-f|0)>>>0>=d>>>0){do{a[e>>0]=0;e=(c[l>>2]|0)+1|0;c[l>>2]=e;d=d+-1|0}while((d|0)!=0);return}e=c[b>>2]|0;h=f-e+d|0;if((h|0)<0){$i(b);g=c[k>>2]|0;e=c[b>>2]|0}f=g-e|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f;e=(c[l>>2]|0)-e|0;if(!f){g=0;i=0;h=e}else j=8}else{f=2147483647;e=(c[l>>2]|0)-e|0;j=8}if((j|0)==8){g=f;i=bj(f)|0;h=e}e=i+h|0;g=i+g|0;f=e;do{a[f>>0]=0;f=e+1|0;e=f;d=d+-1|0}while((d|0)!=0);d=c[b>>2]|0;f=(c[l>>2]|0)-d|0;j=i+(h-f)|0;lw(j|0,d|0,f|0)|0;c[b>>2]=j;c[l>>2]=e;c[k>>2]=g;if(!d)return;cj(d);return}function Yd(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+180|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do{if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+12|0;a:do{if((c[h>>2]|0)>0){j=a+4604|0;k=($(t,s)|0)+1|0;l=a+4608|0;m=a+92|0;n=(t|0)>0;p=a+4600|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(68,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40}while(0);do{if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Zd(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4604|0;f=c[p>>2]|0;s=d+180|0;if((c[s>>2]|0)<=0)return;q=d+4608|0;r=d+4612|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(ce(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=be(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function _d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+104|0;if((c[g>>2]|0)>>>0<4)$d(b);h=b+100|0;i=b+112|0;j=b+96|0;k=b+108|0;l=b+116|0;d=c[h>>2]|0;f=0;do{e=a[i>>0]|0;if((d|0)>31)break;d=c[j>>2]|0;if(!(e<<24>>24)){a[c[k>>2]>>0]=d>>>24;c[j>>2]=c[j>>2]<<8;d=(c[h>>2]|0)+8|0}else{a[c[k>>2]>>0]=d>>>25;c[j>>2]=c[j>>2]<<7;d=(c[h>>2]|0)+7|0}c[h>>2]=d;m=c[k>>2]|0;e=(a[m>>0]|0)==-1&1;a[i>>0]=e;c[k>>2]=m+1;c[g>>2]=(c[g>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1;f=f+1|0}while((f|0)<4);if(!(e<<24>>24))ae(b,0,(d|0)%8|0);else ae(b,0,(d+-1|0)%8|0);if((c[g>>2]|0)>>>0<4)$d(b);d=c[h>>2]|0;e=0;do{if((d|0)>31)break;d=c[j>>2]|0;if(!(a[i>>0]|0)){a[c[k>>2]>>0]=d>>>24;c[j>>2]=c[j>>2]<<8;d=(c[h>>2]|0)+8|0}else{a[c[k>>2]>>0]=d>>>25;c[j>>2]=c[j>>2]<<7;d=(c[h>>2]|0)+7|0}c[h>>2]=d;m=c[k>>2]|0;a[i>>0]=(a[m>>0]|0)==-1&1;c[k>>2]=m+1;c[g>>2]=(c[g>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1;e=e+1|0}while((e|0)<4);if(!(c[b+132>>2]|0))return;$d(b);return}function $d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+132>>2]|0;if(!d){d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,4,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}e=b+108|0;f=b+120|0;h=c[f>>2]|0;g=(c[e>>2]|0)-h|0;if((Gb[c[(c[d>>2]|0)+48>>2]&63](d,h,g)|0)==(g|0)){h=c[f>>2]|0;c[e>>2]=h;c[b+104>>2]=(c[b+124>>2]|0)-h;return}d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,4,35648);h=o;o=0;if(!(h&1))lb(d|0,824,96);h=Na()|0;La(d|0);Ya(h|0)}function ae(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+100|0;e=(c[l>>2]|0)-e|0;c[l>>2]=e;if((e|0)>-1){m=b+96|0;c[m>>2]=c[m>>2]|d<>2]=c[m>>2]|d>>0-e;k=b+104|0;if((c[k>>2]|0)>>>0<4){$d(b);e=c[l>>2]|0}h=b+112|0;i=b+108|0;j=b+116|0;f=0;while(1){if((e|0)>31)break;e=c[m>>2]|0;if(!(a[h>>0]|0)){a[c[i>>2]>>0]=e>>>24;c[m>>2]=c[m>>2]<<8;e=(c[l>>2]|0)+8|0}else{a[c[i>>2]>>0]=e>>>25;c[m>>2]=c[m>>2]<<7;e=(c[l>>2]|0)+7|0}c[l>>2]=e;n=c[i>>2]|0;a[h>>0]=(a[n>>0]|0)==-1&1;c[i>>2]=n+1;c[k>>2]=(c[k>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;f=f+1|0;if((f|0)>=4){g=11;break}}a:do{if((g|0)==11)if((e|0)<0){c[m>>2]=c[m>>2]|d>>0-e;if((c[k>>2]|0)>>>0<4){$d(b);e=c[l>>2]|0;f=0}else f=0;do{if((e|0)>31)break a;e=c[m>>2]|0;if(!(a[h>>0]|0)){a[c[i>>2]>>0]=e>>>24;c[m>>2]=c[m>>2]<<8;e=(c[l>>2]|0)+8|0}else{a[c[i>>2]>>0]=e>>>25;c[m>>2]=c[m>>2]<<7;e=(c[l>>2]|0)+7|0}c[l>>2]=e;n=c[i>>2]|0;a[h>>0]=(a[n>>0]|0)==-1&1;c[i>>2]=n+1;c[k>>2]=(c[k>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;f=f+1|0}while((f|0)<4)}}while(0);c[m>>2]=c[m>>2]|d<>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;fe(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&65535;return r|0}r=g&~(d>>31);r=r&65535;return r|0}function ce(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=(c[a+180>>2]|0)-d|0;m=c[a+4608>>2]|0;n=c[a+4604>>2]|0;h=b[m+(d+-1<<1)>>1]|0;k=h&65535;f=c[a+144>>2]|0;i=0;while(1){g=m+(i+d<<1)|0;j=(e[g>>1]|0)-k|0;if((((j|0)>-1?j:0-j|0)|0)>(f|0))break;b[g>>1]=h;i=i+1|0;if((i|0)==(l|0)){i=l;break}}h=(i|0)==(l|0);j=a+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(a,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]=de(a,e[d>>1]|0,k,e[n+(l<<1)>>1]|0)|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;a=i+1|0;return a|0}if(!f){a=l;return a|0}ae(a,1,1);a=l;return a|0}function de(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=d-e|0;j=a+136|0;h=a+144|0;f=c[h>>2]|0;if((((i|0)>-1?i:0-i|0)|0)>(f|0)){g=e-d>>31|1;b=$(g,b-e|0)|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;d=((b|0)<0?f:0)+b|0;f=d-((d|0)<((f+1|0)/2|0|0)?0:f)|0;ee(a,a+4576|0,f);f=$(f,g)|0;g=c[h>>2]|0;h=g<<1|1;f=($(f,h)|0)+e|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&65535;return j|0}j=b&~(f>>31);j=j&65535;return j|0}else{b=b-d|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;g=((b|0)<0?f:0)+b|0;f=g-((g|0)<((f+1|0)/2|0|0)?0:f)|0;ee(a,a+4588|0,f);g=c[h>>2]|0;h=g<<1|1;f=($(h,f)|0)+d|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&65535;return j|0}j=b&~(f>>31);j=j&65535;return j|0}return 0}function ee(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;fe(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>2]|0;l=b+120|0;if(e>>>0<((c[l>>2]|0)+-3|0)>>>0){l=b+112|0;j=c[l>>2]|0;b=b+108|0;c[b>>2]=(d[e+1>>0]<<16|d[e>>0]<<24|d[e+2>>0]<<8|d[e+3>>0])>>>j|c[b>>2];b=32-j>>3;c[k>>2]=e+b;c[l>>2]=(b<<3)+j;return}j=b+104|0;f=c[j>>2]|0;do{if(f){if((c[f+12>>2]|0)==(c[f+16>>2]|0)){if((Eb[c[(c[f>>2]|0)+36>>2]&127](f)|0)==-1)break;e=c[k>>2]|0}h=b+124|0;f=c[h>>2]|0;i=f-e|0;if(i>>>0<=64){g=b+92|0;if((f|0)==(e|0))f=e;else{f=0;do{a[(c[g>>2]|0)+f>>0]=a[e+f>>0]|0;f=f+1|0;e=c[k>>2]|0}while(f>>>0>>0);f=e;e=c[h>>2]|0}p=c[g>>2]|0;g=p;m=g-f|0;c[k>>2]=p;f=e+m|0;c[h>>2]=f;c[l>>2]=(c[l>>2]|0)+m;j=c[j>>2]|0;j=Gb[c[(c[j>>2]|0)+32>>2]&63](j,f,(c[b+96>>2]|0)-(g+i)|0)|0;c[h>>2]=(c[h>>2]|0)+j}}}while(0);j=b+112|0;i=b+108|0;b=c[b+124>>2]|0;h=b+-1|0;e=c[k>>2]|0;while(1){if(e>>>0>=b>>>0){f=14;break}g=a[e>>0]|0;f=g&255;g=g<<24>>24==-1;if(g){if((e|0)==(h|0)){f=25;break}e=e+1|0;if((a[e>>0]|0)<0){f=25;break}}else e=e+1|0;p=c[j>>2]|0;c[i>>2]=f<<24-p|c[i>>2];c[k>>2]=e;p=p+(g?7:8)|0;c[j>>2]=p;if((p|0)>=24){f=33;break}}if((f|0)==14){if((c[j>>2]|0)>=1)return;e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);p=o;o=0;if(!(p&1))lb(e|0,824,96);p=Na()|0;La(e|0);Ya(p|0)}else if((f|0)==25){if((c[j>>2]|0)>=1)return;e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);p=o;o=0;if(!(p&1))lb(e|0,824,96);p=Na()|0;La(e|0);Ya(p|0)}else if((f|0)==33){a:do{if(e>>>0>>0)do{if((a[e>>0]|0)==-1)break a;e=e+1|0}while(e>>>0>>0)}while(0);c[l>>2]=e;return}}function he(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do{if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function ie(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=b+8|0;g=c[k>>2]|0;l=b+4|0;e=c[l>>2]|0;f=e;if((g-f|0)>>>0>=d>>>0){do{a[e>>0]=0;e=(c[l>>2]|0)+1|0;c[l>>2]=e;d=d+-1|0}while((d|0)!=0);return}e=c[b>>2]|0;h=f-e+d|0;if((h|0)<0){$i(b);g=c[k>>2]|0;e=c[b>>2]|0}f=g-e|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f;e=(c[l>>2]|0)-e|0;if(!f){g=0;i=0;h=e}else j=8}else{f=2147483647;e=(c[l>>2]|0)-e|0;j=8}if((j|0)==8){g=f;i=bj(f)|0;h=e}e=i+h|0;g=i+g|0;f=e;do{a[f>>0]=0;f=e+1|0;e=f;d=d+-1|0}while((d|0)!=0);d=c[b>>2]|0;f=(c[l>>2]|0)-d|0;j=i+(h-f)|0;lw(j|0,d|0,f|0)|0;c[b>>2]=j;c[l>>2]=e;c[k>>2]=g;if(!d)return;cj(d);return}function je(a){a=a|0;var b=0,d=0;c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function ke(a){a=a|0;var b=0,d=0;c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function le(a){a=a|0;var b=0,d=0;c[a>>2]=36052;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function me(a){a=a|0;var b=0,d=0;c[a>>2]=36052;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ne(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;xe(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function oe(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35828;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];qe(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;qe(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function pe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function qe(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=a+180|0;r=(c[q>>2]|0)+4|0;if((c[a+32>>2]|0)==1)s=c[a+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;do{if(d){if(!(d>>>0>715827882?(o=0,ha(178,w|0),v=o,o=0,v&1):0))j=6;if((j|0)==6?(o=0,e=ka(67,d*6|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;f=e+(d*6|0)|0;c[w+8>>2]=f;while(1){b[e>>1]=0;b[e+2>>1]=0;b[e+4>>1]=0;d=d+-1|0;if(!d)break;else e=e+6|0}c[x>>2]=f;break}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)j=20;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))j=18;if((j|0)==18?(g=s<<2,o=0,h=ka(67,g|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=h;j=h+(s<<2)|0;c[t+8>>2]=j;iw(h|0,0,g|0)|0;c[v>>2]=j;j=20;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==20){g=a+12|0;a:do{if((c[g>>2]|0)>0){h=a+4604|0;j=($(s,r)|0)+1|0;k=a+4608|0;l=a+92|0;m=(s|0)>0;n=a+4600|0;p=0;b:while(1){e=c[w>>2]|0;d=e+6|0;c[h>>2]=d;e=e+(j*6|0)|0;c[k>>2]=e;if(!(p&1))d=e;else{c[h>>2]=e;c[k>>2]=d}f=c[l>>2]|0;o=0;Aa(c[(c[f>>2]|0)+12>>2]|0,f|0,d|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){j=30;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*6|0)|0;e=e+((y+-1|0)*6|0)|0;b[d>>1]=b[e>>1]|0;b[d+2>>1]=b[e+2>>1]|0;b[d+4>>1]=b[e+4>>1]|0;e=(c[k>>2]|0)+-6|0;d=c[h>>2]|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;b[e+4>>1]=b[d+4>>1]|0;o=0;ia(69,a|0,0);e=o;o=0;if(e&1){j=29;break b}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*6|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*6|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(182,a|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);i=u;return}}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}function re(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;B=d+180|0;if((c[B>>2]|0)<=0)return;C=d+4608|0;D=d+4604|0;E=d+4612|0;A=0;while(1){x=A+-1|0;j=c[C>>2]|0;k=c[D>>2]|0;f=A+1|0;i=e[k+(A*6|0)>>1]|0;z=c[E>>2]|0;l=e[k+(x*6|0)>>1]|0;m=i-l|0;n=e[j+(x*6|0)>>1]|0;o=l-n|0;p=((((a[z+((e[k+(f*6|0)>>1]|0)-i)>>0]|0)*9|0)+(a[z+m>>0]|0)|0)*9|0)+(a[z+o>>0]|0)|0;h=e[k+(A*6|0)+2>>1]|0;q=e[k+(x*6|0)+2>>1]|0;r=h-q|0;s=e[j+(x*6|0)+2>>1]|0;t=q-s|0;u=((((a[z+((e[k+(f*6|0)+2>>1]|0)-h)>>0]|0)*9|0)+(a[z+r>>0]|0)|0)*9|0)+(a[z+t>>0]|0)|0;g=e[k+(A*6|0)+4>>1]|0;v=e[k+(x*6|0)+4>>1]|0;w=g-v|0;x=e[j+(x*6|0)+4>>1]|0;y=v-x|0;z=((((a[z+((e[k+(f*6|0)+4>>1]|0)-g)>>0]|0)*9|0)+(a[z+w>>0]|0)|0)*9|0)+(a[z+y>>0]|0)|0;if(!(u|p|z))f=(se(d,A,0)|0)+A|0;else{k=e[j+(A*6|0)>>1]|0;j=i-n>>31;if((j^o|0)>=0)if((j^m|0)<0)i=n;else i=n-l+i|0;k=te(d,p,k,i,0)|0;j=e[(c[C>>2]|0)+(A*6|0)+2>>1]|0;i=h-s>>31;if((i^t|0)>=0)if((i^r|0)<0)h=s;else h=s-q+h|0;i=te(d,u,j,h,0)|0;j=e[(c[C>>2]|0)+(A*6|0)+4>>1]|0;h=g-x>>31;if((h^y|0)>=0)if((h^w|0)<0)g=x;else g=x-v+g|0;y=te(d,z,j,g,0)|0;z=c[C>>2]|0;b[z+(A*6|0)>>1]=k;b[z+(A*6|0)+2>>1]=i;b[z+(A*6|0)+4>>1]=y}if((f|0)<(c[B>>2]|0))A=f;else break}return}function se(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=i;i=i+48|0;r=B+30|0;q=B+24|0;p=B+18|0;s=B+12|0;x=B+6|0;y=B;z=(c[a+180>>2]|0)-d|0;A=c[a+4608>>2]|0;t=c[a+4604>>2]|0;w=d+-1|0;u=b[A+(w*6|0)>>1]|0;v=b[A+(w*6|0)+2>>1]|0;w=b[A+(w*6|0)+4>>1]|0;f=u&65535;g=a+144|0;h=v&65535;j=w&65535;o=0;while(1){m=o+d|0;k=A+(m*6|0)|0;l=A+(m*6|0)+2|0;m=A+(m*6|0)+4|0;C=(e[k>>1]|0)-f|0;n=c[g>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(e[l>>1]|0)-h|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(e[m>>1]|0)-j|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;b[k>>1]=u;b[l>>1]=v;b[m>>1]=w;o=o+1|0;if((o|0)==(z|0)){o=z;break}}h=(o|0)==(z|0);j=a+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(o|0))f=o;else{f=o;do{ae(a,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]=b[C>>1]|0;b[x+2>>1]=b[C+2>>1]|0;b[x+4>>1]=b[C+4>>1]|0;b[y>>1]=u;b[y+2>>1]=v;b[y+4>>1]=w;d=t+(d*6|0)|0;b[p>>1]=b[x>>1]|0;b[p+2>>1]=b[x+2>>1]|0;b[p+4>>1]=b[x+4>>1]|0;b[q>>1]=b[y>>1]|0;b[q+2>>1]=b[y+2>>1]|0;b[q+4>>1]=b[y+4>>1]|0;b[r>>1]=b[d>>1]|0;b[r+2>>1]=b[d+2>>1]|0;b[r+4>>1]=b[d+4>>1]|0;ve(s,a,p,q,r);b[C>>1]=b[s>>1]|0;b[C+2>>1]=b[s+2>>1]|0;b[C+4>>1]=b[s+4>>1]|0;C=c[j>>2]|0;c[j>>2]=(C|0)<1?0:C+-1|0;C=o+1|0;i=B;return C|0}if(!f){C=z;i=B;return C|0}ae(a,1,1);C=z;i=B;return C|0}function te(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;ue(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&65535;return r|0}r=g&~(d>>31);r=r&65535;return r|0}function ue(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>1]|0;p=o-(e[g>>1]|0)>>31|1;i=$(p,(e[f>>1]|0)-o|0)|0;m=d+144|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;w=d+140|0;l=c[w>>2]|0;k=((i|0)<0?l:0)+i|0;l=k-((k|0)<((l+1|0)/2|0|0)?0:l)|0;k=d+4576|0;we(d,k,l);t=e[h+2>>1]|0;u=t-(e[g+2>>1]|0)>>31|1;i=$(u,(e[f+2>>1]|0)-t|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;q=c[w>>2]|0;v=((i|0)<0?q:0)+i|0;q=v-((v|0)<((q+1|0)/2|0|0)?0:q)|0;we(d,k,q);v=e[h+4>>1]|0;s=v-(e[g+4>>1]|0)>>31|1;i=$(s,(e[f+4>>1]|0)-v|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;n=c[w>>2]|0;i=((i|0)<0?n:0)+i|0;n=i-((i|0)<((n+1|0)/2|0|0)?0:n)|0;we(d,k,n);k=c[m>>2]|0;m=k<<1|1;i=($($(m,l)|0,p)|0)+o|0;f=0-k|0;if((i|0)>=(f|0)){j=c[r>>2]|0;if((j+k|0)<(i|0)){i=i-($(c[w>>2]|0,m)|0)|0;g=j}else g=j}else{i=($(c[w>>2]|0,m)|0)+i|0;g=c[r>>2]|0}if((i&g|0)!=(i|0))i=g&~(i>>31);h=i&65535;i=($($(m,q)|0,u)|0)+t|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)!=(i|0))i=g&~(i>>31);j=i&65535;i=($($(m,n)|0,s)|0)+v|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)==(i|0)){w=i;w=w&65535;b[a>>1]=h;v=a+2|0;b[v>>1]=j;a=a+4|0;b[a>>1]=w;return}w=g&~(i>>31);w=w&65535;b[a>>1]=h;v=a+2|0;b[v>>1]=j;a=a+4|0;b[a>>1]=w;return}function we(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;ue(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function xe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do{if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function ye(a){a=a|0;var b=0,d=0;c[a>>2]=36024;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function ze(a){a=a|0;var b=0,d=0;c[a>>2]=36024;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Ae(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;pf(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function Be(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35800;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Ce(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function De(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36712;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Ee(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36688;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Fe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36664;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Ge(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36640;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function He(a){a=a|0;var b=0,d=0;c[a>>2]=36640;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function Ie(a){a=a|0;var b=0,d=0;c[a>>2]=36640;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Je(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;Ne(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;Ne(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Le(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Me(a,f,b,d,e);return}}function Le(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{j=d[k+(i*3|0)+1>>0]|0;h=128-j+(d[k+(i*3|0)+2>>0]|0)|0;l=(d[k+(i*3|0)>>0]|0)-j+128|0;m=f+(i*3|0)|0;a[m>>0]=j+192+(((h&255)+(l&255)|0)>>>2);a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{g=d[k+(e*3|0)+1>>0]|0;l=128-g+(d[k+(e*3|0)+2>>0]|0)|0;m=(d[k+(e*3|0)>>0]|0)-g+128|0;a[f+e>>0]=g+192+(((l&255)+(m&255)|0)>>>2);a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{m=a[k+(j<<2)+3>>0]|0;n=d[k+(j<<2)+1>>0]|0;g=128-n+(d[k+(j<<2)+2>>0]|0)|0;l=(d[k+(j<<2)>>0]|0)-n+128|0;a[f+j>>0]=n+192+(((g&255)+(l&255)|0)>>>2);a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Me(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Le(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Le(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function Ne(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=d[e+(b*3|0)+1>>0]|0;i=d[e+(b*3|0)+2>>0]|0;k=(d[e+(b*3|0)>>0]|0)-((i+j|0)>>>2)+64|0;h=f+(b*3|0)|0;a[h>>0]=i+128+k;a[h+1>>0]=k;a[h+2>>0]=j+128+k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=d[e+(j+h)>>0]|0;o=d[e+(j+i)>>0]|0;m=(d[e+j>>0]|0)-((o+n|0)>>>2)+64|0;k=f+(j*3|0)|0;a[k>>0]=o+128+m;a[k+1>>0]=m;a[k+2>>0]=n+128+m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{m=d[e+(j+h)>>0]|0;p=d[e+(j+b)>>0]|0;n=(d[e+j>>0]|0)-((p+m|0)>>>2)+64|0;o=f+(j<<2)|0;n=n<<8&65280|d[e+(j+i)>>0]<<24|p+128+n&255|m+128+n<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){p=b+2|0;o=a[b>>0]|0;a[b>>0]=a[p>>0]|0;a[p>>0]=o;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function Oe(a){a=a|0;var b=0,d=0;c[a>>2]=36664;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function Pe(a){a=a|0;var b=0,d=0;c[a>>2]=36664;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Qe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;Ue(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;Ue(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Se(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Te(a,f,b,d,e);return}}function Se(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{e=d[k+(i*3|0)>>0]|0;h=a[k+(i*3|0)+1>>0]|0;j=h&255;l=(d[k+(i*3|0)+2>>0]|0)+128-((j+e|0)>>>1)&255;m=f+(i*3|0)|0;a[m>>0]=e+128-j;a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{l=a[k+(e*3|0)+1>>0]|0;j=d[k+(e*3|0)>>0]|0;g=l&255;m=(d[k+(e*3|0)+2>>0]|0)+128-((g+j|0)>>>1)&255;a[f+e>>0]=j+128-g;a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{g=a[k+(j<<2)+1>>0]|0;m=a[k+(j<<2)+3>>0]|0;o=d[k+(j<<2)>>0]|0;n=g&255;l=(d[k+(j<<2)+2>>0]|0)+128-((n+o|0)>>>1)&255;a[f+j>>0]=o+128-n;a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Te(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Se(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Se(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function Ue(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;k=j&255;i=(d[e+(b*3|0)>>0]|0)+128+k|0;k=(d[e+(b*3|0)+2>>0]|0)+128+(((i&255)+k|0)>>>1)&255;h=f+(b*3|0)|0;a[h>>0]=i;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;m=n&255;o=(d[e+j>>0]|0)+128+m|0;m=(d[e+(j+i)>>0]|0)+128+(((o&255)+m|0)>>>1)&255;k=f+(j*3|0)|0;a[k>>0]=o;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=d[e+(j+h)>>0]|0;m=(d[e+j>>0]|0)+128+n&255;o=f+(j<<2)|0;n=m|n<<8|d[e+(j+i)>>0]<<24|(d[e+(j+b)>>0]|0)+128+((m+n|0)>>>1)<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){o=b+2|0;n=a[b>>0]|0;a[b>>0]=a[o>>0]|0;a[o>>0]=n;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function Ve(a){a=a|0;var b=0,d=0;c[a>>2]=36688;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function We(a){a=a|0;var b=0,d=0;c[a>>2]=36688;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Xe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;$e(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;$e(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Ze(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{_e(a,f,b,d,e);return}}function Ze(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{h=a[k+(i*3|0)+1>>0]|0;j=h&255;l=128-j+(d[k+(i*3|0)+2>>0]|0)&255;m=f+(i*3|0)|0;a[m>>0]=(d[k+(i*3|0)>>0]|0)+128-j;a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{l=a[k+(e*3|0)+1>>0]|0;g=l&255;m=128-g+(d[k+(e*3|0)+2>>0]|0)&255;a[f+e>>0]=(d[k+(e*3|0)>>0]|0)+128-g;a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{g=a[k+(j<<2)+1>>0]|0;m=a[k+(j<<2)+3>>0]|0;n=g&255;l=128-n+(d[k+(j<<2)+2>>0]|0)&255;a[f+j>>0]=(d[k+(j<<2)>>0]|0)+128-n;a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function _e(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Ze(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Ze(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function $e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;i=j&255;k=i+128+(d[e+(b*3|0)+2>>0]|0)&255;h=f+(b*3|0)|0;a[h>>0]=(d[e+(b*3|0)>>0]|0)+128+i;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;o=n&255;m=o+128+(d[e+(j+i)>>0]|0)&255;k=f+(j*3|0)|0;a[k>>0]=(d[e+j>>0]|0)+128+o;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=d[e+(j+h)>>0]|0;o=f+(j<<2)|0;n=(d[e+j>>0]|0)+128+n&255|n<<8|d[e+(j+i)>>0]<<24|n+128+(d[e+(j+b)>>0]|0)<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){o=b+2|0;n=a[b>>0]|0;a[b>>0]=a[o>>0]|0;a[o>>0]=n;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function af(a){a=a|0;var b=0,d=0;c[a>>2]=36712;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function bf(a){a=a|0;var b=0,d=0;c[a>>2]=36712;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function cf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;gf(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;gf(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;ef(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{ff(a,f,b,d,e);return}}function ef(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=b+4|0;h=c[j>>2]|0;if(!(a[h+32>>0]|0))j=d;else{i=b+8|0;lw(c[i>>2]|0,d|0,f*3|0)|0;h=c[j>>2]|0;d=c[h+16>>2]|0;if((f|0)>0){h=c[i>>2]|0;b=0;while(1){k=h+2|0;l=a[h>>0]|0;a[h>>0]=a[k>>0]|0;a[k>>0]=l;b=b+1|0;if((b|0)==(f|0))break;else h=h+d|0}h=c[j>>2]|0}j=c[i>>2]|0}switch(c[h+16>>2]|0){case 3:{if((c[h+24>>2]|0)==2){if((f|0)>0)h=0;else return;do{g=a[j+(h*3|0)+1>>0]|0;k=a[j+(h*3|0)+2>>0]|0;l=e+(h*3|0)|0;a[l>>0]=a[j+(h*3|0)>>0]|0;a[l+1>>0]=g;a[l+2>>0]=k;h=h+1|0}while((h|0)!=(f|0));return}h=(g|0)<(f|0)?g:f;if((h|0)<=0)return;b=g<<1;d=0;do{k=a[j+(d*3|0)+1>>0]|0;l=a[j+(d*3|0)+2>>0]|0;a[e+d>>0]=a[j+(d*3|0)>>0]|0;a[e+(d+g)>>0]=k;a[e+(d+b)>>0]=l;d=d+1|0}while((d|0)!=(h|0));return}case 4:{if((c[h+24>>2]|0)!=1)return;h=(g|0)<(f|0)?g:f;if((h|0)<=0)return;b=g<<1;d=g*3|0;i=0;do{f=a[j+(i<<2)+1>>0]|0;k=a[j+(i<<2)+2>>0]|0;l=a[j+(i<<2)+3>>0]|0;a[e+i>>0]=a[j+(i<<2)>>0]|0;a[e+(i+g)>>0]=f;a[e+(i+b)>>0]=k;a[e+(i+d)>>0]=l;i=i+1|0}while((i|0)!=(h|0));return}default:return}}function ff(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;ef(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){ef(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function gf(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;k=a[e+(b*3|0)+2>>0]|0;h=f+(b*3|0)|0;a[h>>0]=a[e+(b*3|0)>>0]|0;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;m=a[e+(j+i)>>0]|0;k=f+(j*3|0)|0;a[k>>0]=a[e+j>>0]|0;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=f+(j<<2)|0;m=d[e+(j+h)>>0]<<8|d[e+j>>0]|d[e+(j+b)>>0]<<16|d[e+(j+i)>>0]<<24;a[n>>0]=m;a[n+1>>0]=m>>8;a[n+2>>0]=m>>16;a[n+3>>0]=m>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){n=b+2|0;m=a[b>>0]|0;a[b>>0]=a[n>>0]|0;a[n>>0]=m;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function hf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+180|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[x>>2]|0)+3|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){g=b+12|0;b:do{if((c[g>>2]|0)>0){h=b+4604|0;j=($(s,r)|0)+1|0;k=b+4608|0;l=b+92|0;m=(s|0)>0;n=b+4600|0;p=0;c:while(1){f=c[w>>2]|0;d=f+3|0;c[h>>2]=d;e=f+(j*3|0)|0;c[k>>2]=e;if(!(p&1))d=j;else{c[h>>2]=e;c[k>>2]=d;d=1}e=c[l>>2]|0;o=0;Aa(c[(c[e>>2]|0)+12>>2]|0,e|0,f+(d*3|0)|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*3|0)|0;e=e+((y+-1|0)*3|0)|0;a[d>>0]=a[e>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;d=c[h>>2]|0;e=(c[k>>2]|0)+-3|0;a[e>>0]=a[d>>0]|0;a[e+1>>0]=a[d+1>>0]|0;a[e+2>>0]=a[d+2>>0]|0;o=0;ia(70,b|0,0);e=o;o=0;if(e&1){h=28;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*3|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*3|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){f=Na()|0;break}else if((h|0)==29){f=Na()|0;break}}else h=41}while(0);do{if((h|0)==41){o=0;ha(182,b|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=u;return}}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function jf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+180|0;if((c[A>>2]|0)<=0)return;B=b+4608|0;C=b+4604|0;D=b+4612|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=(kf(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=lf(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=lf(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=lf(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function kf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=i;i=i+32|0;A=B+15|0;q=B+12|0;p=B+9|0;r=B+6|0;w=B+3|0;x=B;y=(c[b+180>>2]|0)-e|0;z=c[b+4608>>2]|0;s=c[b+4604>>2]|0;v=z+((e+-1|0)*3|0)|0;t=a[v>>0]|0;u=a[v+1>>0]|0;v=a[v+2>>0]|0;f=t&255;g=b+144|0;h=u&255;j=v&255;o=0;while(1){k=z+((o+e|0)*3|0)|0;l=k+1|0;m=k+2|0;C=(d[k>>0]|0)-f|0;n=c[g>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(d[l>>0]|0)-h|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(d[m>>0]|0)-j|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;a[k>>0]=t;a[l>>0]=u;a[m>>0]=v;o=o+1|0;if((o|0)==(y|0)){o=y;break}}h=(o|0)==(y|0);j=b+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(o|0))f=o;else{f=o;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]=a[C>>0]|0;a[w+1>>0]=a[C+1>>0]|0;a[w+2>>0]=a[C+2>>0]|0;a[x>>0]=t;a[x+1>>0]=u;a[x+2>>0]=v;e=s+(e*3|0)|0;a[p>>0]=a[w>>0]|0;a[p+1>>0]=a[w+1>>0]|0;a[p+2>>0]=a[w+2>>0]|0;a[q>>0]=a[x>>0]|0;a[q+1>>0]=a[x+1>>0]|0;a[q+2>>0]=a[x+2>>0]|0;a[A>>0]=a[e>>0]|0;a[A+1>>0]=a[e+1>>0]|0;a[A+2>>0]=a[e+2>>0]|0;nf(r,b,p,q,A);a[C>>0]=a[r>>0]|0;a[C+1>>0]=a[r+1>>0]|0;a[C+2>>0]=a[r+2>>0]|0;C=c[j>>2]|0;c[j>>2]=(C|0)<1?0:C+-1|0;C=o+1|0;i=B;return C|0}if(!f){C=y;i=B;return C|0}ae(b,1,1);C=y;i=B;return C|0}function lf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;mf(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&255;return r|0}r=g&~(d>>31);r=r&255;return r|0}function mf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>0]|0;p=o-(d[g>>0]|0)>>31|1;i=$(p,(d[f>>0]|0)-o|0)|0;m=e+144|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;w=e+140|0;l=c[w>>2]|0;k=((i|0)<0?l:0)+i|0;l=k-((k|0)<((l+1|0)/2|0|0)?0:l)|0;k=e+4576|0;of(e,k,l);t=d[h+1>>0]|0;u=t-(d[g+1>>0]|0)>>31|1;i=$(u,(d[f+1>>0]|0)-t|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;q=c[w>>2]|0;v=((i|0)<0?q:0)+i|0;q=v-((v|0)<((q+1|0)/2|0|0)?0:q)|0;of(e,k,q);v=d[h+2>>0]|0;s=v-(d[g+2>>0]|0)>>31|1;i=$(s,(d[f+2>>0]|0)-v|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;n=c[w>>2]|0;i=((i|0)<0?n:0)+i|0;n=i-((i|0)<((n+1|0)/2|0|0)?0:n)|0;of(e,k,n);k=c[m>>2]|0;m=k<<1|1;i=($($(m,l)|0,p)|0)+o|0;f=0-k|0;if((i|0)>=(f|0)){j=c[r>>2]|0;if((j+k|0)<(i|0)){i=i-($(c[w>>2]|0,m)|0)|0;g=j}else g=j}else{i=($(c[w>>2]|0,m)|0)+i|0;g=c[r>>2]|0}if((i&g|0)!=(i|0))i=g&~(i>>31);h=i&255;i=($($(m,q)|0,u)|0)+t|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)!=(i|0))i=g&~(i>>31);j=i&255;i=($($(m,n)|0,s)|0)+v|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)==(i|0)){w=i;w=w&255;a[b>>0]=h;v=b+1|0;a[v>>0]=j;b=b+2|0;a[b>>0]=w;return}w=g&~(i>>31);w=w&255;a[b>>0]=h;v=b+1|0;a[v>>0]=j;b=b+2|0;a[b>>0]=w;return}function of(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;mf(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function pf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do{if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function qf(a){a=a|0;var b=0,d=0;c[a>>2]=35996;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function rf(a){a=a|0;var b=0,d=0;c[a>>2]=35996;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function sf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,65535,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Bf(d);g=0;do{c[d+172+(g*12|0)>>2]=1024;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=1024;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=1024;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function tf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35772;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];vf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;vf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function uf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function vf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+156|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do{if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+12|0;a:do{if((c[h>>2]|0)>0){j=a+4580|0;k=($(t,s)|0)+1|0;l=a+4584|0;m=a+92|0;n=(t|0)>0;p=a+4576|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(71,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40}while(0);do{if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function wf(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4580|0;f=c[p>>2]|0;s=d+156|0;if((c[s>>2]|0)<=0)return;q=d+4584|0;r=d+4588|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(yf(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=xf(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function xf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&65535|0)==(g|0))m=g;else m=g>>31&65535^65535;j=(e-m^q)-q<<16;l=j>>16;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;f=g^l;f=f>>30^f<<1;g=f>>h;if((g|0)<47){if((g|0)>30){i=(g|0)/2|0;ae(a,0,i);g=g-i|0}ae(a,1,g+1|0);ae(a,f&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-65536?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}function yf(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[a+156>>2]|0)-d|0;k=c[a+4584>>2]|0;m=c[a+4580>>2]|0;h=b[k+(d+-1<<1)>>1]|0;g=0;while(1){f=k+(g+d<<1)|0;if((b[f>>1]|0)!=h<<16>>16){n=g;break}b[f>>1]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&65535;h=(n|0)==(j|0);l=a+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(a,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]|0;f=e[m+(f<<1)>>1]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<16>>16;zf(a,a+4564|0,f);f=f+i|0}else{m=f-i>>31|1;d=($(g-f<<16,m)|0)>>16;zf(a,a+4552|0,d);f=($(d,m)|0)+f|0}b[h>>1]=f;a=c[l>>2]|0;c[l>>2]=(a|0)<1?0:a+-1|0;a=n+1|0;return a|0}function zf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Af(b,h,g,63-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Af(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-16|0;if((e|0)<(d+-17|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-47|0)}else ae(a,1,f);ae(a,c+65535&65535,16);return}function Bf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,65535,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8909]|0;c[b+4588>>2]=l+(((c[8910]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=131072){if(h>>>0>131072?(j=d+131072|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,131072-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+65536;j=b+168|0;g=b+164|0;h=-65536;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==65536)break}i=m;return}function Cf(a){a=a|0;var b=0,d=0;c[a>>2]=35968;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Df(a){a=a|0;var b=0,d=0;c[a>>2]=35968;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Ef(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,4095,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Nf(d);g=0;do{c[d+172+(g*12|0)>>2]=64;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=64;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=64;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function Ff(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35744;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Gf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Hf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+156|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do{if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+12|0;a:do{if((c[h>>2]|0)>0){j=a+4580|0;k=($(t,s)|0)+1|0;l=a+4584|0;m=a+92|0;n=(t|0)>0;p=a+4576|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(72,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40}while(0);do{if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function If(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4580|0;f=c[p>>2]|0;s=d+156|0;if((c[s>>2]|0)<=0)return;q=d+4584|0;r=d+4588|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(Kf(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=Jf(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function Jf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&4095|0)==(g|0))m=g;else m=g>>31&4095^4095;j=(e-m^q)-q<<20;l=j>>20;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;f=g^l;f=f>>30^f<<1;g=f>>h;if((g|0)<35){if((g|0)>30){i=(g|0)/2|0;ae(a,0,i);g=g-i|0}ae(a,1,g+1|0);ae(a,f&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-1048576?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}function Kf(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[a+156>>2]|0)-d|0;k=c[a+4584>>2]|0;m=c[a+4580>>2]|0;h=b[k+(d+-1<<1)>>1]|0;g=0;while(1){f=k+(g+d<<1)|0;if((b[f>>1]|0)!=h<<16>>16){n=g;break}b[f>>1]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&65535;h=(n|0)==(j|0);l=a+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(a,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]|0;f=e[m+(f<<1)>>1]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<20>>20;Lf(a,a+4564|0,f);f=f+i|0}else{m=f-i>>31|1;d=($(g-f<<20,m)|0)>>20;Lf(a,a+4552|0,d);f=($(d,m)|0)+f|0}b[h>>1]=f&4095;a=c[l>>2]|0;c[l>>2]=(a|0)<1?0:a+-1|0;a=n+1|0;return a|0}function Lf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Mf(b,h,g,47-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Mf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-12|0;if((e|0)<(d+-13|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-43|0)}else ae(a,1,f);ae(a,c+4095&4095,12);return}function Nf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,4095,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8906]|0;c[b+4588>>2]=l+(((c[8907]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=8192){if(h>>>0>8192?(j=d+8192|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,8192-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+4096;j=b+168|0;g=b+164|0;h=-4096;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==4096)break}i=m;return}function Of(a){a=a|0;var b=0,d=0;c[a>>2]=35940;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Pf(a){a=a|0;var b=0,d=0;c[a>>2]=35940;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Qf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Zf(d);g=0;do{c[d+172+(g*12|0)>>2]=4;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=4;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=4;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function Rf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35716;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Tf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Tf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Sf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Tf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+156|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[x>>2]|0)+1|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}e=Na()|0;d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){g=b+12|0;b:do{if((c[g>>2]|0)>0){h=b+4580|0;j=($(s,r)|0)+1|0;k=b+4584|0;l=b+92|0;m=(s|0)>0;n=b+4576|0;p=0;c:while(1){e=c[w>>2]|0;d=e+1|0;c[h>>2]=d;e=e+j|0;c[k>>2]=e;if(!(p&1))d=e;else{c[h>>2]=e;c[k>>2]=d}f=c[l>>2]|0;o=0;Aa(c[(c[f>>2]|0)+12>>2]|0,f|0,d|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[h>>2]|0;e=c[t>>2]|0;f=0;do{c[n>>2]=c[e+(f<<2)>>2];e=c[q>>2]|0;a[d+e>>0]=a[d+(e+-1)>>0]|0;a[(c[k>>2]|0)+-1>>0]=a[c[h>>2]>>0]|0;o=0;ia(73,b|0,0);e=o;o=0;if(e&1){h=28;break c}e=c[t>>2]|0;c[e+(f<<2)>>2]=c[n>>2];d=(c[h>>2]|0)+r|0;c[h>>2]=d;c[k>>2]=(c[k>>2]|0)+r;f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){e=Na()|0;break}else if((h|0)==29){e=Na()|0;break}}else h=41}while(0);do{if((h|0)==41){o=0;ha(182,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return}}while(0);d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}function Uf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4580|0;e=c[o>>2]|0;r=b+156|0;if((c[r>>2]|0)<=0)return;p=b+4584|0;q=b+4588|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(Wf(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=Vf(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function Vf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&255|0)==(g|0))m=g;else m=g>>31&255^255;j=(e-m^q)-q<<24;l=j>>24;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;g=g^l;g=g>>30^g<<1;f=g>>h;if((f|0)<23){ae(a,1,f+1|0);ae(a,g&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-16777216?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}function Wf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[b+156>>2]|0)-e|0;k=c[b+4584>>2]|0;m=c[b+4580>>2]|0;h=a[k+(e+-1)>>0]|0;g=0;while(1){f=k+(g+e)|0;if((a[f>>0]|0)!=h<<24>>24){n=g;break}a[f>>0]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&255;h=(n|0)==(j|0);l=b+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(b,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]|0;f=d[m+f>>0]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<24>>24;Xf(b,b+4564|0,f);f=f+i|0}else{m=f-i>>31|1;e=($(g-f<<24,m)|0)>>24;Xf(b,b+4552|0,e);f=($(e,m)|0)+f|0}a[h>>0]=f;b=c[l>>2]|0;c[l>>2]=(b|0)<1?0:b+-1|0;b=n+1|0;return b|0}function Xf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Yf(b,h,g,31-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-8|0;if((e|0)<(d+-9|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-39|0)}else ae(a,1,f);ae(a,c+255&255,8);return}function Zf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8900]|0;c[b+4588>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+256;j=b+168|0;g=b+164|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function _f(a){a=a|0;var b=0,d=0;c[a>>2]=35912;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function $f(a){a=a|0;var b=0,d=0;c[a>>2]=35912;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ag(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;jg(d);g=0;do{c[d+172+(g*12|0)>>2]=4;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=4;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=4;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function bg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35688;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];dg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;dg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function cg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function dg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+156|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[x>>2]|0)+3|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){g=b+12|0;b:do{if((c[g>>2]|0)>0){h=b+4580|0;j=($(s,r)|0)+1|0;k=b+4584|0;l=b+92|0;m=(s|0)>0;n=b+4576|0;p=0;c:while(1){f=c[w>>2]|0;d=f+3|0;c[h>>2]=d;e=f+(j*3|0)|0;c[k>>2]=e;if(!(p&1))d=j;else{c[h>>2]=e;c[k>>2]=d;d=1}e=c[l>>2]|0;o=0;Aa(c[(c[e>>2]|0)+12>>2]|0,e|0,f+(d*3|0)|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*3|0)|0;e=e+((y+-1|0)*3|0)|0;a[d>>0]=a[e>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;d=c[h>>2]|0;e=(c[k>>2]|0)+-3|0;a[e>>0]=a[d>>0]|0;a[e+1>>0]=a[d+1>>0]|0;a[e+2>>0]=a[d+2>>0]|0;o=0;ia(74,b|0,0);e=o;o=0;if(e&1){h=28;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*3|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*3|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){f=Na()|0;break}else if((h|0)==29){f=Na()|0;break}}else h=41}while(0);do{if((h|0)==41){o=0;ha(182,b|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=u;return}}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function eg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+156|0;if((c[A>>2]|0)<=0)return;B=b+4584|0;C=b+4580|0;D=b+4588|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=(fg(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=gg(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=gg(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=gg(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function fg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=(c[b+156>>2]|0)-e|0;n=c[b+4584>>2]|0;o=c[b+4580>>2]|0;l=n+((e+-1|0)*3|0)|0;p=a[l>>0]|0;k=a[l+1>>0]|0;l=a[l+2>>0]|0;i=0;while(1){f=n+((i+e|0)*3|0)|0;g=f+1|0;h=f+2|0;if(!(((a[f>>0]|0)==p<<24>>24?(a[g>>0]|0)==k<<24>>24:0)&(a[h>>0]|0)==l<<24>>24))break;a[f>>0]=p;a[g>>0]=k;a[h>>0]=l;i=i+1|0;if((i|0)==(m|0)){i=m;break}}h=(i|0)==(m|0);j=b+4576|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]|0;e=m+2|0;f=a[e>>0]|0;o=o+(q*3|0)|0;q=a[o+1>>0]|0;t=a[o+2>>0]|0;o=d[o>>0]|0;h=o-(p&255)>>31|1;g=($((d[m>>0]|0)-o<<24,h)|0)>>24;s=b+4552|0;hg(b,s,g);p=q&255;q=p-(k&255)>>31|1;r=($((r&255)-p<<24,q)|0)>>24;hg(b,s,r);k=t&255;l=k-(l&255)>>31|1;f=($((f&255)-k<<24,l)|0)>>24;hg(b,s,f);p=($(r,q)|0)+p&255;b=($(f,l)|0)+k&255;a[m>>0]=($(g,h)|0)+o;a[n>>0]=p;a[e>>0]=b;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;b=i+1|0;return b|0}if(!f){t=m;return t|0}ae(b,1,1);t=m;return t|0}function gg(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&255|0)==(g|0))m=g;else m=g>>31&255^255;j=(e-m^q)-q<<24;l=j>>24;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;g=g^l;g=g>>30^g<<1;f=g>>h;if((f|0)<23){ae(a,1,f+1|0);ae(a,g&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-16777216?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}function hg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;ig(b,h,g,31-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function ig(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-8|0;if((e|0)<(d+-9|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-39|0)}else ae(a,1,f);ae(a,c+255&255,8);return}function jg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8900]|0;c[b+4588>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+256;j=b+168|0;g=b+164|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function kg(a){a=a|0;var b=0,d=0;c[a>>2]=35884;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function lg(a){a=a|0;var b=0,d=0;c[a>>2]=35884;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function mg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;wg(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function ng(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35660;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];pg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;pg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function pg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;u=i;i=i+32|0;w=u+12|0;t=u;r=b+180|0;s=(c[r>>2]|0)+4|0;if((c[b+32>>2]|0)==1)p=c[b+24>>2]|0;else p=1;d=$(p<<1,s)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,w|0),v=o,o=0,v&1):0))q=6;if((q|0)==6?(o=0,e=ka(67,d|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[x>>2]|0)+1|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!p)q=19;else{if(!(p>>>0>1073741823?(o=0,ha(178,t|0),n=o,o=0,n&1):0))q=17;if((q|0)==17?(f=p<<2,o=0,g=ka(67,f|0)|0,n=o,o=0,!(n&1)):0){c[t>>2]=g;q=g+(p<<2)|0;c[t+8>>2]=q;iw(g|0,0,f|0)|0;c[v>>2]=q;q=19;break}e=Na()|0;d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((q|0)==19){j=b+12|0;b:do{if((c[j>>2]|0)>0){k=b+4604|0;l=($(p,s)|0)+1|0;m=b+4608|0;n=b+92|0;h=b+4600|0;if((p|0)>0)g=0;else{f=0;while(1){e=c[w>>2]|0;d=e+1|0;c[k>>2]=d;e=e+l|0;c[m>>2]=e;if(!(f&1))d=e;else{c[k>>2]=e;c[m>>2]=d}p=c[n>>2]|0;o=0;Aa(c[(c[p>>2]|0)+12>>2]|0,p|0,d|0,c[r>>2]|0,s|0);p=o;o=0;if(p&1)break;f=f+1|0;if((f|0)>=(c[j>>2]|0)){q=45;break b}}e=Na()|0;break}c:while(1){e=c[w>>2]|0;d=e+1|0;c[k>>2]=d;e=e+l|0;c[m>>2]=e;if(!(g&1))d=e;else{c[k>>2]=e;c[m>>2]=d}q=c[n>>2]|0;o=0;Aa(c[(c[q>>2]|0)+12>>2]|0,q|0,d|0,c[r>>2]|0,s|0);q=o;o=0;if(q&1){q=28;break}d=c[t>>2]|0;e=c[k>>2]|0;f=0;do{c[h>>2]=c[d+(f<<2)>>2];q=c[r>>2]|0;a[e+q>>0]=a[e+(q+-1)>>0]|0;a[(c[m>>2]|0)+-1>>0]=a[c[k>>2]>>0]|0;o=0;ia(75,b|0,0);q=o;o=0;if(q&1){q=36;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[h>>2];e=(c[k>>2]|0)+s|0;c[k>>2]=e;c[m>>2]=(c[m>>2]|0)+s;f=f+1|0}while((f|0)<(p|0));g=g+1|0;if((g|0)>=(c[j>>2]|0)){q=45;break b}}if((q|0)==28){e=Na()|0;break}else if((q|0)==36){e=Na()|0;break}}else q=45}while(0);do{if((q|0)==45){o=0;ha(182,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return}}while(0);d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}function qg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4604|0;e=c[o>>2]|0;r=b+180|0;if((c[r>>2]|0)<=0)return;p=b+4608|0;q=b+4612|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(sg(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=rg(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function rg(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;vg(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&255;return r|0}r=g&~(d>>31);r=r&255;return r|0}function sg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=(c[b+180>>2]|0)-e|0;m=c[b+4608>>2]|0;n=c[b+4604>>2]|0;h=a[m+(e+-1)>>0]|0;k=h&255;f=b+144|0;i=0;while(1){g=m+(i+e)|0;j=(d[g>>0]|0)-k|0;if((((j|0)>-1?j:0-j|0)|0)>(c[f>>2]|0))break;a[g>>0]=h;i=i+1|0;if((i|0)==(l|0)){i=l;break}}h=(i|0)==(l|0);j=b+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]=tg(b,d[e>>0]|0,k,d[n+l>>0]|0)|0;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;b=i+1|0;return b|0}if(!f){b=l;return b|0}ae(b,1,1);b=l;return b|0}function tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=d-e|0;j=a+136|0;h=a+144|0;f=c[h>>2]|0;if((((i|0)>-1?i:0-i|0)|0)>(f|0)){g=e-d>>31|1;b=$(g,b-e|0)|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;d=((b|0)<0?f:0)+b|0;f=d-((d|0)<((f+1|0)/2|0|0)?0:f)|0;ug(a,a+4576|0,f);f=$(f,g)|0;g=c[h>>2]|0;h=g<<1|1;f=($(f,h)|0)+e|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&255;return j|0}j=b&~(f>>31);j=j&255;return j|0}else{b=b-d|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;g=((b|0)<0?f:0)+b|0;f=g-((g|0)<((f+1|0)/2|0|0)?0:f)|0;ug(a,a+4588|0,f);g=c[h>>2]|0;h=g<<1|1;f=($(h,f)|0)+d|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&255;return j|0}j=b&~(f>>31);j=j&255;return j|0}return 0}function ug(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;vg(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function xg(a){a=a|0;var b=0,d=0;c[a>>2]=35856;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function yg(a){a=a|0;var b=0,d=0;c[a>>2]=35856;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function zg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Ag(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;Lg(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function Bg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Cg(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Cg(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+172|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4596|0;k=$(y,x)|0;l=k+1|0;m=a+4600|0;n=(y|0)>0;p=a+160|0;q=a+168|0;r=a+164|0;s=a+156|0;t=a+88|0;u=a+4592|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(76,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Dg(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=d+4596|0;g=c[q>>2]|0;u=d+172|0;f=c[u>>2]|0;if((f|0)<=0)return;r=d+4600|0;s=d+4604|0;t=d+4592|0;l=g;j=e[g+-2>>1]|0;g=e[g>>1]|0;p=0;while(1){n=c[r>>2]|0;k=b[n+(p+-1<<1)>>1]|0;o=k&65535;i=p+1|0;h=e[l+(i<<1)>>1]|0;m=c[s>>2]|0;l=g-j|0;j=j-o|0;m=((((a[m+(h-g)>>0]|0)*9|0)+(a[m+l>>0]|0)|0)*9|0)+(a[m+j>>0]|0)|0;n=n+(p<<1)|0;if(!m){f=Gg(d,k,n,f-p|0)|0;g=f+p|0;if((g|0)!=(c[u>>2]|0)){o=Hg(d,o,e[(c[q>>2]|0)+(g<<1)>>1]|0)|0;b[(c[r>>2]|0)+(g<<1)>>1]=o;o=c[t>>2]|0;c[t>>2]=(o|0)<1?0:o+-1|0;f=f+1|0}i=f+p|0;h=c[q>>2]|0;g=e[h+(i+-1<<1)>>1]|0;h=e[h+(i<<1)>>1]|0}else{f=g-o>>31;if((f^j|0)<0)f=g;else f=o+((f^l|0)<0?0:l)|0;o=Fg(d,m,e[n>>1]|0,f,0)|0;b[(c[r>>2]|0)+(p<<1)>>1]=o}f=c[u>>2]|0;if((f|0)<=(i|0))break;l=c[q>>2]|0;j=g;g=h;p=i}return}function Eg(b){b=b|0;var d=0,e=0,f=0,g=0;f=b+116|0;e=c[f>>2]|0;if((a[e>>0]|0)!=-1){g=b+112|0;d=c[g>>2]|0;if((d|0)<1){ge(b);d=c[g>>2]|0;e=c[f>>2]|0}b=b+108|0;f=c[b>>2]|0;c[g>>2]=d+-1;d=f<<1;c[b>>2]=d;if((a[e>>0]|0)!=-1){d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,6,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}}else d=c[b+108>>2]|0;if(!d)return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,6,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}function Fg(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&65535;return d|0}d=f&~(h>>31);d=d&65535;return d|0}function Gg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4592|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=b-d|0;h=a+128|0;e=a+136|0;if((((g|0)>-1?g:0-g|0)|0)>(c[e>>2]|0)){b=$(Ig(a,a+4568|0)|0,d-b>>31|1)|0;f=c[e>>2]|0;g=f<<1|1;b=($(b,g)|0)+d|0;if((b|0)>=(0-f|0)){e=c[h>>2]|0;if((e+f|0)<(b|0))b=b-($(c[a+132>>2]|0,g)|0)|0}else{b=($(c[a+132>>2]|0,g)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&65535;return a|0}a=e&~(b>>31);a=a&65535;return a|0}else{d=Ig(a,a+4580|0)|0;g=c[e>>2]|0;f=g<<1|1;b=($(f,d)|0)+b|0;if((b|0)>=(0-g|0)){e=c[h>>2]|0;if((e+g|0)<(b|0))b=b-($(c[a+132>>2]|0,f)|0)|0}else{b=($(c[a+132>>2]|0,f)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&65535;return a|0}a=e&~(b>>31);a=a&65535;return a|0}return 0}function Ig(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function Jg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=a+112|0;if((c[g>>2]|0)<16)ge(a);h=a+108|0;d=c[h>>2]|0;if((d|0)>=0)if(!(d&1073741824))if(!(d&536870912))if(!(d&268435456))if(!(d&134217728))if(!(d&67108864))if(!(d&33554432))if(!(d&16777216))if(!(d&8388608))if(!(d&4194304))if(!(d&2097152))if(!(d&1048576))if(!(d&524288))if(!(d&262144))if(!(d&131072)){f=d>>>12&16;b=f+-1|0;if(!f){b=(c[g>>2]|0)+-15|0;c[g>>2]=b;e=d<<15;c[h>>2]=e;d=b;b=15;while(1){if((d|0)<1){ge(a);f=c[h>>2]|0;d=c[g>>2]|0}else f=e;d=d+-1|0;c[g>>2]=d;e=f<<1;c[h>>2]=e;if((f|0)<0)break;else b=b+1|0}return b|0}}else b=14;else b=13;else b=12;else b=11;else b=10;else b=9;else b=8;else b=7;else b=6;else b=5;else b=4;else b=3;else b=2;else b=1;else b=0;a=b+1|0;c[g>>2]=(c[g>>2]|0)-a;c[h>>2]=d<>2]|0;if((e|0)<(d|0)){ge(b);e=c[f>>2]|0;if((e|0)<(d|0)){e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);b=o;o=0;if(b&1){b=Na()|0;La(e|0);Ya(b|0)}else lb(e|0,824,96)}}g=b+108|0;b=c[g>>2]|0;c[f>>2]=e-d;c[g>>2]=b<>>(32-d|0)|0}function Lg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function Mg(a){a=a|0;var b=0,d=0;c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Ng(a){a=a|0;var b=0,d=0;c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Og(a){a=a|0;var b=0,d=0;c[a>>2]=35828;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Pg(a){a=a|0;var b=0,d=0;c[a>>2]=35828;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Qg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Rg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;Zg(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function Sg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Tg(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Tg(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+172|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!(d>>>0>715827882?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(o=0,e=ka(67,d*6|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;f=e+(d*6|0)|0;c[C+8>>2]=f;while(1){b[e>>1]=0;b[e+2>>1]=0;b[e+4>>1]=0;d=d+-1|0;if(!d)break;else e=e+6|0}c[D>>2]=f;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=20;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=18;if((j|0)==18?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=20;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==20){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4596|0;k=$(y,x)|0;l=k+1|0;m=a+4600|0;n=(y|0)>0;p=a+160|0;q=a+168|0;r=a+164|0;s=a+156|0;t=a+88|0;u=a+4592|0;v=0;b:while(1){f=c[C>>2]|0;e=f+6|0;c[j>>2]=e;f=f+(l*6|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*6|0)|0;e=e+((d+-1|0)*6|0)|0;b[g>>1]=b[e>>1]|0;b[g+2>>1]=b[e+2>>1]|0;b[g+4>>1]=b[e+4>>1]|0;g=(c[m>>2]|0)+-6|0;e=c[j>>2]|0;b[g>>1]=b[e>>1]|0;b[g+2>>1]=b[e+2>>1]|0;b[g+4>>1]=b[e+4>>1]|0;o=0;ia(77,a|0,0);g=o;o=0;if(g&1){j=31;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*6|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*6|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*6|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=32;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=44;break a}}if((j|0)==31){f=Na()|0;break}else if((j|0)==32){f=Na()|0;break}}else j=44}while(0);do{if((j|0)==44){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}function Ug(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=i;i=i+32|0;D=N+24|0;M=N+18|0;L=N+12|0;E=N+6|0;F=N;G=d+172|0;f=c[G>>2]|0;if((f|0)<=0){i=N;return}H=d+4600|0;I=d+4596|0;J=d+4604|0;K=d+4592|0;C=0;while(1){h=C+-1|0;j=c[H>>2]|0;O=c[I>>2]|0;g=C+1|0;k=e[O+(C*6|0)>>1]|0;B=c[J>>2]|0;l=e[O+(h*6|0)>>1]|0;m=k-l|0;n=e[j+(h*6|0)>>1]|0;o=l-n|0;p=((((a[B+((e[O+(g*6|0)>>1]|0)-k)>>0]|0)*9|0)+(a[B+m>>0]|0)|0)*9|0)+(a[B+o>>0]|0)|0;q=e[O+(C*6|0)+2>>1]|0;r=e[O+(h*6|0)+2>>1]|0;s=q-r|0;t=e[j+(h*6|0)+2>>1]|0;u=r-t|0;v=((((a[B+((e[O+(g*6|0)+2>>1]|0)-q)>>0]|0)*9|0)+(a[B+s>>0]|0)|0)*9|0)+(a[B+u>>0]|0)|0;w=e[O+(C*6|0)+4>>1]|0;x=e[O+(h*6|0)+4>>1]|0;y=w-x|0;z=e[j+(h*6|0)+4>>1]|0;A=x-z|0;B=((((a[B+((e[O+(g*6|0)+4>>1]|0)-w)>>0]|0)*9|0)+(a[B+y>>0]|0)|0)*9|0)+(a[B+A>>0]|0)|0;if(!(v|p|B)){g=j+(h*6|0)|0;b[L>>1]=b[g>>1]|0;b[L+2>>1]=b[g+2>>1]|0;b[L+4>>1]=b[g+4>>1]|0;b[D>>1]=b[g>>1]|0;b[D+2>>1]=b[g+2>>1]|0;b[D+4>>1]=b[g+4>>1]|0;f=Vg(d,D,j+(C*6|0)|0,f-C|0)|0;g=f+C|0;if((g|0)!=(c[G>>2]|0)){O=(c[I>>2]|0)+(g*6|0)|0;b[F>>1]=b[O>>1]|0;b[F+2>>1]=b[O+2>>1]|0;b[F+4>>1]=b[O+4>>1]|0;O=(c[H>>2]|0)+(g*6|0)|0;b[M>>1]=b[L>>1]|0;b[M+2>>1]=b[L+2>>1]|0;b[M+4>>1]=b[L+4>>1]|0;b[D>>1]=b[F>>1]|0;b[D+2>>1]=b[F+2>>1]|0;b[D+4>>1]=b[F+4>>1]|0;Wg(E,d,M,D);b[O>>1]=b[E>>1]|0;b[O+2>>1]=b[E+2>>1]|0;b[O+4>>1]=b[E+4>>1]|0;O=c[K>>2]|0;c[K>>2]=(O|0)<1?0:O+-1|0;f=f+1|0}g=f+C|0}else{h=e[j+(C*6|0)>>1]|0;f=k-n>>31;if((f^o|0)>=0)if((f^m|0)<0)f=n;else f=n-l+k|0;else f=k;k=Xg(d,p,h,f,0)|0;h=e[(c[H>>2]|0)+(C*6|0)+2>>1]|0;f=q-t>>31;if((f^u|0)>=0)if((f^s|0)<0)f=t;else f=t-r+q|0;else f=q;h=Xg(d,v,h,f,0)|0;j=e[(c[H>>2]|0)+(C*6|0)+4>>1]|0;f=w-z>>31;if((f^A|0)>=0)if((f^y|0)<0)f=z;else f=z-x+w|0;else f=w;B=Xg(d,B,j,f,0)|0;O=c[H>>2]|0;b[O+(C*6|0)>>1]=k;b[O+(C*6|0)+2>>1]=h;b[O+(C*6|0)+4>>1]=B}f=c[G>>2]|0;if((g|0)>=(f|0))break;else C=g}i=N;return}function Vg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4592|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)<=0)return h|0;i=0;do{r=f+(i*6|0)|0;b[r>>1]=b[e>>1]|0;b[r+2>>1]=b[e+2>>1]|0;b[r+4>>1]=b[e+4>>1]|0;i=i+1|0}while((i|0)!=(h|0));return h|0}function Wg(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=d+4568|0;o=Yg(d,l)|0;j=Yg(d,l)|0;l=Yg(d,l)|0;i=d+128|0;h=e[g>>1]|0;m=c[d+136>>2]|0;n=m<<1|1;h=($($(n,o)|0,h-(e[f>>1]|0)>>31|1)|0)+h|0;o=0-m|0;if((h|0)>=(o|0)){i=c[i>>2]|0;if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else{h=($(c[d+132>>2]|0,n)|0)+h|0;i=c[i>>2]|0}if((h&i|0)!=(h|0))h=i&~(h>>31);k=h&65535;h=e[g+2>>1]|0;h=($($(n,j)|0,h-(e[f+2>>1]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else h=($(c[d+132>>2]|0,n)|0)+h|0;if((h&i|0)!=(h|0))h=i&~(h>>31);j=h&65535;h=e[g+4>>1]|0;h=($($(n,l)|0,h-(e[f+4>>1]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else h=($(c[d+132>>2]|0,n)|0)+h|0;if((h&i|0)==(h|0)){d=h;d=d&65535;b[a>>1]=k;o=a+2|0;b[o>>1]=j;a=a+4|0;b[a>>1]=d;return}d=i&~(h>>31);d=d&65535;b[a>>1]=k;o=a+2|0;b[o>>1]=j;a=a+4|0;b[a>>1]=d;return}function Xg(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&65535;return d|0}d=f&~(h>>31);d=d&65535;return d|0}function Yg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function Zg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function _g(a){a=a|0;var b=0,d=0;c[a>>2]=35800;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function $g(a){a=a|0;var b=0,d=0;c[a>>2]=35800;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ah(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function bh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;jh(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function ch(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);dh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function dh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=b+172|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[D>>2]|0)+3|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){h=b+8|0;b:do{if((c[h>>2]|0)>0){j=b+4596|0;k=$(y,x)|0;l=k+1|0;m=b+4600|0;n=(y|0)>0;p=b+160|0;q=b+168|0;r=b+164|0;s=b+156|0;t=b+88|0;u=b+4592|0;v=0;c:while(1){f=c[C>>2]|0;e=f+3|0;c[j>>2]=e;f=f+(l*3|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*3|0)|0;e=e+((d+-1|0)*3|0)|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;e=c[j>>2]|0;g=(c[m>>2]|0)+-3|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;o=0;ia(78,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*3|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*3|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*3|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){f=Na()|0;break}else if((h|0)==31){f=Na()|0;break}}else h=43}while(0);do{if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function eh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=i;i=i+16|0;C=M+12|0;L=M+9|0;K=M+6|0;D=M+3|0;E=M;F=b+172|0;e=c[F>>2]|0;if((e|0)<=0){i=M;return}G=b+4600|0;H=b+4596|0;I=b+4604|0;J=b+4592|0;B=0;while(1){y=B+-1|0;g=c[G>>2]|0;h=g+(y*3|0)|0;N=c[H>>2]|0;f=B+1|0;j=d[N+(B*3|0)>>0]|0;A=c[I>>2]|0;k=d[N+(y*3|0)>>0]|0;l=j-k|0;m=d[h>>0]|0;n=k-m|0;o=((((a[A+((d[N+(f*3|0)>>0]|0)-j)>>0]|0)*9|0)+(a[A+l>>0]|0)|0)*9|0)+(a[A+n>>0]|0)|0;p=d[N+(B*3|0)+1>>0]|0;q=d[N+(y*3|0)+1>>0]|0;r=p-q|0;s=d[g+(y*3|0)+1>>0]|0;t=q-s|0;u=((((a[A+((d[N+(f*3|0)+1>>0]|0)-p)>>0]|0)*9|0)+(a[A+r>>0]|0)|0)*9|0)+(a[A+t>>0]|0)|0;v=d[N+(B*3|0)+2>>0]|0;w=d[N+(y*3|0)+2>>0]|0;x=v-w|0;y=d[g+(y*3|0)+2>>0]|0;z=w-y|0;A=((((a[A+((d[N+(f*3|0)+2>>0]|0)-v)>>0]|0)*9|0)+(a[A+x>>0]|0)|0)*9|0)+(a[A+z>>0]|0)|0;if(!(u|o|A)){a[K>>0]=a[h>>0]|0;a[K+1>>0]=a[h+1>>0]|0;a[K+2>>0]=a[h+2>>0]|0;a[C>>0]=a[h>>0]|0;a[C+1>>0]=a[h+1>>0]|0;a[C+2>>0]=a[h+2>>0]|0;e=fh(b,C,g+(B*3|0)|0,e-B|0)|0;f=e+B|0;if((f|0)!=(c[F>>2]|0)){N=(c[H>>2]|0)+(f*3|0)|0;a[E>>0]=a[N>>0]|0;a[E+1>>0]=a[N+1>>0]|0;a[E+2>>0]=a[N+2>>0]|0;N=c[G>>2]|0;a[L>>0]=a[K>>0]|0;a[L+1>>0]=a[K+1>>0]|0;a[L+2>>0]=a[K+2>>0]|0;a[C>>0]=a[E>>0]|0;a[C+1>>0]=a[E+1>>0]|0;a[C+2>>0]=a[E+2>>0]|0;gh(D,b,L,C);N=N+(f*3|0)|0;a[N>>0]=a[D>>0]|0;a[N+1>>0]=a[D+1>>0]|0;a[N+2>>0]=a[D+2>>0]|0;N=c[J>>2]|0;c[J>>2]=(N|0)<1?0:N+-1|0;e=e+1|0}f=e+B|0}else{g=d[g+(B*3|0)>>0]|0;e=j-m>>31;if((e^n|0)>=0)if((e^l|0)<0)e=m;else e=m-k+j|0;else e=j;j=hh(b,o,g,e,0)|0;g=d[(c[G>>2]|0)+(B*3|0)+1>>0]|0;e=p-s>>31;if((e^t|0)>=0)if((e^r|0)<0)e=s;else e=s-q+p|0;else e=p;g=hh(b,u,g,e,0)|0;h=d[(c[G>>2]|0)+(B*3|0)+2>>0]|0;e=v-y>>31;if((e^z|0)>=0)if((e^x|0)<0)e=y;else e=y-w+v|0;else e=v;A=hh(b,A,h,e,0)|0;N=(c[G>>2]|0)+(B*3|0)|0;a[N>>0]=j;a[N+1>>0]=g;a[N+2>>0]=A}e=c[F>>2]|0;if((f|0)>=(e|0))break;else B=f}i=M;return}function fh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4592|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;h=0;do{q=e+(h*3|0)|0;a[q>>0]=a[d>>0]|0;a[q+1>>0]=a[d+1>>0]|0;a[q+2>>0]=a[d+2>>0]|0;h=h+1|0}while((h|0)!=(g|0));return g|0}function gh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=e+4568|0;o=ih(e,l)|0;j=ih(e,l)|0;l=ih(e,l)|0;i=e+128|0;h=d[g>>0]|0;m=c[e+136>>2]|0;n=m<<1|1;h=($($(n,o)|0,h-(d[f>>0]|0)>>31|1)|0)+h|0;o=0-m|0;if((h|0)>=(o|0)){i=c[i>>2]|0;if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else{h=($(c[e+132>>2]|0,n)|0)+h|0;i=c[i>>2]|0}if((h&i|0)!=(h|0))h=i&~(h>>31);k=h&255;h=d[g+1>>0]|0;h=($($(n,j)|0,h-(d[f+1>>0]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else h=($(c[e+132>>2]|0,n)|0)+h|0;if((h&i|0)!=(h|0))h=i&~(h>>31);j=h&255;h=d[g+2>>0]|0;h=($($(n,l)|0,h-(d[f+2>>0]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else h=($(c[e+132>>2]|0,n)|0)+h|0;if((h&i|0)==(h|0)){e=h;e=e&255;a[b>>0]=k;o=b+1|0;a[o>>0]=j;b=b+2|0;a[b>>0]=e;return}e=i&~(h>>31);e=e&255;a[b>>0]=k;o=b+1|0;a[o>>0]=j;b=b+2|0;a[b>>0]=e;return}function hh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&255;return d|0}d=f&~(h>>31);d=d&255;return d|0}function ih(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function jh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function kh(a){a=a|0;var b=0,d=0;c[a>>2]=35772;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function lh(a){a=a|0;var b=0,d=0;c[a>>2]=35772;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function mh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function nh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,65535,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;vh(d);g=0;do{c[d+164+(g*12|0)>>2]=1024;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=1024;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=1024;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function oh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);ph(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function ph(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+148|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4572|0;k=$(y,x)|0;l=k+1|0;m=a+4576|0;n=(y|0)>0;p=a+136|0;q=a+144|0;r=a+140|0;s=a+132|0;t=a+88|0;u=a+4568|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(79,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function qh(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4572|0;f=c[p>>2]|0;s=d+148|0;if((c[s>>2]|0)<=0)return;q=d+4576|0;r=d+4580|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(sh(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=rh(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function rh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&65535|0)!=(f|0))f=f>>31&65535^65535;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<47){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}function sh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4576|0;h=c[i>>2]|0;f=b[h+(d+-1<<1)>>1]|0;j=a+148|0;h=th(a,f,h+(d<<1)|0,(c[j>>2]|0)-d|0)|0;g=h+d|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&65535;d=e[(c[a+4572>>2]|0)+(g<<1)>>1]|0;j=f-d|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(uh(a,a+4556|0)|0)+f|0;else f=($(uh(a,a+4544|0)|0,d-f>>31|1)|0)+d|0;b[(c[i>>2]|0)+(g<<1)>>1]=f;j=a+4568|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;j=h+1|0;return j|0}function th(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4568|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function uh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(46-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,16)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function vh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,65535,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8909]|0;c[b+4580>>2]=l+(((c[8910]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=131072){if(h>>>0>131072?(j=d+131072|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,131072-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+65536;j=b+160|0;g=b+156|0;h=-65536;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==65536)break}i=m;return}function wh(a){a=a|0;var b=0,d=0;c[a>>2]=35744;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function xh(a){a=a|0;var b=0,d=0;c[a>>2]=35744;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function yh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function zh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,4095,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;Hh(d);g=0;do{c[d+164+(g*12|0)>>2]=64;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=64;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=64;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Ah(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Bh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Bh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+148|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4572|0;k=$(y,x)|0;l=k+1|0;m=a+4576|0;n=(y|0)>0;p=a+136|0;q=a+144|0;r=a+140|0;s=a+132|0;t=a+88|0;u=a+4568|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(80,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Ch(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4572|0;f=c[p>>2]|0;s=d+148|0;if((c[s>>2]|0)<=0)return;q=d+4576|0;r=d+4580|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(Eh(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=Dh(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function Dh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&4095|0)!=(f|0))f=f>>31&4095^4095;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<35){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}function Eh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4576|0;h=c[i>>2]|0;f=b[h+(d+-1<<1)>>1]|0;j=a+148|0;h=Fh(a,f,h+(d<<1)|0,(c[j>>2]|0)-d|0)|0;g=h+d|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&65535;d=e[(c[a+4572>>2]|0)+(g<<1)>>1]|0;j=f-d|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(Gh(a,a+4556|0)|0)+f|0;else f=($(Gh(a,a+4544|0)|0,d-f>>31|1)|0)+d|0;b[(c[i>>2]|0)+(g<<1)>>1]=f&4095;j=a+4568|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;j=h+1|0;return j|0}function Fh(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4568|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function Gh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(34-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,12)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function Hh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,4095,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8906]|0;c[b+4580>>2]=l+(((c[8907]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=8192){if(h>>>0>8192?(j=d+8192|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,8192-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+4096;j=b+160|0;g=b+156|0;h=-4096;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==4096)break}i=m;return}function Ih(a){a=a|0;var b=0,d=0;c[a>>2]=35716;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Jh(a){a=a|0;var b=0,d=0;c[a>>2]=35716;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Kh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Lh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;Th(d);g=0;do{c[d+164+(g*12|0)>>2]=4;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=4;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=4;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Mh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Nh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Nh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=b+148|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[D>>2]|0)+1|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}e=Na()|0;d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){h=b+8|0;b:do{if((c[h>>2]|0)>0){j=b+4572|0;k=$(y,x)|0;l=k+1|0;m=b+4576|0;n=(y|0)>0;p=b+136|0;q=b+144|0;r=b+140|0;s=b+132|0;t=b+88|0;u=b+4568|0;v=0;c:while(1){f=c[C>>2]|0;e=f+1|0;c[j>>2]=e;f=f+l|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;a[e+g>>0]=a[e+(g+-1)>>0]|0;a[(c[m>>2]|0)+-1>>0]=a[c[j>>2]>>0]|0;o=0;ia(81,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+x|0;c[j>>2]=e;d=(c[m>>2]|0)+x|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){e=Na()|0;break}else if((h|0)==31){e=Na()|0;break}}else h=43}while(0);do{if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);i=A;return}}while(0);d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}function Oh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4572|0;e=c[o>>2]|0;r=b+148|0;if((c[r>>2]|0)<=0)return;p=b+4576|0;q=b+4580|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(Qh(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=Ph(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function Ph(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&255|0)!=(f|0))f=f>>31&255^255;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<23){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}function Qh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=b+4576|0;h=c[i>>2]|0;f=a[h+(e+-1)>>0]|0;j=b+148|0;h=Rh(b,f,h+e|0,(c[j>>2]|0)-e|0)|0;g=h+e|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&255;e=d[(c[b+4572>>2]|0)+g>>0]|0;j=f-e|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(Sh(b,b+4556|0)|0)+f|0;else f=($(Sh(b,b+4544|0)|0,e-f>>31|1)|0)+e|0;a[(c[i>>2]|0)+g>>0]=f;j=b+4568|0;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;j=h+1|0;return j|0}function Rh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4568|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;iw(e|0,d|0,g|0)|0;return g|0}function Sh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(22-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,8)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function Th(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8900]|0;c[b+4580>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+256;j=b+160|0;g=b+156|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function Uh(a){a=a|0;var b=0,d=0;c[a>>2]=35688;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Vh(a){a=a|0;var b=0,d=0;c[a>>2]=35688;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Wh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Xh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;di(d);g=0;do{c[d+164+(g*12|0)>>2]=4;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=4;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=4;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Yh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Zh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Zh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=b+148|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[D>>2]|0)+3|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){h=b+8|0;b:do{if((c[h>>2]|0)>0){j=b+4572|0;k=$(y,x)|0;l=k+1|0;m=b+4576|0;n=(y|0)>0;p=b+136|0;q=b+144|0;r=b+140|0;s=b+132|0;t=b+88|0;u=b+4568|0;v=0;c:while(1){f=c[C>>2]|0;e=f+3|0;c[j>>2]=e;f=f+(l*3|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*3|0)|0;e=e+((d+-1|0)*3|0)|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;e=c[j>>2]|0;g=(c[m>>2]|0)+-3|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;o=0;ia(82,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*3|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*3|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*3|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){f=Na()|0;break}else if((h|0)==31){f=Na()|0;break}}else h=43}while(0);do{if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function _h(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+148|0;if((c[A>>2]|0)<=0)return;B=b+4576|0;C=b+4572|0;D=b+4580|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=($h(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=ai(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=ai(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=ai(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function $h(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=i;i=i+16|0;n=l+3|0;o=l;h=b+4576|0;e=c[h>>2]|0;f=e+((d+-1|0)*3|0)|0;j=a[f>>0]|0;k=a[f+1>>0]|0;f=a[f+2>>0]|0;a[o>>0]=j;a[o+1>>0]=k;a[o+2>>0]=f;m=b+148|0;g=(c[m>>2]|0)-d|0;a[n>>0]=a[o>>0]|0;a[n+1>>0]=a[o+1>>0]|0;a[n+2>>0]=a[o+2>>0]|0;g=bi(b,n,e+(d*3|0)|0,g)|0;e=g+d|0;if((e|0)==(c[m>>2]|0)){o=g;i=l;return o|0}n=(c[b+4572>>2]|0)+(e*3|0)|0;d=a[n>>0]|0;m=a[n+1>>0]|0;n=a[n+2>>0]|0;o=c[h>>2]|0;p=b+4544|0;h=ci(b,p)|0;q=ci(b,p)|0;d=d&255;m=m&255;m=($(m-(k&255)>>31|1,q)|0)+m&255;n=n&255;n=($(n-(f&255)>>31|1,ci(b,p)|0)|0)+n&255;o=o+(e*3|0)|0;a[o>>0]=($(d-(j&255)>>31|1,h)|0)+d;a[o+1>>0]=m;a[o+2>>0]=n;o=b+4568|0;n=c[o>>2]|0;c[o>>2]=(n|0)<1?0:n+-1|0;o=g+1|0;i=l;return o|0}function ai(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&255|0)!=(f|0))f=f>>31&255^255;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<23){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}function bi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4568|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;h=0;do{q=e+(h*3|0)|0;a[q>>0]=a[d>>0]|0;a[q+1>>0]=a[d+1>>0]|0;a[q+2>>0]=a[d+2>>0]|0;h=h+1|0}while((h|0)!=(g|0));return g|0}function ci(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(22-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,8)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function Lp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+128|0;h=n;q=n+116|0;r=n+104|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,0,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(3,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=Uu(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function Mp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+240|0;h=n+8|0;a=n;q=n+204|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,0,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,23,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(3,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=Uu(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function Np(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+352|0;u=z+312|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+316|0;t=z+80|0;k=z+84|0;y=z+76|0;x=z+72|0;v=z+68|0;w=z+64|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58898,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,c[q>>2]=c[d+8>>2],h[q+8>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<3)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(4,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(40,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Op(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+16|0;z=y;x=Is(j,44212)|0;v=Is(j,44368)|0;Cb[c[(c[v>>2]|0)+20>>2]&127](z,v);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,j|0)|0;w=o;o=0;if(w&1)u=8;else{m=c[h>>2]|0;c[h>>2]=m+4;c[m>>2]=j;m=b+1|0;u=10}break}default:{m=b;u=10}}a:do{if((u|0)==10){w=e;b:do{if((w-m|0)>1?(a[m>>0]|0)==48:0){k=m+1|0;switch(a[k>>0]|0){case 88:case 120:break;default:{u=11;break b}}o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,48)|0;t=o;o=0;if(t&1){u=8;break a}t=c[h>>2]|0;c[h>>2]=t+4;c[t>>2]=j;m=m+2|0;o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,a[k>>0]|0)|0;t=o;o=0;if(t&1){u=8;break a}t=c[h>>2]|0;c[h>>2]=t+4;c[t>>2]=j;if(m>>>0>>0){j=m;while(1){k=a[j>>0]|0;o=0;l=ua(3)|0;t=o;o=0;if(t&1)break;o=0;k=ra(39,k<<24>>24|0,l|0)|0;t=o;o=0;if(t&1)break;if(!k){t=m;break b}j=j+1|0;if(j>>>0>=e>>>0){t=m;break b}}j=Na()|0;break a}else{t=m;j=m}}else u=11}while(0);c:do{if((u|0)==11)if(m>>>0>>0){j=m;while(1){k=a[j>>0]|0;o=0;l=ua(3)|0;t=o;o=0;if(t&1)break;o=0;k=ra(40,k<<24>>24|0,l|0)|0;t=o;o=0;if(t&1)break;if(!k){t=m;break c}j=j+1|0;if(j>>>0>=e>>>0){t=m;break c}}j=Na()|0;break a}else{t=m;j=m}}while(0);r=a[z>>0]|0;s=z+4|0;if(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0){if((t|0)!=(j|0)?(n=j+-1|0,t>>>0>>0):0){l=t;k=n;do{r=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=r;l=l+1|0;k=k+-1|0}while(l>>>0>>0)}o=0;n=ka(c[(c[v>>2]|0)+16>>2]|0,v|0)|0;r=o;o=0;if(r&1){u=8;break}p=z+8|0;q=z+1|0;d:do{if(t>>>0>>0){k=0;l=0;r=t;while(1){m=a[((a[z>>0]&1)==0?q:c[p>>2]|0)+l>>0]|0;if(m<<24>>24>0&(k|0)==(m<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=n;k=a[z>>0]|0;m=0;l=(l>>>0<(((k&1)==0?(k&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+l|0}else m=k;o=0;k=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,a[r>>0]|0)|0;A=o;o=0;if(A&1)break;A=c[h>>2]|0;c[h>>2]=A+4;c[A>>2]=k;r=r+1|0;if(r>>>0>=j>>>0)break d;else k=m+1|0}j=Na()|0;break a}}while(0);k=f+(t-b<<2)|0;m=c[h>>2]|0;if((k|0)!=(m|0)){l=m+-4|0;if(k>>>0>>0){do{A=c[k>>2]|0;c[k>>2]=c[l>>2];c[l>>2]=A;k=k+4|0;l=l+-4|0}while(k>>>0>>0);n=x;k=m}else{n=x;k=m}}else n=x}else{o=0;va(c[(c[x>>2]|0)+48>>2]|0,x|0,t|0,j|0,c[h>>2]|0)|0;A=o;o=0;if(A&1){u=8;break}k=(c[h>>2]|0)+(j-t<<2)|0;c[h>>2]=k;n=x}e:do{if(j>>>0>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46){l=j;break}o=0;l=ra(c[(c[n>>2]|0)+44>>2]|0,x|0,k|0)|0;A=o;o=0;if(A&1){u=4;break}A=c[h>>2]|0;k=A+4|0;c[h>>2]=k;c[A>>2]=l;j=j+1|0;if(j>>>0>=e>>>0)break e}if((u|0)==4){j=Na()|0;break a}o=0;j=ka(c[(c[v>>2]|0)+12>>2]|0,v|0)|0;A=o;o=0;if(A&1){u=8;break a}A=c[h>>2]|0;k=A+4|0;c[h>>2]=k;c[A>>2]=j;j=l+1|0}}while(0);o=0;va(c[(c[x>>2]|0)+48>>2]|0,x|0,j|0,e|0,k|0)|0;A=o;o=0;if(A&1)u=8;else{A=(c[h>>2]|0)+(w-j<<2)|0;c[h>>2]=A;c[g>>2]=(d|0)==(e|0)?A:f+(d-b<<2)|0;Im(z);i=y;return}}}while(0);if((u|0)==8)j=Na()|0;Im(z);Ya(j|0)}function Pp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+352|0;u=z+304|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+308|0;t=z+72|0;k=z+76|0;y=z+68|0;x=z+64|0;v=z+60|0;w=z+56|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58899,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,h[q>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<3)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(4,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(40,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Qp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+192|0;l=q;b=q+180|0;n=q+160|0;p=q+12|0;k=q+8|0;m=q+4|0;a[b>>0]=a[58901]|0;a[b+1>>0]=a[58902]|0;a[b+2>>0]=a[58903]|0;a[b+3>>0]=a[58904]|0;a[b+4>>0]=a[58905]|0;a[b+5>>0]=a[58906]|0;h=Xo()|0;c[l>>2]=g;b=Su(n,20,h,b,l)|0;g=n+b|0;h=vp(n,g,e)|0;j=jn(e)|0;c[k>>2]=j;o=0;k=ra(37,k|0,44212)|0;r=o;o=0;if(r&1){r=Na()|0;pm(j)|0;Ya(r|0)}else{pm(j)|0;Pb[c[(c[k>>2]|0)+48>>2]&31](k,n,g,p)|0;r=p+(b<<2)|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];r=Uu(l,p,(h|0)==(g|0)?r:p+(h-n<<2)|0,r,e,f)|0;i=q;return r|0}return 0}function Rp(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+32|0;w=C+16|0;v=C+12|0;z=C+8|0;x=C+4|0;y=C;n=jn(h)|0;c[z>>2]=n;o=0;z=ra(37,z|0,44220)|0;u=o;o=0;if(u&1){C=Na()|0;pm(n)|0;Ya(C|0)}pm(n)|0;c[j>>2]=0;u=z+8|0;n=c[f>>2]|0;a:do{if((l|0)!=(m|0)){b:while(1){p=n;if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0;p=0}}else n=0;s=(n|0)==0;r=c[g>>2]|0;q=r;do{if(r){if((c[r+12>>2]|0)==(c[r+16>>2]|0)?(Eb[c[(c[r>>2]|0)+36>>2]&127](r)|0)==-1:0){c[g>>2]=0;q=0;B=12;break}if(!s){B=13;break b}}else B=12}while(0);if((B|0)==12){B=0;if(s){B=13;break}else r=0}c:do{if((Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[l>>0]|0,0)|0)<<24>>24==37){r=l+1|0;if((r|0)==(m|0)){B=17;break b}t=Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[r>>0]|0,0)|0;switch(t<<24>>24){case 48:case 69:{s=l+2|0;if((s|0)==(m|0)){B=20;break b}l=r;r=Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[s>>0]|0,0)|0;n=t;break}default:{r=t;n=0}}t=c[(c[e>>2]|0)+36>>2]|0;c[x>>2]=p;c[y>>2]=q;c[v>>2]=c[x>>2];c[w>>2]=c[y>>2];c[f>>2]=Sb[t&15](e,v,w,h,j,k,r,n)|0;l=l+2|0}else{p=a[l>>0]|0;if(p<<24>>24>-1?(A=c[u>>2]|0,(b[A+(p<<24>>24<<1)>>1]&8192)!=0):0){do{l=l+1|0;if((l|0)==(m|0)){l=m;break}p=a[l>>0]|0;if(p<<24>>24<=-1)break}while((b[A+(p<<24>>24<<1)>>1]&8192)!=0);p=r;while(1){if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;q=(n|0)==0;do{if(r){if((c[r+12>>2]|0)!=(c[r+16>>2]|0))if(q){t=p;break}else break c;if((Eb[c[(c[r>>2]|0)+36>>2]&127](r)|0)!=-1)if(q^(p|0)==0){t=p;r=p;break}else break c;else{c[g>>2]=0;p=0;B=39;break}}else B=39}while(0);if((B|0)==39){B=0;if(q)break c;else{t=p;r=0}}q=n+12|0;p=c[q>>2]|0;s=n+16|0;if((p|0)==(c[s>>2]|0))p=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else p=d[p>>0]|0;if((p&255)<<24>>24<=-1)break c;if(!(b[(c[u>>2]|0)+(p<<24>>24<<1)>>1]&8192))break c;p=c[q>>2]|0;if((p|0)==(c[s>>2]|0)){Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;p=t;continue}else{c[q>>2]=p+1;p=t;continue}}}q=n+12|0;p=c[q>>2]|0;r=n+16|0;if((p|0)==(c[r>>2]|0))p=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else p=d[p>>0]|0;t=Lb[c[(c[z>>2]|0)+12>>2]&63](z,p&255)|0;if(t<<24>>24!=(Lb[c[(c[z>>2]|0)+12>>2]&63](z,a[l>>0]|0)|0)<<24>>24){B=57;break b}p=c[q>>2]|0;if((p|0)==(c[r>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else c[q>>2]=p+1;l=l+1|0}}while(0);n=c[f>>2]|0;if(!((l|0)!=(m|0)&(c[j>>2]|0)==0))break a}if((B|0)==13){c[j>>2]=4;break}else if((B|0)==17){c[j>>2]=4;break}else if((B|0)==20){c[j>>2]=4;break}else if((B|0)==57){c[j>>2]=4;n=c[f>>2]|0;break}}}while(0);if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;l=(n|0)==0;p=c[g>>2]|0;do{if(p){if((c[p+12>>2]|0)==(c[p+16>>2]|0)?(Eb[c[(c[p>>2]|0)+36>>2]&127](p)|0)==-1:0){c[g>>2]=0;B=67;break}if(!l)B=68}else B=67}while(0);if((B|0)==67?l:0)B=68;if((B|0)==68)c[j>>2]=c[j>>2]|2;i=C;return n|0}function Sp(a){a=a|0;return}function Tp(a){a=a|0;cj(a);return}function Up(a){a=a|0;return 2}function Vp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Rp(a,k,j,e,f,g,58907,58915)|0;i=h;return a|0}function Wp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;o=b+8|0;o=Eb[c[(c[o>>2]|0)+20>>2]&127](o)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];e=a[o>>0]|0;p=(e&1)==0;d=p?o+1|0:c[o+8>>2]|0;e=d+(p?(e&255)>>>1:c[o+4>>2]|0)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=Rp(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function Xp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];Yp(a,g+24|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function Yp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[c[a>>2]>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(xu(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function Zp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];_p(a,g+16|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function _p(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(xu(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function $p(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];aq(a,g+20|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function aq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function bq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;U=i;i=i+144|0;l=U+132|0;k=U+116|0;N=U+128|0;x=U+124|0;I=U+120|0;O=U+112|0;P=U+108|0;Q=U+104|0;R=U+100|0;S=U+96|0;T=U+92|0;m=U+88|0;n=U+84|0;p=U+80|0;q=U+76|0;r=U+72|0;s=U+68|0;t=U+64|0;u=U+60|0;v=U+56|0;w=U+52|0;y=U+48|0;z=U+44|0;A=U+40|0;B=U+36|0;C=U+32|0;D=U+28|0;E=U+24|0;F=U+20|0;G=U+16|0;H=U+12|0;J=U+8|0;K=U+4|0;L=U;c[g>>2]=0;M=jn(f)|0;c[N>>2]=M;o=0;N=ra(37,N|0,44220)|0;W=o;o=0;if(W&1){W=Na()|0;pm(M)|0;Ya(W|0)}pm(M)|0;do{switch(j<<24>>24|0){case 65:case 97:{c[x>>2]=c[e>>2];c[l>>2]=c[x>>2];Yp(b,h+24|0,d,l,g,N);V=28;break}case 104:case 66:case 98:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];_p(b,h+16|0,d,l,g,N);V=28;break}case 99:{V=b+8|0;V=Eb[c[(c[V>>2]|0)+12>>2]&127](V)|0;c[O>>2]=c[d>>2];c[P>>2]=c[e>>2];j=a[V>>0]|0;e=(j&1)==0;W=e?V+1|0:c[V+8>>2]|0;V=W+(e?(j&255)>>>1:c[V+4>>2]|0)|0;c[k>>2]=c[O>>2];c[l>>2]=c[P>>2];c[d>>2]=Rp(b,k,l,f,g,h,W,V)|0;V=28;break}case 101:case 100:{c[Q>>2]=c[e>>2];c[l>>2]=c[Q>>2];cq(b,h+12|0,d,l,g,N);V=28;break}case 68:{c[R>>2]=c[d>>2];c[S>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[S>>2];c[d>>2]=Rp(b,k,l,f,g,h,58915,58923)|0;V=28;break}case 70:{c[T>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[T>>2];c[l>>2]=c[m>>2];c[d>>2]=Rp(b,k,l,f,g,h,58923,58931)|0;V=28;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];dq(b,h+8|0,d,l,g,N);V=28;break}case 73:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];eq(b,h+8|0,d,l,g,N);V=28;break}case 106:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];fq(b,h+28|0,d,l,g,N);V=28;break}case 109:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];gq(b,h+16|0,d,l,g,N);V=28;break}case 77:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];hq(b,h+4|0,d,l,g,N);V=28;break}case 116:case 110:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];iq(b,d,l,g,N);V=28;break}case 112:{c[u>>2]=c[e>>2];c[l>>2]=c[u>>2];jq(b,h+8|0,d,l,g,N);V=28;break}case 114:{c[v>>2]=c[d>>2];c[w>>2]=c[e>>2];c[k>>2]=c[v>>2];c[l>>2]=c[w>>2];c[d>>2]=Rp(b,k,l,f,g,h,58931,58942)|0;V=28;break}case 82:{c[y>>2]=c[d>>2];c[z>>2]=c[e>>2];c[k>>2]=c[y>>2];c[l>>2]=c[z>>2];c[d>>2]=Rp(b,k,l,f,g,h,58942,58947)|0;V=28;break}case 83:{c[A>>2]=c[e>>2];c[l>>2]=c[A>>2];kq(b,h,d,l,g,N);V=28;break}case 84:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[k>>2]=c[B>>2];c[l>>2]=c[C>>2];c[d>>2]=Rp(b,k,l,f,g,h,58947,58955)|0;V=28;break}case 119:{c[D>>2]=c[e>>2];c[l>>2]=c[D>>2];lq(b,h+24|0,d,l,g,N);V=28;break}case 120:{W=c[(c[b>>2]|0)+20>>2]|0;c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[k>>2]=c[E>>2];c[l>>2]=c[F>>2];k=Db[W&63](b,k,l,f,g,h)|0;break}case 88:{V=b+8|0;V=Eb[c[(c[V>>2]|0)+24>>2]&127](V)|0;c[G>>2]=c[d>>2];c[H>>2]=c[e>>2];j=a[V>>0]|0;e=(j&1)==0;W=e?V+1|0:c[V+8>>2]|0;V=W+(e?(j&255)>>>1:c[V+4>>2]|0)|0;c[k>>2]=c[G>>2];c[l>>2]=c[H>>2];c[d>>2]=Rp(b,k,l,f,g,h,W,V)|0;V=28;break}case 121:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];aq(b,h+20|0,d,l,g,N);V=28;break}case 89:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];mq(b,h+20|0,d,l,g,N);V=28;break}case 37:{c[L>>2]=c[e>>2];c[l>>2]=c[L>>2];nq(b,d,l,g,N);V=28;break}default:{c[g>>2]=c[g>>2]|4;V=28}}}while(0);if((V|0)==28)k=c[d>>2]|0;i=U;return k|0}function cq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function dq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function eq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function fq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function gq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function hq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function iq(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){h=c[e>>2]|0;do{if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0}while(0);h=(h|0)==0;a=c[f>>2]|0;do{if(a){if((c[a+12>>2]|0)!=(c[a+16>>2]|0))if(h)break;else break a;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)!=-1)if(h)break;else break a;else{c[f>>2]=0;k=12;break}}else k=12}while(0);if((k|0)==12){k=0;if(h){a=0;break}else a=0}h=c[e>>2]|0;i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=d[i>>0]|0;if((h&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(h<<24>>24<<1)>>1]&8192))break;h=c[e>>2]|0;a=h+12|0;i=c[a>>2]|0;if((i|0)==(c[h+16>>2]|0)){Eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;continue}else{c[a>>2]=i+1;continue}}h=c[e>>2]|0;do{if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0}while(0);h=(h|0)==0;do{if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1:0){c[f>>2]=0;k=32;break}if(!h)k=33}else k=32}while(0);if((k|0)==32?h:0)k=33;if((k|0)==33)c[g>>2]=c[g>>2]|2;return}function jq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=Eb[c[(c[m>>2]|0)+8>>2]&127](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do{if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=xu(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4}while(0);i=n;return}function kq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function lq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function mq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function nq(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a=c[b>>2]|0;do{if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}}else a=0}while(0);h=(a|0)==0;a=c[e>>2]|0;do{if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1:0){c[e>>2]=0;j=11;break}if(h){i=a;j=13}else j=12}else j=11}while(0);if((j|0)==11)if(h)j=12;else{i=0;j=13}a:do{if((j|0)==12)c[f>>2]=c[f>>2]|6;else if((j|0)==13){a=c[b>>2]|0;h=c[a+12>>2]|0;if((h|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=d[h>>0]|0;if((Gb[c[(c[g>>2]|0)+36>>2]&63](g,a&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}a=c[b>>2]|0;h=a+12|0;g=c[h>>2]|0;if((g|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;a=c[b>>2]|0;if(!a)a=0;else j=21}else{c[h>>2]=g+1;j=21}do{if((j|0)==21)if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}}while(0);a=(a|0)==0;do{if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1:0){c[e>>2]=0;j=30;break}if(a)break a}else j=30}while(0);if((j|0)==30?!a:0)break;c[f>>2]=c[f>>2]|2}}while(0);return}function oq(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+32|0;s=x+16|0;r=x+12|0;v=x+8|0;t=x+4|0;u=x;k=jn(e)|0;c[v>>2]=k;o=0;v=ra(37,v|0,44212)|0;q=o;o=0;if(q&1){x=Na()|0;pm(k)|0;Ya(x|0)}pm(k)|0;c[f>>2]=0;k=c[b>>2]|0;a:do{if((h|0)!=(j|0)){b:while(1){m=k;if(k){l=c[k+12>>2]|0;if((l|0)==(c[k+16>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;if((l|0)==-1){c[b>>2]=0;k=0;p=1;q=0}else{p=0;q=m}}else{k=0;p=1;q=m}n=c[d>>2]|0;l=n;do{if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0))m=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(p)break;else{w=17;break b}else{c[d>>2]=0;l=0;w=15;break}}else w=15}while(0);if((w|0)==15){w=0;if(p){w=17;break}else n=0}c:do{if((Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[h>>2]|0,0)|0)<<24>>24==37){m=h+4|0;if((m|0)==(j|0)){w=21;break b}p=Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[m>>2]|0,0)|0;switch(p<<24>>24){case 48:case 69:{n=h+8|0;if((n|0)==(j|0)){w=24;break b}h=m;m=Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[n>>2]|0,0)|0;k=p;break}default:{m=p;k=0}}p=c[(c[a>>2]|0)+36>>2]|0;c[t>>2]=q;c[u>>2]=l;c[r>>2]=c[t>>2];c[s>>2]=c[u>>2];c[b>>2]=Sb[p&15](a,r,s,e,f,g,m,k)|0;h=h+8|0}else{if(!(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,c[h>>2]|0)|0)){m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;q=Lb[c[(c[v>>2]|0)+28>>2]&63](v,l)|0;if((q|0)!=(Lb[c[(c[v>>2]|0)+28>>2]&63](v,c[h>>2]|0)|0)){w=61;break b}l=c[m>>2]|0;if((l|0)==(c[n>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else c[m>>2]=l+4;h=h+4|0;break}do{h=h+4|0;if((h|0)==(j|0)){h=j;break}}while(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,c[h>>2]|0)|0);l=n;p=n;while(1){if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))m=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else m=c[m>>2]|0;if((m|0)==-1){c[b>>2]=0;n=1;k=0}else n=0}else{n=1;k=0}do{if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))m=Eb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(n^(l|0)==0){q=l;p=l;break}else break c;else{c[d>>2]=0;l=0;w=44;break}}else w=44}while(0);if((w|0)==44){w=0;if(n)break c;else{q=l;p=0}}m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;if(!(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,l)|0))break c;l=c[m>>2]|0;if((l|0)==(c[n>>2]|0)){Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;l=q;continue}else{c[m>>2]=l+4;l=q;continue}}}}while(0);k=c[b>>2]|0;if(!((h|0)!=(j|0)&(c[f>>2]|0)==0))break a}if((w|0)==17){c[f>>2]=4;break}else if((w|0)==21){c[f>>2]=4;break}else if((w|0)==24){c[f>>2]=4;break}else if((w|0)==61){c[f>>2]=4;k=c[b>>2]|0;break}}}while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}h=c[d>>2]|0;do{if(h){l=c[h+12>>2]|0;if((l|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=c[l>>2]|0;if((h|0)!=-1)if(m)break;else{w=76;break}else{c[d>>2]=0;w=74;break}}else w=74}while(0);if((w|0)==74?m:0)w=76;if((w|0)==76)c[f>>2]=c[f>>2]|2;i=x;return k|0}function pq(a){a=a|0;return}function qq(a){a=a|0;cj(a);return}function rq(a){a=a|0;return 2}function sq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=oq(a,k,j,e,f,g,44788,44820)|0;i=h;return a|0}function tq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;q=b+8|0;q=Eb[c[(c[q>>2]|0)+20>>2]&127](q)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];o=a[q>>0]|0;p=(o&1)==0;e=q+4|0;d=p?e:c[q+8>>2]|0;e=d+((p?(o&255)>>>1:c[e>>2]|0)<<2)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=oq(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function uq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];vq(a,g+24|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function vq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[c[a>>2]>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Iu(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function wq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];xq(a,g+16|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function xq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Iu(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function yq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];zq(a,g+20|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function zq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function Aq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;U=i;i=i+144|0;l=U+132|0;k=U+116|0;N=U+128|0;x=U+124|0;I=U+120|0;O=U+112|0;P=U+108|0;Q=U+104|0;R=U+100|0;S=U+96|0;T=U+92|0;m=U+88|0;n=U+84|0;p=U+80|0;q=U+76|0;r=U+72|0;s=U+68|0;t=U+64|0;u=U+60|0;v=U+56|0;w=U+52|0;y=U+48|0;z=U+44|0;A=U+40|0;B=U+36|0;C=U+32|0;D=U+28|0;E=U+24|0;F=U+20|0;G=U+16|0;H=U+12|0;J=U+8|0;K=U+4|0;L=U;c[g>>2]=0;M=jn(f)|0;c[N>>2]=M;o=0;N=ra(37,N|0,44212)|0;W=o;o=0;if(W&1){W=Na()|0;pm(M)|0;Ya(W|0)}pm(M)|0;do{switch(j<<24>>24|0){case 65:case 97:{c[x>>2]=c[e>>2];c[l>>2]=c[x>>2];vq(b,h+24|0,d,l,g,N);V=28;break}case 104:case 66:case 98:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];xq(b,h+16|0,d,l,g,N);V=28;break}case 99:{W=b+8|0;W=Eb[c[(c[W>>2]|0)+12>>2]&127](W)|0;c[O>>2]=c[d>>2];c[P>>2]=c[e>>2];j=a[W>>0]|0;e=(j&1)==0;V=W+4|0;W=e?V:c[W+8>>2]|0;V=W+((e?(j&255)>>>1:c[V>>2]|0)<<2)|0;c[k>>2]=c[O>>2];c[l>>2]=c[P>>2];c[d>>2]=oq(b,k,l,f,g,h,W,V)|0;V=28;break}case 101:case 100:{c[Q>>2]=c[e>>2];c[l>>2]=c[Q>>2];Bq(b,h+12|0,d,l,g,N);V=28;break}case 68:{c[R>>2]=c[d>>2];c[S>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[S>>2];c[d>>2]=oq(b,k,l,f,g,h,44820,44852)|0;V=28;break}case 70:{c[T>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[T>>2];c[l>>2]=c[m>>2];c[d>>2]=oq(b,k,l,f,g,h,44852,44884)|0;V=28;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];Cq(b,h+8|0,d,l,g,N);V=28;break}case 73:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];Dq(b,h+8|0,d,l,g,N);V=28;break}case 106:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];Eq(b,h+28|0,d,l,g,N);V=28;break}case 109:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];Fq(b,h+16|0,d,l,g,N);V=28;break}case 77:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];Gq(b,h+4|0,d,l,g,N);V=28;break}case 116:case 110:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];Hq(b,d,l,g,N);V=28;break}case 112:{c[u>>2]=c[e>>2];c[l>>2]=c[u>>2];Iq(b,h+8|0,d,l,g,N);V=28;break}case 114:{c[v>>2]=c[d>>2];c[w>>2]=c[e>>2];c[k>>2]=c[v>>2];c[l>>2]=c[w>>2];c[d>>2]=oq(b,k,l,f,g,h,44884,44928)|0;V=28;break}case 82:{c[y>>2]=c[d>>2];c[z>>2]=c[e>>2];c[k>>2]=c[y>>2];c[l>>2]=c[z>>2];c[d>>2]=oq(b,k,l,f,g,h,44928,44948)|0;V=28;break}case 83:{c[A>>2]=c[e>>2];c[l>>2]=c[A>>2];Jq(b,h,d,l,g,N);V=28;break}case 84:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[k>>2]=c[B>>2];c[l>>2]=c[C>>2];c[d>>2]=oq(b,k,l,f,g,h,44948,44980)|0;V=28;break}case 119:{c[D>>2]=c[e>>2];c[l>>2]=c[D>>2];Kq(b,h+24|0,d,l,g,N);V=28;break}case 120:{W=c[(c[b>>2]|0)+20>>2]|0;c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[k>>2]=c[E>>2];c[l>>2]=c[F>>2];k=Db[W&63](b,k,l,f,g,h)|0;break}case 88:{W=b+8|0;W=Eb[c[(c[W>>2]|0)+24>>2]&127](W)|0;c[G>>2]=c[d>>2];c[H>>2]=c[e>>2];j=a[W>>0]|0;e=(j&1)==0;V=W+4|0;W=e?V:c[W+8>>2]|0;V=W+((e?(j&255)>>>1:c[V>>2]|0)<<2)|0;c[k>>2]=c[G>>2];c[l>>2]=c[H>>2];c[d>>2]=oq(b,k,l,f,g,h,W,V)|0;V=28;break}case 121:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];zq(b,h+20|0,d,l,g,N);V=28;break}case 89:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];Lq(b,h+20|0,d,l,g,N);V=28;break}case 37:{c[L>>2]=c[e>>2];c[l>>2]=c[L>>2];Mq(b,d,l,g,N);V=28;break}default:{c[g>>2]=c[g>>2]|4;V=28}}}while(0);if((V|0)==28)k=c[d>>2]|0;i=U;return k|0}function Bq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Cq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Dq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Eq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Fq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function Gq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Hq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:while(1){a=c[b>>2]|0;do{if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1}while(0);g=c[d>>2]|0;do{if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15}while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if(!(Gb[c[(c[f>>2]|0)+12>>2]&63](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;continue}else{c[g>>2]=h+4;continue}}a=c[b>>2]|0;do{if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break;else{i=39;break}else{c[d>>2]=0;i=37;break}}else i=37}while(0);if((i|0)==37?g:0)i=39;if((i|0)==39)c[e>>2]=c[e>>2]|2;return}function Iq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=Eb[c[(c[m>>2]|0)+8>>2]&127](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do{if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=Iu(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4}while(0);i=n;return}function Jq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Kq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Lq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function Mq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a=c[b>>2]|0;do{if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1}while(0);g=c[d>>2]|0;do{if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14}while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do{if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((Gb[c[(c[f>>2]|0)+52>>2]&63](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;a=c[b>>2]|0;if(!a)g=1;else j=25}else{c[g>>2]=h+4;j=25}do{if((j|0)==25){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}}while(0);do{if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break a;else break;else{c[d>>2]=0;j=37;break}}else j=37}while(0);if((j|0)==37?!g:0)break;c[e>>2]=c[e>>2]|2}}while(0);return}function Nq(a){a=a|0;Oq(a+8|0);return}function Oq(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;o=0;d=ua(3)|0;e=o;o=0;do{if(!(e&1)){if((b|0)!=(d|0)?(o=0,ha(188,c[a>>2]|0),e=o,o=0,e&1):0)break;return}}while(0);e=Na(0)|0;ec(e)}function Pq(a){a=a|0;Oq(a+8|0);cj(a);return}function Qq(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;l=i;i=i+112|0;k=l+4|0;e=l;c[e>>2]=k+100;Rq(b+8|0,k,e,g,h,j);g=c[e>>2]|0;e=c[d>>2]|0;if((k|0)!=(g|0))do{j=a[k>>0]|0;do{if(e){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){d=(Lb[c[(c[e>>2]|0)+52>>2]&63](e,j&255)|0)==-1;e=d?0:e;break}else{c[f>>2]=h+1;a[h>>0]=j;break}}else e=0}while(0);k=k+1|0}while((k|0)!=(g|0));i=l;return e|0}function Rq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;a[l>>0]=37;j=l+1|0;a[j>>0]=g;k=l+2|0;a[k>>0]=h;a[l+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}c[e>>2]=d+(Ra(d|0,(c[e>>2]|0)-d|0,l|0,f|0,c[b>>2]|0)|0);i=m;return}function Sq(a){a=a|0;Oq(a+8|0);return}function Tq(a){a=a|0;Oq(a+8|0);cj(a);return}function Uq(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0;j=i;i=i+416|0;e=j+8|0;d=j;c[d>>2]=e+400;Vq(a+8|0,e,d,f,g,h);a=c[d>>2]|0;d=c[b>>2]|0;if((e|0)!=(a|0)){f=e;do{e=c[f>>2]|0;if(!d)d=0;else{g=d+24|0;h=c[g>>2]|0;if((h|0)==(c[d+28>>2]|0))e=Lb[c[(c[d>>2]|0)+52>>2]&63](d,e)|0;else{c[g>>2]=h+4;c[h>>2]=e}d=(e|0)==-1?0:d}f=f+4|0}while((f|0)!=(a|0))}i=j;return d|0}function Vq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+128|0;l=h+16|0;m=h+12|0;j=h;k=h+8|0;c[m>>2]=l+100;Rq(a,l,m,e,f,g);f=j;c[f>>2]=0;c[f+4>>2]=0;c[k>>2]=l;f=(c[d>>2]|0)-b>>2;g=qk(c[a>>2]|0)|0;o=0;f=va(18,b|0,k|0,f|0,j|0)|0;a=o;o=0;if(a&1){f=Na()|0;if((g|0)!=0?(o=0,ka(75,g|0)|0,m=o,o=0,m&1):0){m=Na(0)|0;ec(m)}Ya(f|0)}if((g|0)!=0?(o=0,ka(75,g|0)|0,m=o,o=0,m&1):0){m=Na(0)|0;ec(m)}if((f|0)==-1)Rr(58955);else{c[d>>2]=b+(f<<2);i=h;return}}function Wq(a){a=a|0;return}function Xq(a){a=a|0;cj(a);return}function Yq(a){a=a|0;return 127}function Zq(a){a=a|0;return 127}function _q(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function $q(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function ar(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function br(a,b){a=a|0;b=b|0;Hm(a,1,45);return}function cr(a){a=a|0;return 0}function dr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function er(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function fr(a){a=a|0;return}function gr(a){a=a|0;cj(a);return}function hr(a){a=a|0;return 127}function ir(a){a=a|0;return 127}function jr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function kr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function lr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function mr(a,b){a=a|0;b=b|0;Hm(a,1,45);return}function nr(a){a=a|0;return 0}function or(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function pr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function qr(a){a=a|0;return}function rr(a){a=a|0;cj(a);return}function sr(a){a=a|0;return 2147483647}function tr(a){a=a|0;return 2147483647}function ur(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function vr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function wr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function xr(a,b){a=a|0;b=b|0;Vm(a,1,45);return}function yr(a){a=a|0;return 0}function zr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Ar(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Br(a){a=a|0;return}function Cr(a){a=a|0;cj(a);return}function Dr(a){a=a|0;return 2147483647}function Er(a){a=a|0;return 2147483647}function Fr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Gr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Hr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Ir(a,b){a=a|0;b=b|0;Vm(a,1,45);return}function Jr(a){a=a|0;return 0}function Kr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Lr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Mr(a){a=a|0;return}function Nr(a){a=a|0;cj(a);return}function Or(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;B=i;i=i+240|0;z=B+24|0;A=B;b=B+136|0;D=B+16|0;y=B+12|0;C=B+8|0;p=B+134|0;l=B+4|0;x=B+124|0;c[D>>2]=b;E=D+4|0;c[E>>2]=189;m=b+100|0;o=0;k=ka(68,g|0)|0;w=o;o=0;if(!(w&1)){c[C>>2]=k;o=0;b=ra(37,C|0,44220)|0;w=o;o=0;a:do{if(!(w&1)?(a[p>>0]=0,c[l>>2]=c[e>>2],n=c[g+4>>2]|0,o=0,c[z>>2]=c[l>>2],n=la(1,d|0,z|0,f|0,C|0,n|0,h|0,p|0,b|0,D|0,y|0,m|0)|0,w=o,o=0,!(w&1)):0){b:do{if(n){o=0;va(c[(c[b>>2]|0)+32>>2]|0,b|0,58976,58986,x|0)|0;w=o;o=0;if(w&1){G=10;break a}l=c[y>>2]|0;m=c[D>>2]|0;b=l-m|0;if((b|0)>98){b=Fl(b+2|0)|0;k=b;if(!b){o=0;xa(6);w=o;o=0;if(!(w&1)){b=0;G=13}}else G=13}else{k=0;b=z;G=13}do{if((G|0)==13){if(a[p>>0]|0){a[b>>0]=45;b=b+1|0}v=x+10|0;w=x;if(m>>>0>>0){n=x+1|0;f=n+1|0;g=f+1|0;p=g+1|0;q=p+1|0;r=q+1|0;s=r+1|0;t=s+1|0;u=t+1|0;do{l=a[m>>0]|0;do{if((a[x>>0]|0)!=l<<24>>24)if((a[n>>0]|0)!=l<<24>>24)if((a[f>>0]|0)!=l<<24>>24)if((a[g>>0]|0)!=l<<24>>24)if((a[p>>0]|0)==l<<24>>24)l=p;else{if((a[q>>0]|0)==l<<24>>24){l=q;break}if((a[r>>0]|0)==l<<24>>24){l=r;break}if((a[s>>0]|0)==l<<24>>24){l=s;break}if((a[t>>0]|0)==l<<24>>24){l=t;break}l=(a[u>>0]|0)==l<<24>>24?u:v}else l=g;else l=f;else l=n;else l=x}while(0);a[b>>0]=a[58976+(l-w)>>0]|0;m=m+1|0;b=b+1|0}while(m>>>0<(c[y>>2]|0)>>>0)}a[b>>0]=0;c[A>>2]=j;if(($k(z,58987,A)|0)!=1?(o=0,ha(190,58991),j=o,o=0,j&1):0)break;if(k)Gl(k);break b}}while(0);b=Na()|0;if(!k){l=b;k=D;break a}Gl(k);l=b;k=D;break a}}while(0);b=c[d>>2]|0;do{if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}if((b|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}}else b=0}while(0);k=(b|0)==0;b=c[e>>2]|0;do{if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}if((b|0)==-1){c[e>>2]=0;G=37;break}}if(!k)G=38}else G=37}while(0);if((G|0)==37?k:0)G=38;if((G|0)==38)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(c[C>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if((b|0)!=0?(o=0,ha(c[E>>2]|0,b|0),G=o,o=0,G&1):0){G=Na(0)|0;ec(G)}i=B;return k|0}else G=10}while(0);if((G|0)==10){l=Na()|0;k=D}pm(c[C>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=0;if(!b)F=l;else{k=c[E>>2]|0;G=45}}else{l=Na()|0;c[D>>2]=0;k=189;G=45}if((G|0)==45){o=0;ha(k|0,b|0);G=o;o=0;if(G&1){G=Na(0)|0;ec(G)}else F=l}Ya(F|0);return 0}function Pr(a){a=a|0;return}function Qr(e,f,g,h,j,k,l,m,n,p,q){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;ba=i;i=i+512|0;P=ba+88|0;u=ba+96|0;da=ba+80|0;T=ba+72|0;S=ba+68|0;U=ba+500|0;Q=ba+497|0;V=ba+496|0;Y=ba+56|0;aa=ba+44|0;_=ba+32|0;Z=ba+20|0;$=ba+8|0;R=ba+4|0;X=ba;c[P>>2]=q;c[da>>2]=u;ca=da+4|0;c[ca>>2]=189;c[T>>2]=u;c[S>>2]=u+400;c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;o=0;qa(1,g|0,h|0,U|0,Q|0,V|0,Y|0,aa|0,_|0,Z|0,R|0);O=o;o=0;a:do{if(O&1)m=Na()|0;else{c[p>>2]=c[n>>2];I=m+8|0;J=_+4|0;K=Z+4|0;L=Z+8|0;M=Z+1|0;N=_+8|0;O=_+1|0;z=(j&512|0)!=0;A=aa+8|0;B=aa+1|0;C=aa+4|0;D=$+4|0;E=$+8|0;F=$+1|0;G=U+3|0;H=Y+4|0;y=0;t=0;b:while(1){q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);q=(q|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(q){x=m;break}else{W=235;break b}o=0;g=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=24;break b}if((g|0)!=-1)if(q){x=m;break}else{W=235;break b}else{c[f>>2]=0;W=15;break}}else W=15}while(0);if((W|0)==15){W=0;if(q){W=235;break}else x=0}c:do{switch(a[U+y>>0]|0){case 1:{if((y|0)!=3){q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=24;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24<=-1){W=40;break b}if(!(b[(c[I>>2]|0)+(q<<24>>24<<1)>>1]&8192)){W=40;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=24;break b}}else{c[m>>2]=g+1;q=d[g>>0]|0}o=0;ia(67,$|0,q&255|0);W=o;o=0;if(W&1){W=24;break b}else{q=x;h=x;W=42}}break}case 0:{if((y|0)!=3){q=x;h=x;W=42}break}case 3:{m=a[_>>0]|0;q=(m&1)==0?(m&255)>>>1:c[J>>2]|0;g=a[Z>>0]|0;h=(g&1)==0?(g&255)>>>1:c[K>>2]|0;if((q|0)!=(0-h|0)){if(!q){q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}m=a[Z>>0]|0}else{q=d[m>>0]|0;m=g}if((q&255)<<24>>24!=(a[((m&1)==0?M:c[L>>2]|0)>>0]|0))break c;q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;a[l>>0]=1;x=a[Z>>0]|0;t=((x&1)==0?(x&255)>>>1:c[K>>2]|0)>>>0>1?Z:t;break c}j=c[e>>2]|0;r=c[j+12>>2]|0;g=c[j+16>>2]|0;q=(r|0)==(g|0);if(!h){if(q){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}m=a[_>>0]|0}else q=d[r>>0]|0;if((q&255)<<24>>24!=(a[((m&1)==0?O:c[N>>2]|0)>>0]|0)){a[l>>0]=1;break c}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;x=a[_>>0]|0;t=((x&1)==0?(x&255)>>>1:c[J>>2]|0)>>>0>1?_:t;break c}if(q){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}g=c[e>>2]|0;m=a[_>>0]|0;j=g;r=c[g+12>>2]|0;g=c[g+16>>2]|0}else q=d[r>>0]|0;h=j+12|0;g=(r|0)==(g|0);if((q&255)<<24>>24==(a[((m&1)==0?O:c[N>>2]|0)>>0]|0)){if(g){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[h>>2]=r+1;x=a[_>>0]|0;t=((x&1)==0?(x&255)>>>1:c[J>>2]|0)>>>0>1?_:t;break c}if(g){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}}else q=d[r>>0]|0;if((q&255)<<24>>24!=(a[((a[Z>>0]&1)==0?M:c[L>>2]|0)>>0]|0)){W=104;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;a[l>>0]=1;x=a[Z>>0]|0;t=((x&1)==0?(x&255)>>>1:c[K>>2]|0)>>>0>1?Z:t}break}case 2:{if(!(y>>>0<2|(t|0)!=0)?!(z|(y|0)==2&(a[G>>0]|0)!=0):0){t=0;break c}v=a[aa>>0]|0;q=(v&1)==0;w=c[A>>2]|0;g=q?B:w;s=g;d:do{if((y|0)!=0?(d[U+(y+-1)>>0]|0)<2:0){r=q?(v&255)>>>1:c[C>>2]|0;h=g+r|0;j=c[I>>2]|0;e:do{if(!r)m=s;else{r=g;m=s;do{q=a[r>>0]|0;if(q<<24>>24<=-1)break e;if(!(b[j+(q<<24>>24<<1)>>1]&8192))break e;r=r+1|0;m=r}while((r|0)!=(h|0))}}while(0);h=m-s|0;j=a[$>>0]|0;q=(j&1)==0;j=q?(j&255)>>>1:c[D>>2]|0;if(j>>>0>=h>>>0){q=q?F:c[E>>2]|0;r=q+j|0;if((m|0)!=(s|0)){q=q+(j-h)|0;while(1){if((a[q>>0]|0)!=(a[g>>0]|0)){m=s;break d}q=q+1|0;if((q|0)==(r|0))break;else g=g+1|0}}}else m=s}else m=s}while(0);q=(v&1)==0;q=(q?B:w)+(q?(v&255)>>>1:c[C>>2]|0)|0;f:do{if((m|0)!=(q|0)){j=x;h=x;q=m;while(1){m=c[e>>2]|0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=21;break b}if((m|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}}else m=0}while(0);g=(m|0)==0;do{if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){m=j;r=h;break}else break f;o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=21;break b}if((m|0)!=-1)if(g^(j|0)==0){m=j;r=j;break}else break f;else{c[f>>2]=0;m=0;W=131;break}}else{m=j;W=131}}while(0);if((W|0)==131){W=0;if(g)break f;else r=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=21;break b}}else g=d[h>>0]|0;if((g&255)<<24>>24!=(a[q>>0]|0))break f;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=21;break b}}else c[h>>2]=j+1;q=q+1|0;g=a[aa>>0]|0;x=(g&1)==0;g=(x?B:c[A>>2]|0)+(x?(g&255)>>>1:c[C>>2]|0)|0;if((q|0)==(g|0)){q=g;break}else{j=m;h=r}}}}while(0);if(z?(x=a[aa>>0]|0,w=(x&1)==0,(q|0)!=((w?B:c[A>>2]|0)+(w?(x&255)>>>1:c[C>>2]|0)|0)):0){W=143;break b}break}case 4:{s=a[V>>0]|0;m=x;j=x;q=0;g:while(1){g=c[e>>2]|0;do{if(g){if((c[g+12>>2]|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=23;break b}if((g|0)==-1){c[e>>2]=0;g=0;break}else{g=c[e>>2]|0;break}}}else g=0}while(0);h=(g|0)==0;do{if(j){if((c[j+12>>2]|0)!=(c[j+16>>2]|0))if(h){r=m;break}else{h=m;break g}o=0;g=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=23;break b}if((g|0)!=-1)if(h^(m|0)==0){r=m;j=m;break}else{h=m;break g}else{c[f>>2]=0;m=0;W=156;break}}else W=156}while(0);if((W|0)==156){W=0;if(h){h=m;break}else{r=m;j=0}}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=23;break b}}else m=d[g>>0]|0;g=m&255;if(g<<24>>24>-1?(b[(c[I>>2]|0)+(m<<24>>24<<1)>>1]&2048)!=0:0){m=c[p>>2]|0;if((m|0)==(c[P>>2]|0)){o=0;wa(12,n|0,p|0,P|0);x=o;o=0;if(x&1){W=23;break b}m=c[p>>2]|0}c[p>>2]=m+1;a[m>>0]=g;q=q+1|0}else{x=a[Y>>0]|0;if(!(g<<24>>24==s<<24>>24&((q|0)!=0?(((x&1)==0?(x&255)>>>1:c[H>>2]|0)|0)!=0:0))){h=r;break}if((u|0)==(c[S>>2]|0)){o=0;wa(13,da|0,T|0,S|0);x=o;o=0;if(x&1){W=23;break b}u=c[T>>2]|0}x=u+4|0;c[T>>2]=x;c[u>>2]=q;u=x;q=0}m=c[e>>2]|0;g=m+12|0;h=c[g>>2]|0;if((h|0)==(c[m+16>>2]|0)){o=0;ka(c[(c[m>>2]|0)+40>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=23;break b}else{m=r;continue}}else{c[g>>2]=h+1;m=r;continue}}if((q|0)!=0?(c[da>>2]|0)!=(u|0):0){if((u|0)==(c[S>>2]|0)){o=0;wa(13,da|0,T|0,S|0);x=o;o=0;if(x&1){W=24;break b}u=c[T>>2]|0}x=u+4|0;c[T>>2]=x;c[u>>2]=q;u=x}r=c[R>>2]|0;if((r|0)>0){q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);q=(q|0)==0;do{if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0)){o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=24;break b}if((m|0)==-1){c[f>>2]=0;W=193;break}}if(!q){W=198;break b}}else W=193}while(0);if((W|0)==193){W=0;if(q){W=198;break b}else h=0}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24!=(a[Q>>0]|0)){W=198;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;if((r|0)>0){j=h;g=h;s=r;while(1){q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=22;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);m=(q|0)==0;do{if(g){if((c[g+12>>2]|0)!=(c[g+16>>2]|0))if(m){q=j;r=g;break}else{W=222;break b}o=0;q=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=22;break b}if((q|0)!=-1)if(m^(j|0)==0){q=j;r=j;break}else{W=222;break b}else{c[f>>2]=0;q=0;W=215;break}}else{q=j;W=215}}while(0);if((W|0)==215){W=0;if(m){W=222;break b}else r=0}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=22;break b}}else m=d[g>>0]|0;if((m&255)<<24>>24<=-1){W=222;break b}if(!(b[(c[I>>2]|0)+(m<<24>>24<<1)>>1]&2048)){W=222;break b}if((c[p>>2]|0)==(c[P>>2]|0)?(o=0,wa(12,n|0,p|0,P|0),x=o,o=0,x&1):0){W=22;break b}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=22;break b}}else m=d[g>>0]|0;g=c[p>>2]|0;c[p>>2]=g+1;a[g>>0]=m;m=s;s=s+-1|0;c[R>>2]=s;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=22;break b}}else c[h>>2]=j+1;if((m|0)<=1)break;else{j=q;g=r}}}}if((c[p>>2]|0)==(c[n>>2]|0)){W=233;break b}break}default:{}}}while(0);h:do{if((W|0)==42)while(1){W=0;m=c[e>>2]|0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=20;break b}if((m|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}}else m=0}while(0);g=(m|0)==0;do{if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){j=q;break}else break h;o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=20;break b}if((m|0)!=-1)if(g^(q|0)==0){j=q;h=q;break}else break h;else{c[f>>2]=0;q=0;W=54;break}}else W=54}while(0);if((W|0)==54){W=0;if(g)break h;else{j=q;h=0}}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=20;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24<=-1)break h;if(!(b[(c[I>>2]|0)+(q<<24>>24<<1)>>1]&8192))break h;q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=20;break b}}else{c[m>>2]=g+1;q=d[g>>0]|0}o=0;ia(67,$|0,q&255|0);W=o;o=0;if(W&1){W=20;break b}else{q=j;W=42}}}while(0);y=y+1|0;if(y>>>0>=4){W=235;break}}i:switch(W|0){case 20:{m=Na()|0;break a}case 21:{m=Na()|0;break a}case 22:{m=Na()|0;break a}case 23:{m=Na()|0;break a}case 24:{m=Na()|0;break a}case 40:{c[k>>2]=c[k>>2]|4;m=0;break}case 104:{c[k>>2]=c[k>>2]|4;m=0;break}case 143:{c[k>>2]=c[k>>2]|4;m=0;break}case 198:{c[k>>2]=c[k>>2]|4;m=0;break}case 222:{c[k>>2]=c[k>>2]|4;m=0;break}case 233:{c[k>>2]=c[k>>2]|4;m=0;break}case 235:{j:do{if(t){j=t+1|0;r=t+8|0;s=t+4|0;g=1;k:while(1){q=a[t>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[s>>2]|0;if(g>>>0>=q>>>0)break j;q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break k}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);m=(q|0)==0;q=c[f>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break k}if((q|0)==-1){c[f>>2]=0;W=253;break}}if(!m){W=260;break k}}else W=253}while(0);if((W|0)==253?(W=0,m):0){W=260;break}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break}}else q=d[m>>0]|0;if(!(a[t>>0]&1))m=j;else m=c[r>>2]|0;if((q&255)<<24>>24!=(a[m+g>>0]|0)){W=260;break}q=g+1|0;m=c[e>>2]|0;g=m+12|0;h=c[g>>2]|0;if((h|0)==(c[m+16>>2]|0)){o=0;ka(c[(c[m>>2]|0)+40>>2]|0,m|0)|0;p=o;o=0;if(p&1){W=19;break}else{g=q;continue}}else{c[g>>2]=h+1;g=q;continue}}if((W|0)==19){m=Na()|0;break a}else if((W|0)==260){c[k>>2]=c[k>>2]|4;m=0;break i}}}while(0);q=c[da>>2]|0;if((q|0)!=(u|0)?(c[X>>2]=0,Ur(Y,q,u,X),(c[X>>2]|0)!=0):0){c[k>>2]=c[k>>2]|4;m=0}else m=1;break}}Im($);Im(Z);Im(_);Im(aa);Im(Y);q=c[da>>2]|0;c[da>>2]=0;if((q|0)!=0?(o=0,ha(c[ca>>2]|0,q|0),da=o,o=0,da&1):0){da=Na(0)|0;ec(da)}i=ba;return m|0}}while(0);Im($);Im(Z);Im(_);Im(aa);Im(Y);q=c[da>>2]|0;c[da>>2]=0;if((q|0)!=0?(o=0,ha(c[ca>>2]|0,q|0),da=o,o=0,da&1):0){da=Na(0)|0;ec(da)}Ya(m|0);return 0}function Rr(a){a=a|0;var b=0;b=Ma(8)|0;o=0;ia(90,b|0,a|0);a=o;o=0;if(a&1){a=Na()|0;La(b|0);Ya(a|0)}else lb(b|0,616,80)}function Sr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=i;i=i+144|0;k=w+24|0;b=w+32|0;x=w+16|0;s=w+8|0;p=w+4|0;q=w+28|0;l=w;c[x>>2]=b;A=x+4|0;c[A>>2]=189;m=b+100|0;o=0;v=ka(68,g|0)|0;n=o;o=0;if(!(n&1)){c[p>>2]=v;o=0;n=ra(37,p|0,44220)|0;b=o;o=0;a:do{if(!(b&1)?(a[q>>0]=0,t=c[e>>2]|0,c[l>>2]=t,r=c[g+4>>2]|0,u=t,o=0,c[k>>2]=c[l>>2],r=la(1,d|0,k|0,f|0,p|0,r|0,h|0,q|0,n|0,x|0,s|0,m|0)|0,g=o,o=0,!(g&1)):0){if(r){if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}if(a[q>>0]|0){o=0;b=ra(c[(c[n>>2]|0)+28>>2]|0,n|0,45)|0;g=o;o=0;if(g&1)break;o=0;ia(67,j|0,b|0);g=o;o=0;if(g&1)break}o=0;l=ra(c[(c[n>>2]|0)+28>>2]|0,n|0,48)|0;g=o;o=0;if(g&1)break;b=c[x>>2]|0;m=c[s>>2]|0;k=m+-1|0;b:do{if(b>>>0>>0)do{if((a[b>>0]|0)!=l<<24>>24)break b;b=b+1|0}while(b>>>0>>0)}while(0);o=0;ma(32,j|0,b|0,m|0)|0;j=o;o=0;if(j&1)break}b=c[d>>2]|0;do{if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1)break a;if((b|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}}else b=0}while(0);k=(b|0)==0;do{if(t){if((c[u+12>>2]|0)==(c[u+16>>2]|0)){o=0;b=ka(c[(c[t>>2]|0)+36>>2]|0,u|0)|0;u=o;o=0;if(u&1)break a;if((b|0)==-1){c[e>>2]=0;z=29;break}}if(!k)z=30}else z=29}while(0);if((z|0)==29?k:0)z=30;if((z|0)==30)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(v)|0;b=c[x>>2]|0;c[x>>2]=0;if((b|0)!=0?(o=0,ha(c[A>>2]|0,b|0),A=o,o=0,A&1):0){A=Na(0)|0;ec(A)}i=w;return k|0}}while(0);k=Na()|0;pm(v)|0;b=c[x>>2]|0;c[x>>2]=0;if(!b)y=k;else z=36}else{k=Na()|0;c[x>>2]=0;z=36}if((z|0)==36){o=0;ha(c[A>>2]|0,b|0);A=o;o=0;if(A&1){A=Na(0)|0;ec(A)}else y=k}Ya(y|0);return 0}function Tr(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+100|0;p=z+88|0;q=z+76|0;r=z+64|0;s=z+52|0;t=z+48|0;u=z+36|0;v=z+24|0;w=z+12|0;x=z;do{if(b){b=Is(d,43828)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](n,b);x=c[n>>2]|0;a[e>>0]=x;a[e+1>>0]=x>>8;a[e+2>>0]=x>>16;a[e+3>>0]=x>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Im(p);Cb[c[(c[b>>2]|0)+28>>2]&127](q,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Im(q);a[f>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](r,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);Cb[c[(c[b>>2]|0)+24>>2]&127](s,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Im(s);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(d,43764)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](t,b);t=c[t>>2]|0;a[e>>0]=t;a[e+1>>0]=t>>8;a[e+2>>0]=t>>16;a[e+3>>0]=t>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](u,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Im(u);Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Im(v);a[f>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](w,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[w>>2];c[h+4>>2]=c[w+4>>2];c[h+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[b>>2]|0)+24>>2]&127](x,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[x>>2];c[j+4>>2]=c[x+4>>2];c[j+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Im(x);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=y;i=z;return}function Ur(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=a[b>>0]|0;i=b+4|0;h=c[i>>2]|0;a:do{if(((g&1)==0?(g&255)>>>1:h)|0){if((d|0)!=(e|0)){g=e+-4|0;if(g>>>0>d>>>0){h=d;do{j=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=j;h=h+4|0;g=g+-4|0}while(h>>>0>>0)}g=a[b>>0]|0;h=c[i>>2]|0}j=(g&1)==0;i=j?b+1|0:c[b+8>>2]|0;e=e+-4|0;b=i+(j?(g&255)>>>1:h)|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;b:do{if(e>>>0>d>>>0){while(1){if(!g?(h<<24>>24|0)!=(c[d>>2]|0):0)break;i=(b-i|0)>1?i+1|0:i;d=d+4|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;if(d>>>0>=e>>>0)break b}c[f>>2]=4;break a}}while(0);if(!g?((c[e>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}}while(0);return}function Vr(a){a=a|0;return}function Wr(a){a=a|0;cj(a);return}function Xr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;B=i;i=i+576|0;x=B+424|0;A=B;b=B+24|0;D=B+16|0;y=B+12|0;C=B+8|0;p=B+464|0;l=B+4|0;z=B+468|0;c[D>>2]=b;F=D+4|0;c[F>>2]=189;m=b+400|0;o=0;k=ka(68,g|0)|0;w=o;o=0;if(!(w&1)){c[C>>2]=k;o=0;b=ra(37,C|0,44212)|0;w=o;o=0;a:do{if(!(w&1)?(a[p>>0]=0,c[l>>2]=c[e>>2],n=c[g+4>>2]|0,o=0,c[x>>2]=c[l>>2],n=la(2,d|0,x|0,f|0,C|0,n|0,h|0,p|0,b|0,D|0,y|0,m|0)|0,w=o,o=0,!(w&1)):0){b:do{if(n){o=0;va(c[(c[b>>2]|0)+48>>2]|0,b|0,59007,59017,x|0)|0;w=o;o=0;if(w&1){G=10;break a}l=c[y>>2]|0;m=c[D>>2]|0;b=l-m|0;if((b|0)>392){b=Fl((b>>2)+2|0)|0;k=b;if(!b){o=0;xa(6);w=o;o=0;if(!(w&1)){b=0;G=13}}else G=13}else{k=0;b=z;G=13}do{if((G|0)==13){if(a[p>>0]|0){a[b>>0]=45;b=b+1|0}v=x+40|0;w=x;if(m>>>0>>0){n=x+4|0;f=n+4|0;g=f+4|0;p=g+4|0;q=p+4|0;r=q+4|0;s=r+4|0;t=s+4|0;u=t+4|0;do{l=c[m>>2]|0;do{if((c[x>>2]|0)!=(l|0))if((c[n>>2]|0)!=(l|0))if((c[f>>2]|0)!=(l|0))if((c[g>>2]|0)!=(l|0))if((c[p>>2]|0)==(l|0))l=p;else{if((c[q>>2]|0)==(l|0)){l=q;break}if((c[r>>2]|0)==(l|0)){l=r;break}if((c[s>>2]|0)==(l|0)){l=s;break}if((c[t>>2]|0)==(l|0)){l=t;break}l=(c[u>>2]|0)==(l|0)?u:v}else l=g;else l=f;else l=n;else l=x}while(0);a[b>>0]=a[59007+(l-w>>2)>>0]|0;m=m+4|0;b=b+1|0}while(m>>>0<(c[y>>2]|0)>>>0)}a[b>>0]=0;c[A>>2]=j;if(($k(z,58987,A)|0)!=1?(o=0,ha(190,58991),j=o,o=0,j&1):0)break;if(k)Gl(k);break b}}while(0);b=Na()|0;if(!k){l=b;k=D;break a}Gl(k);l=b;k=D;break a}}while(0);b=c[d>>2]|0;do{if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}}else b=c[k>>2]|0;if((b|0)==-1){c[d>>2]=0;l=1;break}else{l=(c[d>>2]|0)==0;break}}else l=1}while(0);b=c[e>>2]|0;do{if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}}else b=c[k>>2]|0;if((b|0)!=-1)if(l)break;else{G=40;break}else{c[e>>2]=0;G=38;break}}else G=38}while(0);if((G|0)==38?l:0)G=40;if((G|0)==40)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(c[C>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if((b|0)!=0?(o=0,ha(c[F>>2]|0,b|0),G=o,o=0,G&1):0){G=Na(0)|0;ec(G)}i=B;return k|0}else G=10}while(0);if((G|0)==10){l=Na()|0;k=D}pm(c[C>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=0;if(!b)E=l;else{k=c[F>>2]|0;G=47}}else{l=Na()|0;c[D>>2]=0;k=189;G=47}if((G|0)==47){o=0;ha(k|0,b|0);G=o;o=0;if(G&1){G=Na(0)|0;ec(G)}else E=l}Ya(E|0);return 0}function Yr(b,e,f,g,h,j,k,l,m,n,p){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;Y=i;i=i+512|0;K=Y+96|0;q=Y+104|0;_=Y+88|0;O=Y+80|0;N=Y+76|0;P=Y+504|0;L=Y+72|0;Q=Y+68|0;T=Y+56|0;X=Y+44|0;V=Y+32|0;U=Y+20|0;W=Y+8|0;M=Y+4|0;S=Y;c[K>>2]=p;c[_>>2]=q;Z=_+4|0;c[Z>>2]=189;c[O>>2]=q;c[N>>2]=q+400;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[X>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;o=0;qa(2,f|0,g|0,P|0,L|0,Q|0,T|0,X|0,V|0,U|0,M|0);J=o;o=0;a:do{if(J&1)f=Na()|0;else{c[n>>2]=c[m>>2];G=V+4|0;H=U+4|0;I=U+8|0;J=V+8|0;z=(h&512|0)!=0;A=X+8|0;B=X+4|0;C=W+4|0;D=W+8|0;E=P+3|0;F=T+4|0;y=0;s=0;b:while(1){p=c[b>>2]|0;do{if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[f>>2]|0;if((p|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);f=c[e>>2]|0;do{if(f){p=c[f+12>>2]|0;if((p|0)==(c[f+16>>2]|0)){o=0;p=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[p>>2]|0;if((p|0)!=-1)if(g){x=f;break}else{t=q;R=244;break b}else{c[e>>2]=0;R=16;break}}else R=16}while(0);if((R|0)==16){R=0;if(g){t=q;R=244;break}else x=0}c:do{switch(a[P+y>>0]|0){case 1:{if((y|0)!=3){p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=26;break b}}else p=c[f>>2]|0;o=0;p=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,p|0)|0;R=o;o=0;if(R&1){R=26;break b}if(!p){R=42;break b}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=26;break b}}else{c[f>>2]=g+4;p=c[g>>2]|0}o=0;ia(92,W|0,p|0);R=o;o=0;if(R&1){R=26;break b}else{p=x;h=x;R=44}}else p=q;break}case 0:{if((y|0)==3)p=q;else{p=x;h=x;R=44}break}case 3:{f=a[V>>0]|0;p=(f&1)==0?(f&255)>>>1:c[G>>2]|0;g=a[U>>0]|0;h=(g&1)==0?(g&255)>>>1:c[H>>2]|0;if((p|0)==(0-h|0))p=q;else{if(!p){p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}f=a[U>>0]|0}else{p=c[f>>2]|0;f=g}if((p|0)!=(c[((f&1)==0?H:c[I>>2]|0)>>2]|0)){p=q;break c}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;a[k>>0]=1;x=a[U>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[H>>2]|0)>>>0>1?U:s;break c}r=c[b>>2]|0;t=c[r+12>>2]|0;g=c[r+16>>2]|0;p=(t|0)==(g|0);if(!h){if(p){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}f=a[V>>0]|0}else p=c[t>>2]|0;if((p|0)!=(c[((f&1)==0?G:c[J>>2]|0)>>2]|0)){a[k>>0]=1;p=q;break c}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;x=a[V>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[G>>2]|0)>>>0>1?V:s;break c}if(p){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}g=c[b>>2]|0;f=a[V>>0]|0;r=g;t=c[g+12>>2]|0;g=c[g+16>>2]|0}else p=c[t>>2]|0;h=r+12|0;g=(t|0)==(g|0);if((p|0)==(c[((f&1)==0?G:c[J>>2]|0)>>2]|0)){if(g){o=0;ka(c[(c[r>>2]|0)+40>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[h>>2]=t+4;x=a[V>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[G>>2]|0)>>>0>1?V:s;break c}if(g){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[t>>2]|0;if((p|0)!=(c[((a[U>>0]&1)==0?H:c[I>>2]|0)>>2]|0)){R=107;break b}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;a[k>>0]=1;x=a[U>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[H>>2]|0)>>>0>1?U:s}break}case 2:{if(!(y>>>0<2|(s|0)!=0)?!(z|(y|0)==2&(a[E>>0]|0)!=0):0){p=q;s=0;break c}h=a[X>>0]|0;g=c[A>>2]|0;f=(h&1)==0?B:g;p=f;d:do{if((y|0)!=0?(d[P+(y+-1)>>0]|0)<2:0){w=(h&1)==0;e:do{if((f|0)!=((w?B:g)+((w?(h&255)>>>1:c[B>>2]|0)<<2)|0)){h=f;while(1){o=0;f=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,c[h>>2]|0)|0;w=o;o=0;if(w&1){R=23;break b}if(!f)break;h=h+4|0;p=h;f=a[X>>0]|0;g=c[A>>2]|0;w=(f&1)==0;if((h|0)==((w?B:g)+((w?(f&255)>>>1:c[B>>2]|0)<<2)|0)){h=f;break e}}h=a[X>>0]|0;g=c[A>>2]|0}}while(0);t=(h&1)==0?B:g;f=t;u=p-f>>2;v=a[W>>0]|0;r=(v&1)==0;v=r?(v&255)>>>1:c[C>>2]|0;if(v>>>0>=u>>>0){r=r?C:c[D>>2]|0;w=r+(v<<2)|0;if(!u)f=p;else{r=r+(v-u<<2)|0;while(1){if((c[r>>2]|0)!=(c[t>>2]|0))break d;r=r+4|0;if((r|0)==(w|0)){f=p;break}else t=t+4|0}}}}else f=p}while(0);p=(h&1)==0;p=(p?B:g)+((p?(h&255)>>>1:c[B>>2]|0)<<2)|0;f:do{if((f|0)!=(p|0)){r=x;h=x;p=f;while(1){f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=22;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=22;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(r|0)==0){f=r;t=r;break}else break f;else{c[e>>2]=0;f=0;R=136;break}}else{f=r;R=136}}while(0);if((R|0)==136){R=0;if(g)break f;else t=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=22;break b}}else g=c[h>>2]|0;if((g|0)!=(c[p>>2]|0))break f;g=c[b>>2]|0;h=g+12|0;r=c[h>>2]|0;if((r|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=22;break b}}else c[h>>2]=r+4;p=p+4|0;g=a[X>>0]|0;x=(g&1)==0;g=(x?B:c[A>>2]|0)+((x?(g&255)>>>1:c[B>>2]|0)<<2)|0;if((p|0)==(g|0)){p=g;break}else{r=f;h=t}}}}while(0);if(z?(x=a[X>>0]|0,w=(x&1)==0,(p|0)!=((w?B:c[A>>2]|0)+((w?(x&255)>>>1:c[B>>2]|0)<<2)|0)):0){R=148;break b}else p=q;break}case 4:{v=c[Q>>2]|0;u=x;r=x;p=q;f=0;g:while(1){g=c[b>>2]|0;do{if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=25;break b}}else g=c[h>>2]|0;if((g|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1}while(0);do{if(r){g=c[r+12>>2]|0;if((g|0)==(c[r+16>>2]|0)){o=0;g=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=25;break b}}else g=c[g>>2]|0;if((g|0)!=-1)if(h^(u|0)==0){g=u;t=u;break}else{q=u;break g}else{c[e>>2]=0;g=0;R=162;break}}else{g=u;R=162}}while(0);if((R|0)==162){R=0;if(h){q=g;break}else t=0}h=c[b>>2]|0;q=c[h+12>>2]|0;if((q|0)==(c[h+16>>2]|0)){o=0;h=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=25;break b}}else h=c[q>>2]|0;o=0;q=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,2048,h|0)|0;x=o;o=0;if(x&1){R=25;break b}if(q){q=c[n>>2]|0;if((q|0)==(c[K>>2]|0)){o=0;wa(14,m|0,n|0,K|0);x=o;o=0;if(x&1){R=25;break b}q=c[n>>2]|0}c[n>>2]=q+4;c[q>>2]=h;f=f+1|0}else{x=a[T>>0]|0;if(!((h|0)==(v|0)&((f|0)!=0?(((x&1)==0?(x&255)>>>1:c[F>>2]|0)|0)!=0:0))){q=g;break}if((p|0)==(c[N>>2]|0)){o=0;wa(13,_|0,O|0,N|0);x=o;o=0;if(x&1){R=25;break b}p=c[O>>2]|0}x=p+4|0;c[O>>2]=x;c[p>>2]=f;p=x;f=0}h=c[b>>2]|0;q=h+12|0;r=c[q>>2]|0;if((r|0)==(c[h+16>>2]|0)){o=0;ka(c[(c[h>>2]|0)+40>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=25;break b}else{u=g;r=t;continue}}else{c[q>>2]=r+4;u=g;r=t;continue}}if((f|0)!=0?(c[_>>2]|0)!=(p|0):0){if((p|0)==(c[N>>2]|0)){o=0;wa(13,_|0,O|0,N|0);x=o;o=0;if(x&1){R=26;break b}p=c[O>>2]|0}x=p+4|0;c[O>>2]=x;c[p>>2]=f;p=x}t=c[M>>2]|0;if((t|0)>0){f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(q){f=c[q+12>>2]|0;if((f|0)==(c[q+16>>2]|0)){o=0;f=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g)break;else{R=206;break b}else{c[e>>2]=0;R=200;break}}else R=200}while(0);if((R|0)==200){R=0;if(g){R=206;break b}else q=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[g>>2]|0;if((f|0)!=(c[L>>2]|0)){R=206;break b}f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;if((h|0)==(c[f+16>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[g>>2]=h+4;if((t|0)>0){r=q;h=q;u=t;while(1){f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=24;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=24;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(r|0)==0){f=r;t=r;break}else{R=231;break b}else{c[e>>2]=0;f=0;R=224;break}}else{f=r;R=224}}while(0);if((R|0)==224){R=0;if(g){R=231;break b}else t=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=24;break b}}else g=c[h>>2]|0;o=0;g=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,2048,g|0)|0;x=o;o=0;if(x&1){R=24;break b}if(!g){R=231;break b}if((c[n>>2]|0)==(c[K>>2]|0)?(o=0,wa(14,m|0,n|0,K|0),x=o,o=0,x&1):0){R=24;break b}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=24;break b}}else g=c[h>>2]|0;h=c[n>>2]|0;c[n>>2]=h+4;c[h>>2]=g;g=u;u=u+-1|0;c[M>>2]=u;h=c[b>>2]|0;q=h+12|0;r=c[q>>2]|0;if((r|0)==(c[h+16>>2]|0)){o=0;ka(c[(c[h>>2]|0)+40>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=24;break b}}else c[q>>2]=r+4;if((g|0)<=1)break;else{r=f;h=t}}}}if((c[n>>2]|0)==(c[m>>2]|0)){R=242;break b}break}default:p=q}}while(0);h:do{if((R|0)==44)while(1){R=0;f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=21;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=21;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(p|0)==0){r=p;h=p;break}else{p=q;break h}else{c[e>>2]=0;p=0;R=57;break}}else R=57}while(0);if((R|0)==57){R=0;if(g){p=q;break h}else{r=p;h=0}}p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=21;break b}}else p=c[f>>2]|0;o=0;p=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,p|0)|0;x=o;o=0;if(x&1){R=21;break b}if(!p){p=q;break h}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=21;break b}}else{c[f>>2]=g+4;p=c[g>>2]|0}o=0;ia(92,W|0,p|0);R=o;o=0;if(R&1){R=21;break b}else{p=r;R=44}}}while(0);y=y+1|0;if(y>>>0>=4){t=p;R=244;break}else q=p}i:switch(R|0){case 21:{f=Na()|0;break a}case 22:{f=Na()|0;break a}case 23:{f=Na()|0;break a}case 24:{f=Na()|0;break a}case 25:{f=Na()|0;break a}case 26:{f=Na()|0;break a}case 42:{c[j>>2]=c[j>>2]|4;f=0;break}case 107:{c[j>>2]=c[j>>2]|4;f=0;break}case 148:{c[j>>2]=c[j>>2]|4;f=0;break}case 206:{c[j>>2]=c[j>>2]|4;f=0;break}case 231:{c[j>>2]=c[j>>2]|4;f=0;break}case 242:{c[j>>2]=c[j>>2]|4;f=0;break}case 244:{j:do{if(s){q=s+4|0;r=s+8|0;h=1;k:while(1){p=a[s>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[q>>2]|0;if(h>>>0>=p>>>0)break j;p=c[b>>2]|0;do{if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break k}}else p=c[f>>2]|0;if((p|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);p=c[e>>2]|0;do{if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break k}}else p=c[f>>2]|0;if((p|0)!=-1)if(g)break;else{R=271;break k}else{c[e>>2]=0;R=263;break}}else R=263}while(0);if((R|0)==263?(R=0,g):0){R=271;break}p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break}}else p=c[f>>2]|0;if(!(a[s>>0]&1))f=q;else f=c[r>>2]|0;if((p|0)!=(c[f+(h<<2)>>2]|0)){R=271;break}p=h+1|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;if((h|0)==(c[f+16>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;n=o;o=0;if(n&1){R=20;break}else{h=p;continue}}else{c[g>>2]=h+4;h=p;continue}}if((R|0)==20){f=Na()|0;break a}else if((R|0)==271){c[j>>2]=c[j>>2]|4;f=0;break i}}}while(0);p=c[_>>2]|0;if((p|0)!=(t|0)?(c[S>>2]=0,Ur(T,p,t,S),(c[S>>2]|0)!=0):0){c[j>>2]=c[j>>2]|4;f=0}else f=1;break}}Wm(W);Wm(U);Wm(V);Wm(X);Im(T);p=c[_>>2]|0;c[_>>2]=0;if((p|0)!=0?(o=0,ha(c[Z>>2]|0,p|0),_=o,o=0,_&1):0){_=Na(0)|0;ec(_)}i=Y;return f|0}}while(0);Wm(W);Wm(U);Wm(V);Wm(X);Im(T);p=c[_>>2]|0;c[_>>2]=0;if((p|0)!=0?(o=0,ha(c[Z>>2]|0,p|0),_=o,o=0,_&1):0){_=Na(0)|0;ec(_)}Ya(f|0);return 0}function Zr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=i;i=i+432|0;k=w+424|0;b=w+24|0;y=w+16|0;s=w+8|0;p=w+4|0;q=w+428|0;l=w;c[y>>2]=b;A=y+4|0;c[A>>2]=189;m=b+400|0;o=0;v=ka(68,g|0)|0;n=o;o=0;if(!(n&1)){c[p>>2]=v;o=0;n=ra(37,p|0,44212)|0;b=o;o=0;a:do{if(!(b&1)?(a[q>>0]=0,t=c[e>>2]|0,c[l>>2]=t,r=c[g+4>>2]|0,u=t,o=0,c[k>>2]=c[l>>2],r=la(2,d|0,k|0,f|0,p|0,r|0,h|0,q|0,n|0,y|0,s|0,m|0)|0,g=o,o=0,!(g&1)):0){if(r){if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;if(a[q>>0]|0){o=0;b=ra(c[(c[n>>2]|0)+44>>2]|0,n|0,45)|0;g=o;o=0;if(g&1)break;o=0;ia(92,j|0,b|0);g=o;o=0;if(g&1)break}o=0;l=ra(c[(c[n>>2]|0)+44>>2]|0,n|0,48)|0;g=o;o=0;if(g&1)break;b=c[y>>2]|0;m=c[s>>2]|0;k=m+-4|0;b:do{if(b>>>0>>0)do{if((c[b>>2]|0)!=(l|0))break b;b=b+4|0}while(b>>>0>>0)}while(0);o=0;ma(33,j|0,b|0,m|0)|0;j=o;o=0;if(j&1)break}b=c[d>>2]|0;do{if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1)break a}else b=c[k>>2]|0;if((b|0)==-1){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1}while(0);do{if(t){b=c[u+12>>2]|0;if((b|0)==(c[u+16>>2]|0)){o=0;b=ka(c[(c[t>>2]|0)+36>>2]|0,u|0)|0;u=o;o=0;if(u&1)break a}else b=c[b>>2]|0;if((b|0)!=-1)if(k)break;else{z=32;break}else{c[e>>2]=0;z=30;break}}else z=30}while(0);if((z|0)==30?k:0)z=32;if((z|0)==32)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(v)|0;b=c[y>>2]|0;c[y>>2]=0;if((b|0)!=0?(o=0,ha(c[A>>2]|0,b|0),A=o,o=0,A&1):0){A=Na(0)|0;ec(A)}i=w;return k|0}}while(0);k=Na()|0;pm(v)|0;b=c[y>>2]|0;c[y>>2]=0;if(!b)x=k;else z=38}else{k=Na()|0;c[y>>2]=0;z=38}if((z|0)==38){o=0;ha(c[A>>2]|0,b|0);A=o;o=0;if(A&1){A=Na(0)|0;ec(A)}else x=k}Ya(x|0);return 0}function _r(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+100|0;p=z+88|0;q=z+76|0;r=z+64|0;s=z+52|0;t=z+48|0;u=z+36|0;v=z+24|0;w=z+12|0;x=z;do{if(b){b=Is(d,43956)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](n,b);x=c[n>>2]|0;a[e>>0]=x;a[e+1>>0]=x>>8;a[e+2>>0]=x>>16;a[e+3>>0]=x>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Wm(p);Cb[c[(c[b>>2]|0)+28>>2]&127](q,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Wm(q);c[f>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](r,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);Cb[c[(c[b>>2]|0)+24>>2]&127](s,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;o=0;ia(93,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Wm(s);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(d,43892)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](t,b);t=c[t>>2]|0;a[e>>0]=t;a[e+1>>0]=t>>8;a[e+2>>0]=t>>16;a[e+3>>0]=t>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](u,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Wm(u);Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Wm(v);c[f>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](w,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[w>>2];c[h+4>>2]=c[w+4>>2];c[h+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[b>>2]|0)+24>>2]&127](x,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;o=0;ia(93,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[x>>2];c[j+4>>2]=c[x+4>>2];c[j+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Wm(x);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=y;i=z;return}function $r(a){a=a|0;return}function as(a){a=a|0;cj(a);return}function bs(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;D=i;i=i+384|0;v=D+8|0;k=D;m=D+284|0;n=D+72|0;l=D+184|0;F=D+68|0;A=D+80|0;x=D+77|0;B=D+76|0;G=D+56|0;I=D+44|0;H=D+32|0;p=D+28|0;u=D+84|0;z=D+24|0;y=D+20|0;w=D+16|0;c[n>>2]=m;h[v>>3]=j;m=_k(m,100,59018,v)|0;do{if(m>>>0>99){o=0;b=ua(3)|0;C=o;o=0;if(!(C&1)?(o=0,h[k>>3]=j,s=va(17,n|0,b|0,59018,k|0)|0,C=o,o=0,!(C&1)):0){b=c[n>>2]|0;if(!b){o=0;xa(6);C=o;o=0;if(C&1){b=0;k=0;C=7;break}b=c[n>>2]|0}l=Fl(s)|0;k=l;if(!l){o=0;xa(6);C=o;o=0;if(C&1)C=7;else{t=0;C=10}}else{t=l;C=10}}else{b=0;k=0;C=7}}else{k=0;b=0;t=l;s=m;C=10}}while(0);if((C|0)==10){o=0;l=ka(68,f|0)|0;r=o;o=0;if(r&1)C=7;else{c[F>>2]=l;o=0;r=ra(37,F|0,44220)|0;q=o;o=0;if(!(q&1)?(q=c[n>>2]|0,o=0,va(c[(c[r>>2]|0)+32>>2]|0,r|0,q|0,q+s|0,t|0)|0,q=o,o=0,!(q&1)):0){if(!s)q=0;else q=(a[c[n>>2]>>0]|0)==45;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;o=0;qa(3,e|0,q|0,F|0,A|0,x|0,B|0,G|0,I|0,H|0,p|0);e=o;o=0;if(!(e&1)){p=c[p>>2]|0;if((s|0)>(p|0)){e=a[H>>0]|0;m=a[I>>0]|0;m=(s-p<<1|1)+p+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}else{e=a[H>>0]|0;m=a[I>>0]|0;m=p+2+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}if(m>>>0>100){m=Fl(m)|0;n=m;if(!m){o=0;xa(6);u=o;o=0;if(!(u&1)){m=0;C=26}}else C=26}else{n=0;m=u;C=26}if((C|0)==26){o=0;na(1,m|0,z|0,y|0,c[f+4>>2]|0,t|0,t+s|0,r|0,q|0,A|0,a[x>>0]|0,a[B>>0]|0,G|0,I|0,H|0,p|0);B=o;o=0;if(!(B&1)?(c[w>>2]=c[d>>2],d=c[z>>2]|0,E=c[y>>2]|0,o=0,c[v>>2]=c[w>>2],E=ja(39,v|0,m|0,d|0,E|0,f|0,g|0)|0,d=o,o=0,!(d&1)):0){if(n){Gl(n);l=c[F>>2]|0}Im(H);Im(I);Im(G);pm(l)|0;if(k)Gl(k);if(b)Gl(b);i=D;return E|0}}m=Na()|0;if(n){Gl(n);l=c[F>>2]|0}}else m=Na()|0;Im(H);Im(I);Im(G)}else m=Na()|0;pm(l)|0}}if((C|0)==7)m=Na()|0;if(k)Gl(k);if(b)Gl(b);Ya(m|0);return 0}function cs(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+112|0;q=D+108|0;r=D+96|0;u=D+92|0;v=D+80|0;w=D+68|0;x=D+56|0;y=D+52|0;z=D+40|0;A=D+36|0;B=D+24|0;s=D+12|0;t=D;do{if(b){b=Is(e,43828)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](q,b);d=c[q>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](r,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);p=b;break}}else{Cb[c[e+40>>2]&127](u,b);d=c[u>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[v>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Im(v);p=b;break}}}while(0);a[g>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[h>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[p>>2]|0)+20>>2]&127](w,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[w>>2];c[j+4>>2]=c[w+4>>2];c[j+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[p>>2]|0)+24>>2]&127](x,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[x>>2];c[k+4>>2]=c[x+4>>2];c[k+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Im(x);C=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(e,43764)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](y,b);d=c[y>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](z,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[z>>2];c[l+4>>2]=c[z+4>>2];c[l+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;Im(z);n=b;break}}else{Cb[c[e+40>>2]&127](A,b);d=c[A>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](B,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[B>>2];c[l+4>>2]=c[B+4>>2];c[l+8>>2]=c[B+8>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;Im(B);n=b;break}}}while(0);a[g>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[h>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[n>>2]|0)+20>>2]&127](s,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Im(s);Cb[c[(c[n>>2]|0)+24>>2]&127](t,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[t>>2];c[k+4>>2]=c[t+4>>2];c[k+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Im(t);C=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=C;i=D;return}function ds(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;c[f>>2]=d;N=q+4|0;O=q+8|0;P=q+1|0;H=p+4|0;I=(g&512|0)==0;J=p+8|0;K=p+1|0;L=j+8|0;M=(r|0)>0;A=o+4|0;B=o+8|0;C=o+1|0;D=r+1|0;F=-2-r-((r|0)<0?~r:-1)|0;G=(r|0)>0;z=0;do{switch(a[l+z>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];x=Lb[c[(c[j>>2]|0)+28>>2]&63](j,32)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;break}case 3:{y=a[q>>0]|0;s=(y&1)==0;if((s?(y&255)>>>1:c[N>>2]|0)|0){x=a[(s?P:c[O>>2]|0)>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}break}case 2:{u=a[p>>0]|0;s=(u&1)==0;u=s?(u&255)>>>1:c[H>>2]|0;if(!(I|(u|0)==0)){t=s?K:c[J>>2]|0;v=t+u|0;s=c[f>>2]|0;if(u)do{a[s>>0]=a[t>>0]|0;t=t+1|0;s=s+1|0}while((t|0)!=(v|0));c[f>>2]=s}break}case 4:{s=c[f>>2]|0;h=k?h+1|0:h;w=h;v=c[L>>2]|0;a:do{if(h>>>0>>0){t=h;do{u=a[t>>0]|0;if(u<<24>>24<=-1)break a;if(!(b[v+(u<<24>>24<<1)>>1]&2048))break a;t=t+1|0}while(t>>>0>>0)}else t=h}while(0);u=t;if(M){x=-2-u-~(u>>>0>w>>>0?w:u)|0;x=F>>>0>x>>>0?F:x;if(t>>>0>h>>>0&G){u=t;w=r;while(1){u=u+-1|0;y=a[u>>0]|0;v=c[f>>2]|0;c[f>>2]=v+1;a[v>>0]=y;v=(w|0)>1;if(!(u>>>0>h>>>0&v))break;else w=w+-1|0}}else v=G;y=D+x|0;u=t+(x+1)|0;if(v)w=Lb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;else w=0;t=c[f>>2]|0;c[f>>2]=t+1;if((y|0)>0){v=y;while(1){a[t>>0]=w;t=c[f>>2]|0;c[f>>2]=t+1;if((v|0)>1)v=v+-1|0;else break}}a[t>>0]=m}else u=t;if((u|0)!=(h|0)){y=a[o>>0]|0;t=(y&1)==0;if(!((t?(y&255)>>>1:c[A>>2]|0)|0))t=-1;else t=a[(t?C:c[B>>2]|0)>>0]|0;if((u|0)!=(h|0)){v=0;w=0;while(1){if((w|0)==(t|0)){y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=n;v=v+1|0;y=a[o>>0]|0;t=(y&1)==0;if(v>>>0<(t?(y&255)>>>1:c[A>>2]|0)>>>0){t=a[(t?C:c[B>>2]|0)+v>>0]|0;t=t<<24>>24==127?-1:t<<24>>24;w=0}else{t=w;w=0}}u=u+-1|0;x=a[u>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;if((u|0)==(h|0))break;else w=w+1|0}}}else{x=Lb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}t=c[f>>2]|0;if((s|0)!=(t|0)?(E=t+-1|0,s>>>0>>0):0){t=E;do{y=a[s>>0]|0;a[s>>0]=a[t>>0]|0;a[t>>0]=y;s=s+1|0;t=t+-1|0}while(s>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);t=a[q>>0]|0;h=(t&1)==0;t=h?(t&255)>>>1:c[N>>2]|0;if(t>>>0>1){s=h?P:c[O>>2]|0;u=s+t|0;h=c[f>>2]|0;if((t|0)!=1){s=s+1|0;do{a[h>>0]=a[s>>0]|0;h=h+1|0;s=s+1|0}while((s|0)!=(u|0))}c[f>>2]=h}switch(g&176|0){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function es(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;z=i;i=i+176|0;r=z+56|0;B=z+52|0;x=z+64|0;u=z+61|0;y=z+60|0;C=z+40|0;E=z+28|0;D=z+16|0;m=z+12|0;q=z+68|0;w=z+8|0;v=z+4|0;s=z;b=jn(f)|0;c[B>>2]=b;o=0;t=ra(37,B|0,44220)|0;p=o;o=0;do{if(p&1)F=13;else{n=a[h>>0]|0;j=(n&1)==0;p=h+4|0;if(!((j?(n&255)>>>1:c[p>>2]|0)|0))n=0;else{j=a[(j?h+1|0:c[h+8>>2]|0)>>0]|0;o=0;k=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,45)|0;n=o;o=0;if(n&1){F=13;break}n=j<<24>>24==k<<24>>24}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;qa(3,e|0,n|0,B|0,x|0,u|0,y|0,C|0,E|0,D|0,m|0);l=o;o=0;if(!(l&1)){l=a[h>>0]|0;e=c[p>>2]|0;j=(l&1)==0?(l&255)>>>1:e;m=c[m>>2]|0;if((j|0)>(m|0)){G=a[D>>0]|0;k=a[E>>0]|0;j=(j-m<<1|1)+m+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{G=a[D>>0]|0;j=a[E>>0]|0;j=m+2+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[E+4>>2]|0)|0}if(j>>>0>100){j=Fl(j)|0;k=j;if(!j){o=0;xa(6);G=o;o=0;if(!(G&1)){l=a[h>>0]|0;e=c[p>>2]|0;j=0;F=17}}else F=17}else{k=0;j=q;F=17}if((F|0)==17){G=(l&1)==0;h=G?h+1|0:c[h+8>>2]|0;o=0;na(1,j|0,w|0,v|0,c[f+4>>2]|0,h|0,h+(G?(l&255)>>>1:e)|0,t|0,n|0,x|0,a[u>>0]|0,a[y>>0]|0,C|0,E|0,D|0,m|0);G=o;o=0;if(!(G&1)?(c[s>>2]=c[d>>2],G=c[w>>2]|0,A=c[v>>2]|0,o=0,c[r>>2]=c[s>>2],A=ja(39,r|0,j|0,G|0,A|0,f|0,g|0)|0,G=o,o=0,!(G&1)):0){if(k){Gl(k);b=c[B>>2]|0}Im(D);Im(E);Im(C);pm(b)|0;i=z;return A|0}}j=Na()|0;if(k){Gl(k);b=c[B>>2]|0}}else j=Na()|0;Im(D);Im(E);Im(C)}}while(0);if((F|0)==13)j=Na()|0;pm(b)|0;Ya(j|0);return 0}function fs(a){a=a|0;return}function gs(a){a=a|0;cj(a);return}function hs(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;D=i;i=i+992|0;v=D+8|0;k=D;m=D+888|0;n=D+880|0;l=D+480|0;F=D+76|0;A=D+884|0;x=D+72|0;B=D+68|0;G=D+56|0;I=D+44|0;H=D+32|0;p=D+28|0;u=D+80|0;z=D+24|0;y=D+20|0;w=D+16|0;c[n>>2]=m;h[v>>3]=j;m=_k(m,100,59018,v)|0;do{if(m>>>0>99){o=0;b=ua(3)|0;C=o;o=0;if(!(C&1)?(o=0,h[k>>3]=j,s=va(17,n|0,b|0,59018,k|0)|0,C=o,o=0,!(C&1)):0){b=c[n>>2]|0;if(!b){o=0;xa(6);C=o;o=0;if(C&1){b=0;k=0;C=7;break}b=c[n>>2]|0}l=Fl(s<<2)|0;k=l;if(!l){o=0;xa(6);C=o;o=0;if(C&1)C=7;else{t=0;C=10}}else{t=l;C=10}}else{b=0;k=0;C=7}}else{k=0;b=0;t=l;s=m;C=10}}while(0);if((C|0)==10){o=0;l=ka(68,f|0)|0;r=o;o=0;if(r&1)C=7;else{c[F>>2]=l;o=0;r=ra(37,F|0,44212)|0;q=o;o=0;if(!(q&1)?(q=c[n>>2]|0,o=0,va(c[(c[r>>2]|0)+48>>2]|0,r|0,q|0,q+s|0,t|0)|0,q=o,o=0,!(q&1)):0){if(!s)q=0;else q=(a[c[n>>2]>>0]|0)==45;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;o=0;qa(4,e|0,q|0,F|0,A|0,x|0,B|0,G|0,I|0,H|0,p|0);e=o;o=0;if(!(e&1)){p=c[p>>2]|0;if((s|0)>(p|0)){e=a[H>>0]|0;m=a[I>>0]|0;m=(s-p<<1|1)+p+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}else{e=a[H>>0]|0;m=a[I>>0]|0;m=p+2+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}if(m>>>0>100){m=Fl(m<<2)|0;n=m;if(!m){o=0;xa(6);u=o;o=0;if(!(u&1)){m=0;C=26}}else C=26}else{n=0;m=u;C=26}if((C|0)==26){o=0;na(2,m|0,z|0,y|0,c[f+4>>2]|0,t|0,t+(s<<2)|0,r|0,q|0,A|0,c[x>>2]|0,c[B>>2]|0,G|0,I|0,H|0,p|0);B=o;o=0;if(!(B&1)?(c[w>>2]=c[d>>2],d=c[z>>2]|0,E=c[y>>2]|0,o=0,c[v>>2]=c[w>>2],E=ja(40,v|0,m|0,d|0,E|0,f|0,g|0)|0,d=o,o=0,!(d&1)):0){if(n){Gl(n);l=c[F>>2]|0}Wm(H);Wm(I);Im(G);pm(l)|0;if(k)Gl(k);if(b)Gl(b);i=D;return E|0}}m=Na()|0;if(n){Gl(n);l=c[F>>2]|0}}else m=Na()|0;Wm(H);Wm(I);Im(G)}else m=Na()|0;pm(l)|0}}if((C|0)==7)m=Na()|0;if(k)Gl(k);if(b)Gl(b);Ya(m|0);return 0}function is(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+112|0;n=B+108|0;p=B+96|0;s=B+92|0;t=B+80|0;u=B+68|0;v=B+56|0;w=B+52|0;x=B+40|0;y=B+36|0;z=B+24|0;q=B+12|0;r=B;do{if(b){b=Is(e,43956)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](n,b);d=c[n>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Wm(p);break}}else{Cb[c[e+40>>2]&127](s,b);d=c[s>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](t,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[t>>2];c[l+4>>2]=c[t+4>>2];c[l+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Wm(t);break}}}while(0);c[g>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](u,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[u>>2];c[j+4>>2]=c[u+4>>2];c[j+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Im(u);Cb[c[(c[b>>2]|0)+24>>2]&127](v,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Wm(v);A=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(e,43892)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](w,b);d=c[w>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](x,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[x>>2];c[l+4>>2]=c[x+4>>2];c[l+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Wm(x);break}}else{Cb[c[e+40>>2]&127](y,b);d=c[y>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](z,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[z>>2];c[l+4>>2]=c[z+4>>2];c[l+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;Wm(z);break}}}while(0);c[g>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](q,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Im(q);Cb[c[(c[b>>2]|0)+24>>2]&127](r,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[r>>2];c[k+4>>2]=c[r+4>>2];c[k+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Wm(r);A=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=A;i=B;return}function js(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;c[e>>2]=b;J=p+4|0;K=p+8|0;C=o+4|0;D=(f&512|0)==0;E=o+8|0;F=(q|0)>0;G=n+4|0;H=n+8|0;I=n+1|0;A=(q|0)>0;z=0;do{switch(a[k+z>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];x=Lb[c[(c[i>>2]|0)+44>>2]&63](i,32)|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x;break}case 3:{y=a[p>>0]|0;r=(y&1)==0;if((r?(y&255)>>>1:c[J>>2]|0)|0){x=c[(r?J:c[K>>2]|0)>>2]|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x}break}case 2:{v=a[o>>0]|0;r=(v&1)==0;v=r?(v&255)>>>1:c[C>>2]|0;if(!(D|(v|0)==0)){r=r?C:c[E>>2]|0;t=r+(v<<2)|0;u=c[e>>2]|0;if(v){s=u;while(1){c[s>>2]=c[r>>2];r=r+4|0;if((r|0)==(t|0))break;else s=s+4|0}}c[e>>2]=u+(v<<2)}break}case 4:{r=c[e>>2]|0;g=j?g+4|0:g;a:do{if(g>>>0>>0){s=g;do{if(!(Gb[c[(c[i>>2]|0)+12>>2]&63](i,2048,c[s>>2]|0)|0))break a;s=s+4|0}while(s>>>0>>0)}else s=g}while(0);if(F){if(s>>>0>g>>>0&A){v=c[e>>2]|0;u=q;while(1){s=s+-4|0;t=v+4|0;c[v>>2]=c[s>>2];w=u+-1|0;u=(u|0)>1;if(s>>>0>g>>>0&u){v=t;u=w}else{v=w;break}}c[e>>2]=t;t=v}else{u=A;t=q}if(u)w=Lb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;else w=0;x=c[e>>2]|0;u=t+((t|0)<0?~t:-1)|0;if((t|0)>0){v=x;while(1){c[v>>2]=w;if((t|0)>1){v=v+4|0;t=t+-1|0}else break}}c[e>>2]=x+(u+2<<2);c[x+(u+1<<2)>>2]=l}if((s|0)==(g|0)){x=Lb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;y=c[e>>2]|0;s=y+4|0;c[e>>2]=s;c[y>>2]=x}else{x=a[n>>0]|0;t=(x&1)==0;y=c[G>>2]|0;if(!((t?(x&255)>>>1:y)|0))t=-1;else t=a[(t?I:c[H>>2]|0)>>0]|0;if((s|0)!=(g|0)){w=0;x=0;while(1){u=c[e>>2]|0;if((x|0)==(t|0)){v=u+4|0;c[e>>2]=v;c[u>>2]=m;w=w+1|0;u=a[n>>0]|0;t=(u&1)==0;if(w>>>0<(t?(u&255)>>>1:y)>>>0){t=a[(t?I:c[H>>2]|0)+w>>0]|0;u=v;t=t<<24>>24==127?-1:t<<24>>24;v=0}else{u=v;t=x;v=0}}else v=x;s=s+-4|0;x=c[s>>2]|0;c[e>>2]=u+4;c[u>>2]=x;if((s|0)==(g|0))break;else x=v+1|0}}s=c[e>>2]|0}if((r|0)!=(s|0)?(B=s+-4|0,r>>>0>>0):0){s=B;do{y=c[r>>2]|0;c[r>>2]=c[s>>2];c[s>>2]=y;r=r+4|0;s=s+-4|0}while(r>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);r=a[p>>0]|0;g=(r&1)==0;r=g?(r&255)>>>1:c[J>>2]|0;if(r>>>0>1){s=g?J:c[K>>2]|0;g=s+4|0;s=s+(r<<2)|0;t=c[e>>2]|0;u=s-g|0;if((r|0)!=1){r=t;while(1){c[r>>2]=c[g>>2];g=g+4|0;if((g|0)==(s|0))break;else r=r+4|0}}c[e>>2]=t+(u>>>2<<2)}switch(f&176|0){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function ks(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;z=i;i=i+480|0;q=z+468|0;B=z+464|0;x=z+472|0;u=z+56|0;y=z+52|0;C=z+40|0;E=z+28|0;D=z+16|0;m=z+12|0;p=z+64|0;w=z+8|0;v=z+4|0;r=z;b=jn(f)|0;c[B>>2]=b;o=0;s=ra(37,B|0,44212)|0;t=o;o=0;do{if(t&1)F=13;else{n=a[h>>0]|0;j=(n&1)==0;t=h+4|0;if(!((j?(n&255)>>>1:c[t>>2]|0)|0))n=0;else{j=c[(j?t:c[h+8>>2]|0)>>2]|0;o=0;k=ra(c[(c[s>>2]|0)+44>>2]|0,s|0,45)|0;n=o;o=0;if(n&1){F=13;break}n=(j|0)==(k|0)}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;qa(4,e|0,n|0,B|0,x|0,u|0,y|0,C|0,E|0,D|0,m|0);l=o;o=0;if(!(l&1)){l=a[h>>0]|0;e=c[t>>2]|0;j=(l&1)==0?(l&255)>>>1:e;m=c[m>>2]|0;if((j|0)>(m|0)){G=a[D>>0]|0;k=a[E>>0]|0;j=(j-m<<1|1)+m+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{G=a[D>>0]|0;j=a[E>>0]|0;j=m+2+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[E+4>>2]|0)|0}if(j>>>0>100){j=Fl(j<<2)|0;k=j;if(!j){o=0;xa(6);G=o;o=0;if(!(G&1)){l=a[h>>0]|0;e=c[t>>2]|0;j=0;F=17}}else F=17}else{k=0;j=p;F=17}if((F|0)==17){G=(l&1)==0;h=G?t:c[h+8>>2]|0;o=0;na(2,j|0,w|0,v|0,c[f+4>>2]|0,h|0,h+((G?(l&255)>>>1:e)<<2)|0,s|0,n|0,x|0,c[u>>2]|0,c[y>>2]|0,C|0,E|0,D|0,m|0);G=o;o=0;if(!(G&1)?(c[r>>2]=c[d>>2],G=c[w>>2]|0,A=c[v>>2]|0,o=0,c[q>>2]=c[r>>2],A=ja(40,q|0,j|0,G|0,A|0,f|0,g|0)|0,G=o,o=0,!(G&1)):0){if(k){Gl(k);b=c[B>>2]|0}Wm(D);Wm(E);Im(C);pm(b)|0;i=z;return A|0}}j=Na()|0;if(k){Gl(k);b=c[B>>2]|0}}else j=Na()|0;Wm(D);Wm(E);Im(C)}}while(0);if((F|0)==13)j=Na()|0;pm(b)|0;Ya(j|0);return 0}function ls(a){a=a|0;return}function ms(a){a=a|0;cj(a);return}function ns(b,d,e){b=b|0;d=d|0;e=e|0;b=lk((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function os(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;k=i;i=i+16|0;l=k;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;j=a[h>>0]|0;m=(j&1)==0;d=m?h+1|0:c[h+8>>2]|0;j=m?(j&255)>>>1:c[h+4>>2]|0;h=d+j|0;a:do{if((j|0)>0){while(1){o=0;ia(67,l|0,a[d>>0]|0);m=o;o=0;if(m&1)break;d=d+1|0;if(d>>>0>=h>>>0){j=4;break a}}d=Na()|0;j=7}else j=4}while(0);b:do{if((j|0)==4){o=0;d=va(19,((e|0)==-1?-1:e<<1)|0,f|0,g|0,((a[l>>0]&1)==0?l+1|0:c[l+8>>2]|0)|0)|0;m=o;o=0;if(m&1){d=Na()|0;j=7;break}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;m=nl(d)|0;h=d+m|0;c:do{if((m|0)>0){while(1){o=0;ia(67,b|0,a[d>>0]|0);m=o;o=0;if(m&1)break;d=d+1|0;if(d>>>0>=h>>>0)break c}d=Na()|0;Im(b);break b}}while(0);Im(l);i=k;return}}while(0);Im(l);Ya(d|0)}function ps(a,b){a=a|0;b=b|0;return}function qs(a){a=a|0;return}function rs(a){a=a|0;cj(a);return}function ss(b,d,e){b=b|0;d=d|0;e=e|0;b=lk((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function ts(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=i;i=i+224|0;p=w+184|0;n=w+192|0;m=w+180|0;q=w+176|0;u=w+168|0;t=w+40|0;s=w+32|0;v=w+28|0;x=w+16|0;l=w+8|0;r=w;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[l+4>>2]=0;c[l>>2]=44696;k=a[h>>0]|0;y=(k&1)==0;j=h+4|0;d=y?j:c[h+8>>2]|0;h=y?(k&255)>>>1:c[j>>2]|0;j=d+(h<<2)|0;k=n+32|0;a:do{if((h|0)>0){b:while(1){c[q>>2]=d;o=0;h=ya(c[(c[l>>2]|0)+12>>2]|0,l|0,p|0,d|0,j|0,q|0,n|0,k|0,m|0)|0;y=o;o=0;if(y&1){h=12;break}if((h|0)==2?1:(c[q>>2]|0)==(d|0)){h=5;break}if(n>>>0<(c[m>>2]|0)>>>0){d=n;do{o=0;ia(67,x|0,a[d>>0]|0);y=o;o=0;if(y&1){h=11;break b}d=d+1|0}while(d>>>0<(c[m>>2]|0)>>>0)}d=c[q>>2]|0;if(!((h|0)!=2&d>>>0>>0)){h=9;break a}}if((h|0)==5){o=0;ha(190,58955);o=0;d=Na()|0}else if((h|0)==11)d=Na()|0;else if((h|0)==12)d=Na()|0}else h=9}while(0);c:do{if((h|0)==9){o=0;d=va(19,((e|0)==-1?-1:e<<1)|0,f|0,g|0,((a[x>>0]&1)==0?x+1|0:c[x+8>>2]|0)|0)|0;y=o;o=0;if(y&1){d=Na()|0;break}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[r+4>>2]=0;c[r>>2]=44744;y=nl(d)|0;j=d+y|0;k=j;l=t+128|0;d:do{if((y|0)>0){e:while(1){c[v>>2]=d;o=0;h=ya(c[(c[r>>2]|0)+16>>2]|0,r|0,u|0,d|0,((k-d|0)>32?d+32|0:j)|0,v|0,t|0,l|0,s|0)|0;y=o;o=0;if(y&1){h=24;break}if((h|0)==2?1:(c[v>>2]|0)==(d|0)){h=18;break}if(t>>>0<(c[s>>2]|0)>>>0){d=t;do{o=0;ia(92,b|0,c[d>>2]|0);y=o;o=0;if(y&1){h=23;break e}d=d+4|0}while(d>>>0<(c[s>>2]|0)>>>0)}d=c[v>>2]|0;if(!((h|0)!=2&d>>>0>>0))break d}if((h|0)==18){o=0;ha(190,58955);o=0;d=Na()|0}else if((h|0)==23)d=Na()|0;else if((h|0)==24)d=Na()|0;Wm(b);break c}}while(0);Im(x);i=w;return}}while(0);Im(x);Ya(d|0)}function us(a,b){a=a|0;b=b|0;return}function vs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;c[b+4>>2]=d+-1;c[b>>2]=44196;h=b+8|0;o=0;ia(94,h|0,28);g=o;o=0;if(g&1)d=Na()|0;else{g=b+144|0;o=0;wa(5,g|0,58885,1);f=o;o=0;if(f&1)d=Na()|0;else{e=c[h>>2]|0;f=b+12|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do{d=d+-4|0}while((d|0)!=(e|0));c[f>>2]=d}c[495]=0;c[494]=43124;o=0;ia(95,b|0,1976);f=o;o=0;do{if(((((((((((((!(f&1)?(c[497]=0,c[496]=43164,o=0,ia(96,b|0,1984),f=o,o=0,!(f&1)):0)?(c[499]=0,c[498]=44236,c[500]=0,a[2004]=0,c[500]=Os()|0,o=0,ia(97,b|0,1992),f=o,o=0,!(f&1)):0)?(c[503]=0,c[502]=44484,o=0,ia(98,b|0,2008),f=o,o=0,!(f&1)):0)?(c[505]=0,c[504]=44552,o=0,ia(99,b|0,2016),f=o,o=0,!(f&1)):0)?(o=0,ia(100,2024,1),f=o,o=0,!(f&1)):0)?(o=0,ia(101,b|0,2024),f=o,o=0,!(f&1)):0)?(c[511]=0,c[510]=44600,o=0,ia(102,b|0,2040),f=o,o=0,!(f&1)):0)?(c[513]=0,c[512]=44648,o=0,ia(103,b|0,2048),f=o,o=0,!(f&1)):0)?(Tt(2056,1),o=0,ia(104,b|0,2056),f=o,o=0,!(f&1)):0)?(Ut(2080,1),o=0,ia(105,b|0,2080),f=o,o=0,!(f&1)):0)?(c[529]=0,c[528]=43204,o=0,ia(106,b|0,2112),f=o,o=0,!(f&1)):0)?(c[531]=0,c[530]=43276,o=0,ia(107,b|0,2120),f=o,o=0,!(f&1)):0)?(c[533]=0,c[532]=43348,o=0,ia(108,b|0,2128),f=o,o=0,!(f&1)):0){c[535]=0;c[534]=43408;o=0;ia(109,b|0,2136);f=o;o=0;if(f&1){i=42;break}c[537]=0;c[536]=43716;o=0;ia(110,b|0,2144);f=o;o=0;if(f&1){i=42;break}c[539]=0;c[538]=43780;o=0;ia(111,b|0,2152);f=o;o=0;if(f&1){i=42;break}c[541]=0;c[540]=43844;o=0;ia(112,b|0,2160);f=o;o=0;if(f&1){i=42;break}c[543]=0;c[542]=43908;o=0;ia(113,b|0,2168);f=o;o=0;if(f&1){i=42;break}c[545]=0;c[544]=43972;o=0;ia(114,b|0,2176);f=o;o=0;if(f&1){i=42;break}c[547]=0;c[546]=44008;o=0;ia(115,b|0,2184);f=o;o=0;if(f&1){i=42;break}c[549]=0;c[548]=44044;o=0;ia(116,b|0,2192);f=o;o=0;if(f&1){i=42;break}c[551]=0;c[550]=44080;o=0;ia(117,b|0,2200);f=o;o=0;if(f&1){i=42;break}c[553]=0;c[552]=43468;c[554]=43516;o=0;ia(118,b|0,2208);f=o;o=0;if(f&1){i=42;break}c[557]=0;c[556]=43560;c[558]=43608;o=0;ia(119,b|0,2224);f=o;o=0;if(f&1){i=42;break}c[561]=0;c[560]=44464;o=0;d=ua(3)|0;f=o;o=0;if(f&1){d=Na()|0;break}c[562]=d;c[560]=43652;o=0;ia(120,b|0,2240);f=o;o=0;if(f&1){i=42;break}c[565]=0;c[564]=44464;o=0;d=ua(3)|0;f=o;o=0;if(f&1){d=Na()|0;break}c[566]=d;c[564]=43684;o=0;ia(121,b|0,2256);i=o;o=0;if(i&1){i=42;break}c[569]=0;c[568]=44116;o=0;ia(122,b|0,2272);i=o;o=0;if(i&1){i=42;break}c[571]=0;c[570]=44156;o=0;ia(123,b|0,2280);i=o;o=0;if(i&1){i=42;break}return}else i=42}while(0);if((i|0)==42)d=Na()|0;Im(g)}Dv(h)}Ya(d|0)}function ws(){var b=0;do{if((a[2288]|0)==0?(Ha(2288)|0)!=0:0){o=0;ua(4)|0;b=o;o=0;if(b&1){b=Na()|0;sb(2288);Ya(b|0)}else{c[11246]=44980;Pa(2288);break}}}while(0);return c[11246]|0}function xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;om(b);f=a+8|0;e=c[f>>2]|0;do{if((c[a+12>>2]|0)-e>>2>>>0<=d>>>0){o=0;ia(124,f|0,d+1|0);a=o;o=0;if(!(a&1)){e=c[f>>2]|0;break}e=Na()|0;if(b)pm(b)|0;Ya(e|0)}}while(0);a=c[e+(d<<2)>>2]|0;if(a){pm(a)|0;e=c[f>>2]|0}c[e+(d<<2)>>2]=b;return}function ys(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=44196;e=a+8|0;f=a+12|0;b=c[e>>2]|0;if((c[f>>2]|0)!=(b|0)){d=0;do{b=c[b+(d<<2)>>2]|0;if(b)pm(b)|0;d=d+1|0;b=c[e>>2]|0}while(d>>>0<(c[f>>2]|0)-b>>2>>>0)}Im(a+144|0);Dv(e);return}function zs(a){a=a|0;ys(a);cj(a);return}function As(a,b){a=a|0;b=b|0;if(Fv(a,b)|0)return c[(c[a+8>>2]|0)+(b<<2)>>2]|0;else{a=Ma(4)|0;qj(a);lb(a|0,640,82)}return 0}function Bs(){vs(2296,1);c[11245]=2296;return 44980}function Cs(){var a=0;a=c[(ws()|0)>>2]|0;c[11247]=a;om(a);return 44988}function Ds(){var b=0;do{if((a[2456]|0)==0?(Ha(2456)|0)!=0:0){o=0;ua(5)|0;b=o;o=0;if(b&1){b=Na()|0;sb(2456);Ya(b|0)}else{c[11248]=44988;Pa(2456);break}}}while(0);return c[11248]|0}function Es(a){a=a|0;var b=0,d=0;o=0;b=ua(6)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}else{d=c[b>>2]|0;c[a>>2]=d;om(d);return}}function Fs(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;om(b);return}function Gs(a){a=a|0;pm(c[a>>2]|0)|0;return}function Hs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((c[a>>2]|0)!=-1){c[b>>2]=a;c[b+4>>2]=191;c[b+8>>2]=0;Em(a,b,192)}i=d;return(c[a+4>>2]|0)+-1|0}function Is(a,b){a=a|0;b=b|0;a=c[a>>2]|0;return As(a,Hs(b)|0)|0}function Js(a){a=a|0;cj(a);return}function Ks(a){a=a|0;if(a)Bb[c[(c[a>>2]|0)+4>>2]&255](a);return}function Ls(a){a=a|0;var b=0;b=c[11052]|0;c[11052]=b+1;c[a+4>>2]=b+1;return}function Ms(a){a=a|0;cj(a);return}function Ns(a,c,d){a=a|0;c=c|0;d=d|0;if(d>>>0<128)d=(b[(Os()|0)+(d<<1)>>1]&c)<<16>>16!=0;else d=0;return d|0}function Os(){var a=0,b=0;o=0;a=ua(7)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Ps(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;i=(f-d|0)>>>2;if((d|0)!=(f|0)){h=d;while(1){a=c[h>>2]|0;if(a>>>0<128)a=e[(Os()|0)+(a<<1)>>1]|0;else a=0;b[g>>1]=a;h=h+4|0;if((h|0)==(f|0))break;else g=g+2|0}}return d+(i<<2)|0}function Qs(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do{if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0<128?(b[(Os()|0)+(a<<1)>>1]&d)<<16>>16!=0:0)break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}}while(0);return e|0}function Rs(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do{if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0>=128)break a;if(!((b[(Os()|0)+(a<<1)>>1]&d)<<16>>16))break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}}while(0);return e|0}function Ss(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(Ts()|0)+(b<<2)>>2]|0;return b|0}function Ts(){var a=0,b=0;o=0;a=ua(8)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Us(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(Ts()|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function Vs(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(Ws()|0)+(b<<2)>>2]|0;return b|0}function Ws(){var a=0,b=0;o=0;a=ua(9)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(Ws()|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function Ys(a,b){a=a|0;b=b|0;return b<<24>>24|0}function Zs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((d|0)!=(e|0))while(1){c[f>>2]=a[d>>0];d=d+1|0;if((d|0)==(e|0))break;else f=f+4|0}return e|0}function _s(a,b,c){a=a|0;b=b|0;c=c|0;return(b>>>0<128?b&255:c)|0}function $s(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=(e-d|0)>>>2;if((d|0)!=(e|0)){h=d;b=g;while(1){g=c[h>>2]|0;a[b>>0]=g>>>0<128?g&255:f;h=h+4|0;if((h|0)==(e|0))break;else b=b+1|0}}return d+(i<<2)|0}function at(b){b=b|0;var d=0;c[b>>2]=44236;d=c[b+8>>2]|0;if((d|0)!=0?(a[b+12>>0]|0)!=0:0)dj(d);return}function bt(a){a=a|0;at(a);cj(a);return}function ct(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(Ts()|0)+((b&255)<<2)>>2]&255;return b|0}function dt(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(Ts()|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function et(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(Ws()|0)+(b<<24>>24<<2)>>2]&255;return b|0}function ft(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(Ws()|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function gt(a,b){a=a|0;b=b|0;return b|0}function ht(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;if((c|0)!=(d|0))while(1){a[e>>0]=a[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else e=e+1|0}return d|0}function it(a,b,c){a=a|0;b=b|0;c=c|0;return(b<<24>>24>-1?b:c)|0}function jt(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((c|0)!=(d|0))while(1){b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;c=c+1|0;if((c|0)==(d|0))break;else f=f+1|0}return d|0}function kt(a){a=a|0;cj(a);return}function lt(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function mt(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function nt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function ot(a){a=a|0;return 1}function pt(a){a=a|0;return 1}function qt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=d-c|0;return(a>>>0>>0?a:e)|0}function rt(a){a=a|0;return 1}function st(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b+-1;c[a>>2]=44304;o=0;b=ua(3)|0;d=o;o=0;if(d&1){d=Na()|0;Ya(d|0)}else{c[a+8>>2]=b;return}}function tt(a){a=a|0;wu(a);cj(a);return}function xl(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;_=X;aa=_-Z|0;O=-2-Z|0;P=_+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do{if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(ck()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do{if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)Xk(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do{if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}}while(0);do{if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}}while(0);e:do{if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1}while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[56223+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do{if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}Cl(ba,s,g)}}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do{switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=kw(o|0,p|0,3)|0;p=D}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=56703;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=56703;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=hw(0,0,n|0,o|0)|0;o=D;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=56703;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?56703:56705;L=76}else{p=1;s=56704;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=56703;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=56703;n=N;break}case 109:{n=dk(c[(ck()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:56713;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){El(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?56721:56726}else{G=1;H=56723}else{q=-q;G=1;H=56720}h[k>>3]=q;F=c[k+4>>2]&2146435072;do{if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+wk(q,ea)*2.0;o=v!=0.0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;C=u|32;if((C|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do{if(!(r>>>0>11|(n|0)==0)){q=8.0;do{n=n+-1|0;q=q*16.0}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v}while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=Dl(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[56687+H>>0]|w;q=(q-+(H|0))*16.0;do{if((n-Z|0)==1){if(p&(s&q==0.0))break;a[n>>0]=46;n=o+2|0}}while(0);if(!(q!=0.0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;El(e,32,K,p,I);if(!(c[e>>2]&32))Xk(y,x,e)|0;El(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))Xk(da,n,e)|0;o=_-t|0;El(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))Xk(t,o,e)|0;El(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456.0}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do{if(r>>>0>>0)r=s;else{o=0;do{B=mw(c[r>>2]|0,0,t|0)|0;B=jw(B|0,D|0,o|0,0)|0;o=D;A=vw(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=uw(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(C|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do{if(w>>>0

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

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

>>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0}while(0);A=(C|0)==103;B=(n|0)!=0;r=n-((C|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do{if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;t=(s|0)/2|0;do{if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1.0;break}q=1.5}}while(0);do{if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}C=t+s|0;c[r>>2]=C;if(C>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}C=(c[s>>2]|0)+1|0;c[s>>2]=C;if(C>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}}while(0);C=r+4|0;w=s;p=p>>>0>C>>>0?C:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;C=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;C=p;break}}do{if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do{if(z){p=c[C+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9}while(0);p=((C-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8}while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=Dl(r,((r|0)<0)<<31>>31,X)|0;if((_-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((_-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=_-E|0;u=E}y=G+1+n+s+o|0;El(e,32,K,y,I);if(!(c[e>>2]&32))Xk(H,G,e)|0;El(e,48,K,y,I^65536);do{if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=Dl(c[o>>2]|0,0,R)|0;do{if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}}while(0);if(!(c[e>>2]&32))Xk(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do{if(x){if(c[e>>2]&32)break;Xk(56755,1,e)|0}}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=Dl(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))Xk(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}El(e,48,n+9|0,9,0)}else{t=z?C:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=Dl(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do{if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))Xk(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}Xk(56755,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}}while(0);p=S-o|0;if(!(c[e>>2]&32))Xk(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}El(e,48,n+18|0,18,0);if(c[e>>2]&32)break;Xk(u,_-u|0,e)|0}}while(0);El(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;El(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){Xk(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))Xk(s?t?56747:56751:t?56739:56743,3,e)|0;El(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=56703;n=N}}}while(0);g:do{if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[56687+(o&15)>>0]|s;o=kw(o|0,p|0,4)|0;p=D}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=56703;L=77}else{o=t;t=2;s=56703+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=56703;L=77}}else if((L|0)==76){n=Dl(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=jl(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=56703;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=Ik(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}El(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=Ik(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))Xk(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}}while(0);if((L|0)==98){L=0;El(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;El(e,32,n,r,p);if(!(c[e>>2]&32))Xk(u,t,e)|0;El(e,48,n,r,p^65536);El(e,48,o,s,0);if(!(c[e>>2]&32))Xk(w,s,e)|0;El(e,32,n,r,p^8192);w=J}h:do{if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;Cl(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0}while(0);i=ha;return m|0}function yl(a,b,c){a=a|0;b=b|0;c=c|0;return Rk(a,b,c)|0}function zl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;gk(h,0);e=+ek(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b)c[b>>2]=(d|0)!=0?a+d|0:a;i=j;return+e}function Al(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;gk(j,0);e=fk(j,d,1,e,f)|0;if(b)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function Bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;lw(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Cl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do{if(b>>>0<=20)do{switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}}while(0)}while(0);return}function Dl(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=vw(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=uw(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=D}else{b=e;break}}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function El(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do{if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;iw(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){Xk(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;Xk(h,f,a)|0}}while(0);i=j;return}function Fl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do{if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[10218]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=40912+(e<<2)|0;e=40912+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do{if((d|0)!=(h|0)){if(h>>>0<(c[10222]|0)>>>0)Ga();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Ga()}else c[10218]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[10220]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=40912+(e<<2)|0;e=40912+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do{if((d|0)!=(f|0)){if(f>>>0<(c[10222]|0)>>>0)Ga();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[10220]|0;break}else Ga()}else{c[10218]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[10223]|0;d=k>>>3;b=d<<1;e=40912+(b<<2)|0;a=c[10218]|0;d=1<>2]|0;if(b>>>0<(c[10222]|0)>>>0)Ga();else{l=a;m=b}}else{c[10218]=a|d;l=40912+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[10220]=h;c[10223]=i;M=j;return M|0}a=c[10219]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[41176+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[10222]|0;if(e>>>0>>0)Ga();i=e+o|0;if(e>>>0>=i>>>0)Ga();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do{if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Ga();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Ga();b=f+12|0;if((c[b>>2]|0)!=(e|0))Ga();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Ga()}}while(0);do{if(h){b=c[e+28>>2]|0;a=41176+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[10222]|0;if(n>>>0>>0)Ga();c[n+24>>2]=h;b=c[e+16>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[n+16>>2]=b;c[b+24>>2]=n;break}}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[10220]|0;if(b){g=c[10223]|0;d=b>>>3;b=d<<1;f=40912+(b<<2)|0;a=c[10218]|0;d=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{p=b;q=a}}else{c[10218]=a|d;p=40912+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[10220]=j;c[10223]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[10219]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[41176+(k<<2)>>2]|0;a:do{if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[41176+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[10220]|0)-m|0)>>>0:0){f=c[10222]|0;if(j>>>0>>0)Ga();h=j+m|0;if(j>>>0>=h>>>0)Ga();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do{if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Ga();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Ga();b=e+12|0;if((c[b>>2]|0)!=(j|0))Ga();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Ga()}}while(0);do{if(g){b=c[j+28>>2]|0;a=41176+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[10222]|0;if(o>>>0>>0)Ga();c[o+24>>2]=g;b=c[j+16>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[o+16>>2]=b;c[b+24>>2]=o;break}}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}}while(0);b:do{if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{s=b;t=a}}else{c[10218]=d|b;s=40912+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=41176+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[10219]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do{if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b}while(0);b=y+8|0;a=c[b>>2]|0;M=c[10222]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Ga()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1}while(0);d=c[10220]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[10223]|0;if(b>>>0>15){c[10223]=a+q;c[10220]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[10220]=0;c[10223]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[10221]|0;if(a>>>0>q>>>0){L=a-q|0;c[10221]=L;M=c[10224]|0;c[10224]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do{if(!(c[10336]|0)){a=_a(30)|0;if(!(a+-1&a)){c[10338]=a;c[10337]=a;c[10339]=-1;c[10340]=-1;c[10341]=0;c[10329]=0;c[10336]=(qb(0)|0)&-16^1431655768;break}else Ga()}}while(0);j=q+48|0;i=c[10338]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[10328]|0;if((a|0)!=0?(t=c[10326]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do{if(!(c[10329]&4)){a=c[10224]|0;e:do{if(a){f=41320;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[10221]|0)&i;if(d>>>0<2147483647){f=Ua(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174}while(0);do{if((v|0)==174){g=Ua(0)|0;if((g|0)!=(-1|0)){a=g;d=c[10337]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[10326]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[10328]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=Ua(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}}while(0);f:do{if((v|0)==184){g=0-d|0;do{if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[10338]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((Ua(u|0)|0)==(-1|0)){Ua(g|0)|0;break f}else{d=u+d|0;break}}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}}while(0);c[10329]=c[10329]|4;v=191}else{a=0;v=191}}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=Ua(l|0)|0,x=Ua(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[10326]|0)+p|0;c[10326]=a;if(a>>>0>(c[10327]|0)>>>0)c[10327]=a;h=c[10224]|0;g:do{if(h){g=41320;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[10221]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[10224]=h+L;c[10221]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[10225]=c[10340];break}a=c[10222]|0;if(w>>>0>>0){c[10222]=w;a=w}d=w+p|0;g=41320;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=41320;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do{if((b|0)!=(h|0)){if((b|0)==(c[10223]|0)){M=(c[10220]|0)+l|0;c[10220]=M;c[10223]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do{if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do{if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Ga();a=f+12|0;if((c[a>>2]|0)!=(b|0))Ga();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Ga()}}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=41176+(a<<2)|0;do{if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[10222]|0)>>>0)Ga();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[10219]=c[10219]&~(1<>>0>>0)Ga();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do{if(a)if(a>>>0>>0)Ga();else{c[J+16>>2]=a;c[a+24>>2]=J;break}}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=40912+(g<<1<<2)|0;do{if((e|0)!=(d|0)){if(e>>>0>>0)Ga();if((c[e+12>>2]|0)==(b|0))break;Ga()}}while(0);if((f|0)==(e|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Ga()}}while(0);c[e+12>>2]=f;c[F>>2]=e}}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0>=(c[10222]|0)>>>0){K=b;L=a;break}Ga()}}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do{if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}}while(0);b=41176+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[10219]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do{if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b}while(0);b=M+8|0;a=c[b>>2]|0;L=c[10222]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Ga()}else{M=(c[10221]|0)+l|0;c[10221]=M;c[10224]=o;c[w+(m+4)>>2]=M|1}}while(0);M=w+(n|8)|0;return M|0}else d=41320;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[10224]=w+d;c[10221]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[10225]=c[10340];d=a+4|0;c[d>>2]=27;c[b>>2]=c[10330];c[b+4>>2]=c[10331];c[b+8>>2]=c[10332];c[b+12>>2]=c[10333];c[10330]=w;c[10331]=p;c[10333]=0;c[10332]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{G=b;H=a}}else{c[10218]=d|b;G=40912+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=41176+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[10219]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do{if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b}while(0);b=I+8|0;a=c[b>>2]|0;M=c[10222]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Ga()}}else{M=c[10222]|0;if((M|0)==0|w>>>0>>0)c[10222]=w;c[10330]=w;c[10331]=p;c[10333]=0;c[10227]=c[10336];c[10226]=-1;b=0;do{M=b<<1;L=40912+(M<<2)|0;c[40912+(M+3<<2)>>2]=L;c[40912+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[10224]=w+M;c[10221]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[10225]=c[10340]}}while(0);b=c[10221]|0;if(b>>>0>q>>>0){L=b-q|0;c[10221]=L;M=c[10224]|0;c[10224]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(ck()|0)>>2]=12;M=0;return M|0}function Gl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[10222]|0;if(b>>>0>>0)Ga();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Ga();o=d&-8;q=a+(o+-8)|0;do{if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Ga();if((l|0)==(c[10223]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[10220]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=40912+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Ga();if((c[e+12>>2]|0)!=(l|0))Ga()}if((d|0)==(e|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Ga()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do{if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Ga();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ga();b=f+12|0;if((c[b>>2]|0)!=(l|0))Ga();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Ga()}}while(0);if(h){b=c[a+(j+28)>>2]|0;d=41176+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[10222]|0;if(k>>>0>>0)Ga();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[k+16>>2]=b;c[b+24>>2]=k;break}}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}}while(0);if(u>>>0>=q>>>0)Ga();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Ga();if(!(d&2)){if((q|0)==(c[10224]|0)){t=(c[10221]|0)+g|0;c[10221]=t;c[10224]=u;c[u+4>>2]=t|1;if((u|0)!=(c[10223]|0))return;c[10223]=0;c[10220]=0;return}if((q|0)==(c[10223]|0)){t=(c[10220]|0)+g|0;c[10220]=t;c[10223]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do{if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do{if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[10222]|0)>>>0)Ga();e=d+12|0;if((c[e>>2]|0)!=(q|0))Ga();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Ga()}}while(0);if(h){b=c[a+(o+20)>>2]|0;d=41176+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[10222]|0;if(p>>>0>>0)Ga();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[p+16>>2]=b;c[b+24>>2]=p;break}}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=40912+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[10222]|0)>>>0)Ga();if((c[e+12>>2]|0)!=(q|0))Ga()}if((d|0)==(e|0)){c[10218]=c[10218]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Ga()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[10223]|0)){c[10220]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=40912+(d<<2)|0;e=c[10218]|0;b=1<>2]|0;if(d>>>0<(c[10222]|0)>>>0)Ga();else{r=b;s=d}}else{c[10218]=e|b;r=40912+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=41176+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[10219]|0;e=1<>2]|0;b:do{if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b}while(0);b=t+8|0;d=c[b>>2]|0;s=c[10222]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Ga()}else{c[10219]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}}while(0);u=(c[10226]|0)+-1|0;c[10226]=u;if(!u)b=41328;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[10226]=-1;return}function Hl(a,b){a=a|0;b=b|0;var d=0;if(a){d=$(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Fl(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;iw(b|0,0,d|0)|0;return b|0}function Il(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Fl(b)|0;return a|0}if(b>>>0>4294967231){c[(ck()|0)>>2]=12;a=0;return a|0}d=Jl(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=Fl(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;lw(d|0,a|0,(e>>>0>>0?e:b)|0)|0;Gl(a);a=d;return a|0}function Jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[10222]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Ga();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Ga();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[10338]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;Kl(a+b|0,d);return a|0}if((l|0)==(c[10224]|0)){d=(c[10221]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[10224]=a+b;c[10221]=n;return a|0}if((l|0)==(c[10223]|0)){e=(c[10220]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[10220]=d;c[10223]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do{if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do{if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ga();d=f+12|0;if((c[d>>2]|0)!=(l|0))Ga();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Ga()}}while(0);if(h){d=c[a+(j+28)>>2]|0;e=41176+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[10222]|0;if(k>>>0>>0)Ga();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do{if(d)if(d>>>0>>0)Ga();else{c[k+16>>2]=d;c[d+24>>2]=k;break}}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(l|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ga()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;Kl(a+b|0,n);return a|0}return 0}function Kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do{if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[10222]|0;if(n>>>0>>0)Ga();if((n|0)==(c[10223]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[10220]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(n|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Ga()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do{if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Ga();d=g+12|0;if((c[d>>2]|0)!=(n|0))Ga();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Ga()}}while(0);if(i){d=c[a+(28-k)>>2]|0;e=41176+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[10222]|0;if(l>>>0>>0)Ga();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do{if(e)if(e>>>0>>0)Ga();else{c[l+16>>2]=e;c[e+24>>2]=l;break}}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}}while(0);j=c[10222]|0;if(q>>>0>>0)Ga();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[10224]|0)){s=(c[10221]|0)+h|0;c[10221]=s;c[10224]=t;c[t+4>>2]=s|1;if((t|0)!=(c[10223]|0))return;c[10223]=0;c[10220]=0;return}if((q|0)==(c[10223]|0)){s=(c[10220]|0)+h|0;c[10220]=s;c[10223]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do{if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do{if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Ga();d=g+12|0;if((c[d>>2]|0)!=(q|0))Ga();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Ga()}}while(0);if(i){d=c[a+(b+28)>>2]|0;e=41176+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[10222]|0;if(p>>>0>>0)Ga();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do{if(d)if(d>>>0>>0)Ga();else{c[p+16>>2]=d;c[d+24>>2]=p;break}}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(q|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Ga()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[10223]|0)){c[10220]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=40912+(e<<2)|0;f=c[10218]|0;d=1<>2]|0;if(e>>>0<(c[10222]|0)>>>0)Ga();else{r=d;s=e}}else{c[10218]=f|d;r=40912+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=41176+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[10219]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do{if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[10222]|0)>>>0)Ga();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}}while(0);e=d+8|0;f=c[e>>2]|0;s=c[10222]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Ga();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function Ll(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[9321]|0;Pl(42048,e,42104);c[10342]=42892;c[10344]=42912;c[10343]=0;a=c[10720]|0;o=0;ia(62,41368+a|0,42048);g=o;o=0;if(g&1){g=Na()|0;fn(41376);Ya(g|0)}c[41368+(a+72)>>2]=0;c[41368+(a+76)>>2]=-1;f=c[9322]|0;Ql(42152,f,42112);c[10364]=42972;c[10365]=42992;d=c[10740]|0;o=0;ia(62,41456+d|0,42152);g=o;o=0;if(g&1){g=Na()|0;fn(41460);Ya(g|0)}a=d+72|0;c[41456+a>>2]=0;b=d+76|0;c[41456+b>>2]=-1;g=c[9320]|0;Ql(42200,g,42120);c[10385]=42972;c[10386]=42992;o=0;ia(62,41540+d|0,42200);h=o;o=0;if(h&1){h=Na()|0;fn(41544);Ya(h|0)}c[41540+a>>2]=0;c[41540+b>>2]=-1;h=c[41540+((c[(c[10385]|0)+-12>>2]|0)+24)>>2]|0;c[10406]=42972;c[10407]=42992;o=0;ia(62,41624+d|0,h|0);h=o;o=0;if(h&1){h=Na()|0;fn(41628);Ya(h|0)}c[41624+a>>2]=0;c[41624+b>>2]=-1;c[41368+((c[(c[10342]|0)+-12>>2]|0)+72)>>2]=41456;a=41540+((c[(c[10385]|0)+-12>>2]|0)+4)|0;c[a>>2]=c[a>>2]|8192;c[41540+((c[(c[10385]|0)+-12>>2]|0)+72)>>2]=41456;Rl(42248,e,42128);c[10427]=42932;c[10429]=42952;c[10428]=0;a=c[10730]|0;o=0;ia(62,41708+a|0,42248);h=o;o=0;if(h&1){h=Na()|0;ln(41716);Ya(h|0)}c[41708+(a+72)>>2]=0;c[41708+(a+76)>>2]=-1;Sl(42304,f,42136);c[10449]=43012;c[10450]=43032;d=c[10750]|0;o=0;ia(62,41796+d|0,42304);h=o;o=0;if(h&1){h=Na()|0;ln(41800);Ya(h|0)}a=d+72|0;c[41796+a>>2]=0;b=d+76|0;c[41796+b>>2]=-1;Sl(42352,g,42144);c[10470]=43012;c[10471]=43032;o=0;ia(62,41880+d|0,42352);h=o;o=0;if(h&1){h=Na()|0;ln(41884);Ya(h|0)}c[41880+a>>2]=0;c[41880+b>>2]=-1;h=c[41880+((c[(c[10470]|0)+-12>>2]|0)+24)>>2]|0;c[10491]=43012;c[10492]=43032;o=0;ia(62,41964+d|0,h|0);h=o;o=0;if(h&1){h=Na()|0;ln(41968);Ya(h|0)}else{c[41964+a>>2]=0;c[41964+b>>2]=-1;c[41708+((c[(c[10427]|0)+-12>>2]|0)+72)>>2]=41796;h=41880+((c[(c[10470]|0)+-12>>2]|0)+4)|0;c[h>>2]=c[h>>2]|8192;c[41880+((c[(c[10470]|0)+-12>>2]|0)+72)>>2]=41796;return}}function Ml(a){a=a|0;o=0;ka(70,41456)|0;a=o;o=0;if(((!(a&1)?(o=0,ka(70,41624)|0,a=o,o=0,!(a&1)):0)?(o=0,ka(71,41796)|0,a=o,o=0,!(a&1)):0)?(o=0,ka(71,41964)|0,a=o,o=0,!(a&1)):0)return;a=Na(0)|0;ec(a)}function Nl(){Ll(0);kb(187,56757,n|0)|0;return}function Ol(){return}function Pl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;pn(b);c[b>>2]=42600;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;ia(23,b|0,f|0);e=o;o=0;if(e&1){h=Na()|0;Gs(f);nn(b);Ya(h|0)}else{Gs(f);i=g;return}}function Ql(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;pn(b);c[b>>2]=42536;c[b+32>>2]=d;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;d=ra(37,f|0,44280)|0;h=o;o=0;if(h&1){h=Na()|0;Gs(f);nn(b);Ya(h|0)}else{Gs(f);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=g;return}}function Rl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;En(b);c[b>>2]=42472;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;ia(21,b|0,f|0);e=o;o=0;if(e&1){h=Na()|0;Gs(f);Cn(b);Ya(h|0)}else{Gs(f);i=g;return}}function Sl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;En(b);c[b>>2]=42408;c[b+32>>2]=d;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;d=ra(37,f|0,44288)|0;h=o;o=0;if(h&1){h=Na()|0;Gs(f);Cn(b);Ya(h|0)}else{Gs(f);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=g;return}}function Tl(a){a=a|0;Cn(a);cj(a);return}function Ul(b,d){b=b|0;d=d|0;Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=Is(d,44288)|0;c[b+36>>2]=d;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function Vl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Yk(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((Vk(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function Wl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do{if(!(a[b+44>>0]|0))if((e|0)>0){f=d;d=0;while(1){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,c[f>>2]|0)|0)==-1)break a;d=d+1|0;if((d|0)<(e|0))f=f+4|0;else break}}else d=0;else d=Yk(d,4,e,c[b+32>>2]|0)|0}while(0);return d|0}function Xl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do{if(!q){c[e>>2]=d;if(a[b+44>>0]|0)if((Yk(e,4,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;l=e+4|0;m=b+36|0;g=b+40|0;h=p+8|0;j=p;k=b+32|0;while(1){b=c[m>>2]|0;b=Sb[c[(c[b>>2]|0)+12>>2]&15](b,c[g>>2]|0,e,l,n,p,h,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-j|0;if((Yk(p,1,b,c[k>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Yk(e,1,1,c[k>>2]|0)|0)!=1)e=-1;else r=11}else r=11}while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function Yl(b,d){b=b|0;d=d|0;var e=0,f=0;f=Is(d,44288)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)Rr(56783);return}function Zl(a){a=a|0;Cn(a);cj(a);return}function _l(a){a=a|0;return bm(a,0)|0}function $l(a){a=a|0;return bm(a,1)|0}function am(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+8|0;f=m+4|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do{if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do{if(e){c[f>>2]=c[j>>2];e=c[b+36>>2]|0;switch(Sb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if((al(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}}while(0);c[j>>2]=d;a[h>>0]=1}}while(0);i=m;return d|0}function bm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=i;i=i+32|0;q=r+16|0;p=r+8|0;m=r+4|0;n=r;g=b+52|0;a:do{if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=-1;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;if((e|0)>0){g=0;do{f=Zk(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[q+g>>0]=f;g=g+1|0}while((g|0)<(e|0))}b:do{if(!(a[b+53>>0]|0)){j=b+40|0;k=b+36|0;l=p+4|0;c:while(1){s=c[j>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[k>>2]|0;h=q+e|0;switch(Sb[c[(c[t>>2]|0)+16>>2]&15](t,s,q,h,m,p,l,n)|0){case 2:{e=-1;break a}case 3:break c;case 1:break;default:break b}t=c[j>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){e=-1;break a}f=Zk(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[h>>0]=f;e=e+1|0}c[p>>2]=a[q>>0]}else c[p>>2]=a[q>>0]}while(0);if(d){e=c[p>>2]|0;c[b+48>>2]=e;break}while(1){if((e|0)<=0)break;e=e+-1|0;if((al(a[q+e>>0]|0,c[o>>2]|0)|0)==-1){e=-1;break a}}e=c[p>>2]|0}}while(0);i=r;return e|0}function cm(a){a=a|0;nn(a);cj(a);return}function dm(b,d){b=b|0;d=d|0;Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=Is(d,44280)|0;c[b+36>>2]=d;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function em(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Yk(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((Vk(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function fm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;a:do{if(!(a[b+44>>0]|0))if((f|0)>0){g=e;e=0;while(1){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,d[g>>0]|0)|0)==-1)break a;e=e+1|0;if((e|0)<(f|0))g=g+1|0;else break}}else e=0;else e=Yk(e,1,f,c[b+32>>2]|0)|0}while(0);return e|0}function gm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do{if(!q){a[e>>0]=d;if(a[b+44>>0]|0)if((Yk(e,1,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;m=e+1|0;g=b+36|0;h=b+40|0;j=p+8|0;k=p;l=b+32|0;while(1){b=c[g>>2]|0;b=Sb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,e,m,n,p,j,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-k|0;if((Yk(p,1,b,c[l>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Yk(e,1,1,c[l>>2]|0)|0)!=1)e=-1;else r=11}else r=11}while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function hm(b,d){b=b|0;d=d|0;var e=0,f=0;f=Is(d,44280)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)Rr(56783);return}function im(a){a=a|0;nn(a);cj(a);return}function jm(a){a=a|0;return mm(a,0)|0}function km(a){a=a|0;return mm(a,1)|0}function lm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+4|0;f=m+8|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do{if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do{if(e){a[f>>0]=c[j>>2];e=c[b+36>>2]|0;switch(Sb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if((al(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}}while(0);c[j>>2]=d;a[h>>0]=1}}while(0);i=m;return d|0}function mm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+32|0;r=s+16|0;q=s+8|0;n=s+4|0;o=s;h=b+52|0;a:do{if(a[h>>0]|0){g=b+48|0;f=c[g>>2]|0;if(e){c[g>>2]=-1;a[h>>0]=0}}else{f=c[b+44>>2]|0;f=(f|0)>1?f:1;p=b+32|0;if((f|0)>0){h=0;do{g=Zk(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[r+h>>0]=g;h=h+1|0}while((h|0)<(f|0))}b:do{if(!(a[b+53>>0]|0)){k=b+40|0;l=b+36|0;m=q+1|0;c:while(1){t=c[k>>2]|0;h=t;g=c[h>>2]|0;h=c[h+4>>2]|0;u=c[l>>2]|0;j=r+f|0;switch(Sb[c[(c[u>>2]|0)+16>>2]&15](u,t,r,j,n,q,m,o)|0){case 2:{f=-1;break a}case 3:break c;case 1:break;default:break b}u=c[k>>2]|0;c[u>>2]=g;c[u+4>>2]=h;if((f|0)==8){f=-1;break a}g=Zk(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[j>>0]=g;f=f+1|0}a[q>>0]=a[r>>0]|0}else a[q>>0]=a[r>>0]|0}while(0);if(e){f=a[q>>0]|0;c[b+48>>2]=f&255}else{while(1){if((f|0)<=0)break;f=f+-1|0;if((al(d[r+f>>0]|0,c[p>>2]|0)|0)==-1){f=-1;break a}}f=a[q>>0]|0}f=f&255}}while(0);i=s;return f|0}function nm(a){a=a|0;return}function om(a){a=a|0;a=a+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function pm(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b){Bb[c[(c[a>>2]|0)+8>>2]&255](a);a=1}else a=0;return a|0}function qm(b,d){b=b|0;d=d|0;c[b>>2]=36868;o=0;ia(86,b+4|0,((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0)|0);b=o;o=0;if(b&1){b=Na()|0;Ya(b|0)}else return}function rm(a,b){a=a|0;b=b|0;c[a>>2]=36868;o=0;ia(86,a+4|0,b|0);a=o;o=0;if(a&1){a=Na()|0;Ya(a|0)}else return}function sm(a,b){a=a|0;b=b|0;var d=0,e=0;e=nl(b)|0;d=bj(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=d+12|0;lw(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function tm(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=d;c[a+4>>2]=b;return}function um(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;Qb[c[(c[a>>2]|0)+12>>2]&15](e,a,b);if((c[e+4>>2]|0)==(c[d+4>>2]|0))e=(c[e>>2]|0)==(c[d>>2]|0);else e=0;i=f;return e|0}function vm(a,b,d){a=a|0;b=b|0;d=d|0;return((c[b>>2]|0)==(d|0)?(c[b+4>>2]|0)==(a|0):0)|0}function wm(a,b,c){a=a|0;b=b|0;c=c|0;b=dk(c)|0;Gm(a,b,nl(b)|0);return}function xm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=c[d>>2]|0;do{if(f){g=a[e>>0]|0;if(!(g&1))g=(g&255)>>>1;else g=c[e+4>>2]|0;if(g){Pm(e,56990)|0;f=c[d>>2]|0}d=c[d+4>>2]|0;Qb[c[(c[d>>2]|0)+24>>2]&15](h,d,f);d=a[h>>0]|0;g=(d&1)==0;o=0;ma(30,e|0,(g?h+1|0:c[h+8>>2]|0)|0,(g?(d&255)>>>1:c[h+4>>2]|0)|0)|0;d=o;o=0;if(d&1){j=Na()|0;Im(h);Ya(j|0)}else{Im(h);break}}}while(0);c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;i=j;return}function ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;e=f+12|0;g=f;Gm(g,d,nl(d)|0);o=0;wa(10,e|0,b|0,g|0);d=o;o=0;do{if(!(d&1)){o=0;ia(87,a|0,e|0);d=o;o=0;if(d&1){f=Na()|0;Im(e);e=f;break}else{Im(e);Im(g);c[a>>2]=42664;d=c[b+4>>2]|0;g=a+8|0;c[g>>2]=c[b>>2];c[g+4>>2]=d;i=f;return}}else e=Na()|0}while(0);Im(g);Ya(e|0)}function zm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+48|0;f=g+24|0;j=g+16|0;h=g;c[j>>2]=b;c[j+4>>2]=d;Fm(h,e);o=0;wa(10,f|0,j|0,h|0);e=o;o=0;do{if(!(e&1)){o=0;ia(87,a|0,f|0);j=o;o=0;if(j&1){j=Na()|0;Im(f);f=j;break}else{Im(f);Im(h);c[a>>2]=42664;c[a+8>>2]=b;c[a+12>>2]=d;i=g;return}}else f=Na()|0}while(0);Im(h);Ya(f|0)}function Am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+48|0;e=f+24|0;h=f+16|0;g=f;c[h>>2]=b;c[h+4>>2]=d;Gm(g,58898,0);o=0;wa(10,e|0,h|0,g|0);h=o;o=0;do{if(!(h&1)){o=0;ia(87,a|0,e|0);h=o;o=0;if(h&1){h=Na()|0;Im(e);e=h;break}else{Im(e);Im(g);c[a>>2]=42664;c[a+8>>2]=b;c[a+12>>2]=d;i=f;return}}else e=Na()|0}while(0);Im(g);Ya(e|0)}function Bm(a){a=a|0;mj(a);return}function Cm(a){a=a|0;mj(a);cj(a);return}function Dm(a){a=a|0;return}function Em(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;rb(42676)|0;if((c[a>>2]|0)==1)do{Da(42704,42676)|0}while((c[a>>2]|0)==1);do{if(!(c[a>>2]|0)){c[a>>2]=1;o=0;ka(72,42676)|0;e=o;o=0;if((((!(e&1)?(o=0,ha(d|0,b|0),e=o,o=0,!(e&1)):0)?(o=0,ka(73,42676)|0,e=o,o=0,!(e&1)):0)?(c[a>>2]=-1,o=0,ka(72,42676)|0,e=o,o=0,!(e&1)):0)?(o=0,ka(74,42704)|0,e=o,o=0,!(e&1)):0)break;e=Na(0)|0;Va(e|0)|0;o=0;ka(73,42676)|0;e=o;o=0;if((!(e&1)?(c[a>>2]=0,o=0,ka(72,42676)|0,e=o,o=0,!(e&1)):0)?(o=0,ka(74,42704)|0,e=o,o=0,!(e&1)):0){o=0;xa(5);o=0}b=Na()|0;o=0;xa(3);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}else Ya(b|0)}else cb(42676)|0}while(0);return}function Fm(b,d){b=b|0;d=d|0;if(!(a[d>>0]&1)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}else Gm(b,c[d+8>>2]|0,c[d+4>>2]|0);return}function Gm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>4294967279)_i(b);if(e>>>0<11){a[b>>0]=e<<1;b=b+1|0}else{g=e+16&-16;f=bj(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}lw(b|0,d|0,e|0)|0;a[b+e>>0]=0;return}function Hm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>4294967279)_i(b);if(d>>>0<11){a[b>>0]=d<<1;b=b+1|0}else{g=d+16&-16;f=bj(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}iw(b|0,e|0,d|0)|0;a[b+d>>0]=0;return}function Im(b){b=b|0;if(a[b>>0]&1)cj(c[b+8>>2]|0);return}function Jm(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)!=(d|0)){e=a[d>>0]|0;f=(e&1)==0;Lm(b,f?d+1|0:c[d+8>>2]|0,f?(e&255)>>>1:c[d+4>>2]|0)|0}return b|0}function Km(a,b){a=a|0;b=b|0;return Lm(a,b,nl(b)|0)|0}function Lm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=10;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do{if(h>>>0>=e>>>0){if(g)f=b+1|0;else f=c[b+8>>2]|0;nw(f|0,d|0,e|0)|0;a[f+e>>0]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;Sm(b,h,e-h|0,f,0,f,e,d)}}while(0);return b|0}function Mm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a[b>>0]|0;g=(f&1)==0;if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;do{if(f>>>0>=d>>>0)if(g){a[b+1+d>>0]=0;a[b>>0]=d<<1;break}else{a[(c[b+8>>2]|0)+d>>0]=0;c[b+4>>2]=d;break}else Nm(b,d-f|0,e)|0}while(0);return}function Nm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(d){f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0>>0){Tm(b,g,d-g+h|0,h,h,0,0);f=a[b>>0]|0}if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;iw(g+h|0,e|0,d|0)|0;f=h+d|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}return b|0}function Om(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>4294967279)_i(b);e=a[b>>0]|0;if(!(e&1))f=10;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<11)i=10;else i=(d+16&-16)+-1|0;a:do{if((i|0)!=(f|0)){do{if((i|0)!=10){d=i+1|0;if(i>>>0<=f>>>0){o=0;d=ka(67,d|0)|0;h=o;o=0;if(h&1){b=Na(0)|0;Va(b|0)|0;Xa();break a}}else d=bj(d)|0;if(!(e&1)){f=1;g=b+1|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+1|0;f=0;g=c[b+8>>2]|0;h=1}}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;lw(d|0,g|0,e+1|0)|0;if(h)cj(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}}while(0);return}function Pm(a,b){a=a|0;b=b|0;return Rm(a,b,nl(b)|0)|0}function Qm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=10;h=(e&255)>>>1}if((h|0)==(g|0)){Tm(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+1|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}a[e+h>>0]=d;a[e+f>>0]=0;return}function Rm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0>=e>>>0){if(e){if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;lw(g+h|0,d|0,e|0)|0;f=h+e|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}}else Sm(b,g,e-g+h|0,h,h,0,e,d);return b|0}function Sm(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((-18-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))m=b+1|0;else m=c[b+8>>2]|0;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=bj(k)|0;if(g)lw(l|0,m|0,g|0)|0;if(i)lw(l+g|0,j|0,i|0)|0;e=f-h|0;if((e|0)!=(g|0))lw(l+(i+g)|0,m+(h+g)|0,e-g|0)|0;if((d|0)!=10)cj(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;a[l+d>>0]=0;return}function Tm(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))l=b+1|0;else l=c[b+8>>2]|0;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=bj(j)|0;if(g)lw(k|0,l|0,g|0)|0;e=f-h|0;if((e|0)!=(g|0))lw(k+(i+g)|0,l+(h+g)|0,e-g|0)|0;if((d|0)!=10)cj(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function Um(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>1073741807)_i(b);if(e>>>0<2){a[b>>0]=e<<1;b=b+4|0}else{g=e+4&-4;f=bj(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}ql(b,d,e)|0;c[b+(e<<2)>>2]=0;return}function Vm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>1073741807)_i(b);if(d>>>0<2){a[b>>0]=d<<1;b=b+4|0}else{g=d+4&-4;f=bj(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}sl(b,e,d)|0;c[b+(d<<2)>>2]=0;return}function Wm(b){b=b|0;if(a[b>>0]&1)cj(c[b+8>>2]|0);return}function Xm(a,b){a=a|0;b=b|0;return Ym(a,b,pl(b)|0)|0}function Ym(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=1;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do{if(h>>>0>=e>>>0){if(g)f=b+4|0;else f=c[b+8>>2]|0;rl(f,d,e)|0;c[f+(e<<2)>>2]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;$m(b,h,e-h|0,f,0,f,e,d)}}while(0);return b|0}function Zm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>1073741807)_i(b);e=a[b>>0]|0;if(!(e&1))f=1;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<2)i=1;else i=(d+4&-4)+-1|0;a:do{if((i|0)!=(f|0)){do{if((i|0)!=1){d=(i<<2)+4|0;if(i>>>0<=f>>>0){o=0;d=ka(67,d|0)|0;h=o;o=0;if(h&1){b=Na(0)|0;Va(b|0)|0;Xa();break a}}else d=bj(d)|0;if(!(e&1)){f=1;g=b+4|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+4|0;f=0;g=c[b+8>>2]|0;h=1}}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;ql(d,g,e+1|0)|0;if(h)cj(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}}while(0);return}function _m(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=1;h=(e&255)>>>1}if((h|0)==(g|0)){an(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+4|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}c[e+(h<<2)>>2]=d;c[e+(f<<2)>>2]=0;return}function $m(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((1073741806-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))m=b+4|0;else m=c[b+8>>2]|0;if(d>>>0<536870887){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<2?2:k+4&-4}else k=1073741807;l=bj(k<<2)|0;if(g)ql(l,m,g)|0;if(i)ql(l+(g<<2)|0,j,i)|0;e=f-h|0;if((e|0)!=(g|0))ql(l+(i+g<<2)|0,m+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)cj(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;c[l+(d<<2)>>2]=0;return}function an(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((1073741807-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))l=b+4|0;else l=c[b+8>>2]|0;if(d>>>0<536870887){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<2?2:j+4&-4}else j=1073741807;k=bj(j<<2)|0;if(g)ql(k,l,g)|0;e=f-h|0;if((e|0)!=(g|0))ql(k+(i+g<<2)|0,l+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)cj(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function bn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=d;f=e-g|0;if(f>>>0>4294967279)_i(b);if(f>>>0<11){a[b>>0]=f<<1;h=b+1|0}else{i=f+16&-16;h=bj(i)|0;c[b+8>>2]=h;c[b>>2]=i|1;c[b+4>>2]=f}b=e-g|0;if((d|0)!=(e|0)){f=h;while(1){a[f>>0]=a[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else f=f+1|0}}a[h+b>>0]=0;return}function cn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d;f=e-h|0;g=f>>2;if(g>>>0>1073741807)_i(b);if(g>>>0<2){a[b>>0]=f>>>1;b=b+4|0}else{i=g+4&-4;f=bj(i<<2)|0;c[b+8>>2]=f;c[b>>2]=i|1;c[b+4>>2]=g;b=f}g=(e-h|0)>>>2;if((d|0)!=(e|0)){f=b;while(1){c[f>>2]=c[d>>2];d=d+4|0;if((d|0)==(e|0))break;else f=f+4|0}}c[b+(g<<2)>>2]=0;return}function dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=(c[a+24>>2]|0)==0;c[a+16>>2]=f&1|b;if(!((f&1|b)&c[a+20>>2])){i=d;return}b=Ma(16)|0;so()|0;c[e>>2]=1;c[e+4>>2]=43112;o=0;wa(11,b|0,57437,e|0);f=o;o=0;if(f&1){f=Na()|0;La(b|0);Ya(f|0)}else lb(b|0,864,112)}function en(a){a=a|0;var b=0;c[a>>2]=43068;o=0;ia(88,a|0,0);b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else{Gs(a+28|0);Gl(c[a+32>>2]|0);Gl(c[a+36>>2]|0);Gl(c[a+48>>2]|0);Gl(c[a+60>>2]|0);return}}function fn(a){a=a|0;en(a);return}function gn(a){a=a|0;en(a);cj(a);return}function hn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+40>>2]|0;e=a+32|0;f=a+36|0;if(d)do{d=d+-1|0;Qb[c[(c[e>>2]|0)+(d<<2)>>2]&15](b,a,c[(c[f>>2]|0)+(d<<2)>>2]|0)}while((d|0)!=0);return}function jn(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;Fs(b,a+28|0);i=d;return c[b>>2]|0}function kn(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));Es(d);return}function ln(a){a=a|0;en(a);return}function mn(a){a=a|0;en(a);cj(a);return}function nn(a){a=a|0;c[a>>2]=42760;Gs(a+4|0);return}function on(a){a=a|0;c[a>>2]=42760;Gs(a+4|0);cj(a);return}function pn(a){a=a|0;c[a>>2]=42760;Es(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function qn(a,b){a=a|0;b=b|0;return}function rn(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function sn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function tn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function un(a){a=a|0;return 0}function vn(a){a=a|0;return 0}function wn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+12|0;i=b+16|0;a:do{if((e|0)>0){g=d;d=0;while(1){f=c[h>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[h>>2]=f+1;f=a[f>>0]|0}else{f=Eb[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((f|0)==-1)break a;f=f&255}a[g>>0]=f;d=d+1|0;if((d|0)<(e|0))g=g+1|0;else break}}else d=0}while(0);return d|0}function xn(a){a=a|0;return-1}function yn(a){a=a|0;var b=0;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+1;a=d[a>>0]|0}return a|0}function zn(a,b){a=a|0;b=b|0;return-1}function An(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=b+24|0;j=b+28|0;a:do{if((f|0)>0){h=e;e=0;while(1){g=c[i>>2]|0;if(g>>>0>=(c[j>>2]|0)>>>0){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,d[h>>0]|0)|0)==-1)break a}else{k=a[h>>0]|0;c[i>>2]=g+1;a[g>>0]=k}e=e+1|0;if((e|0)<(f|0))h=h+1|0;else break}}else e=0}while(0);return e|0}function Bn(a,b){a=a|0;b=b|0;return-1}function Cn(a){a=a|0;c[a>>2]=42824;Gs(a+4|0);return}function Dn(a){a=a|0;c[a>>2]=42824;Gs(a+4|0);cj(a);return}function En(a){a=a|0;c[a>>2]=42824;Es(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function Fn(a,b){a=a|0;b=b|0;return}function Gn(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function Hn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function In(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function Jn(a){a=a|0;return 0}function Kn(a){a=a|0;return 0}function Ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+12|0;h=a+16|0;a:do{if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){e=Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((e|0)==-1)break a}else{c[g>>2]=e+4;e=c[e>>2]|0}c[f>>2]=e;b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0}while(0);return b|0}function Mn(a){a=a|0;return-1}function Nn(a){a=a|0;var b=0;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=c[a>>2]|0}return a|0}function On(a,b){a=a|0;b=b|0;return-1}function Pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+24|0;h=a+28|0;a:do{if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){if((Lb[c[(c[a>>2]|0)+52>>2]&63](a,c[f>>2]|0)|0)==-1)break a}else{i=c[f>>2]|0;c[g>>2]=e+4;c[e>>2]=i}b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0}while(0);return b|0}function Qn(a,b){a=a|0;b=b|0;return-1}function Rn(a){a=a|0;en(a+8|0);return}function Sn(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function Tn(a){a=a|0;en(a+8|0);cj(a);return}function Un(a){a=a|0;Tn(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Vn(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;a:do{if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){o=0;ia(65,e|0,b|0);d=o;o=0;b:do{if(d&1)d=Na(0)|0;else{do{if(a[e>>0]|0){d=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;d=ka(c[(c[d>>2]|0)+24>>2]|0,d|0)|0;g=o;o=0;if(!(g&1)){if((d|0)!=-1)break;g=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+g|0,c[b+(g+16)>>2]|1|0);g=o;o=0;if(!(g&1))break}d=Na(0)|0;ho(e);break b}}while(0);ho(e);break a}}while(0);Va(d|0)|0;o=0;ha(181,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=o;o=0;if(!(g&1)){Xa();break}d=Na()|0;o=0;xa(3);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else Ya(d|0)}}while(0);i=f;return b|0}function Wn(a){a=a|0;var b=0;b=a+16|0;c[b>>2]=c[b>>2]|1;if(!(c[a+20>>2]&1))return;else mb()}function Xn(a){a=a|0;en(a+8|0);return}function Yn(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function Zn(a){a=a|0;en(a+8|0);cj(a);return}function _n(a){a=a|0;Zn(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function $n(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;a:do{if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){o=0;ia(89,e|0,b|0);d=o;o=0;b:do{if(d&1)d=Na(0)|0;else{do{if(a[e>>0]|0){d=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;d=ka(c[(c[d>>2]|0)+24>>2]|0,d|0)|0;g=o;o=0;if(!(g&1)){if((d|0)!=-1)break;g=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+g|0,c[b+(g+16)>>2]|1|0);g=o;o=0;if(!(g&1))break}d=Na(0)|0;po(e);break b}}while(0);po(e);break a}}while(0);Va(d|0)|0;o=0;ha(181,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=o;o=0;if(!(g&1)){Xa();break}d=Na()|0;o=0;xa(3);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else Ya(d|0)}}while(0);i=f;return b|0}function ao(a,b){a=a|0;b=b|0;return}function bo(a){a=a|0;en(a+4|0);return}function co(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function eo(a){a=a|0;en(a+4|0);cj(a);return}function fo(a){a=a|0;eo(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function go(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)Vn(e)|0;a[b>>0]=1}return}function ho(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;do{if((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Za()|0):0){b=c[a>>2]|0;b=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;b=ka(c[(c[b>>2]|0)+24>>2]|0,b|0)|0;d=o;o=0;if(!(d&1)){if((b|0)!=-1)break;b=c[a>>2]|0;d=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+d|0,c[b+(d+16)>>2]|1|0);d=o;o=0;if(!(d&1))break}d=Na(0)|0;Va(d|0)|0;o=0;xa(3);d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}}}while(0);return}function io(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+20|0;l=q+16|0;n=q+8|0;e=q;o=0;ia(65,n|0,b|0);m=o;o=0;a:do{if(m&1){e=Na(0)|0;f=b;g=b;p=19}else{do{if(a[n>>0]|0){c[e>>2]=jn(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;o=0;m=ra(37,e|0,43392)|0;j=o;o=0;if(j&1){p=Na(0)|0;Gs(e);e=p}else{Gs(e);g=c[(c[b>>2]|0)+-12>>2]|0;j=c[b+(g+24)>>2]|0;f=b+g|0;g=b+(g+76)|0;e=c[g>>2]|0;do{if((e|0)==-1){c[k>>2]=jn(f)|0;o=0;e=ra(37,k|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(k);e=h<<24>>24;c[g>>2]=e;p=10;break}e=Na(0)|0;Gs(k)}else p=10}while(0);if((p|0)==10){r=c[(c[m>>2]|0)+16>>2]|0;c[l>>2]=j;o=0;c[k>>2]=c[l>>2];e=sa(r|0,m|0,k|0,f|0,e&255|0,d|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break}e=Na(0)|0}}ho(n);f=b;g=b;p=19;break a}}while(0);ho(n)}}while(0);do{if((p|0)==19){Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();break}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0)}}while(0);i=q;return b|0}function jo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+20|0;l=q+16|0;n=q+8|0;e=q;o=0;ia(65,n|0,b|0);m=o;o=0;a:do{if(m&1){e=Na(0)|0;f=b;g=b;p=19}else{do{if(a[n>>0]|0){c[e>>2]=jn(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;o=0;m=ra(37,e|0,43392)|0;j=o;o=0;if(j&1){p=Na(0)|0;Gs(e);e=p}else{Gs(e);g=c[(c[b>>2]|0)+-12>>2]|0;j=c[b+(g+24)>>2]|0;f=b+g|0;g=b+(g+76)|0;e=c[g>>2]|0;do{if((e|0)==-1){c[k>>2]=jn(f)|0;o=0;e=ra(37,k|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(k);e=h<<24>>24;c[g>>2]=e;p=10;break}e=Na(0)|0;Gs(k)}else p=10}while(0);if((p|0)==10){r=c[(c[m>>2]|0)+24>>2]|0;c[l>>2]=j;o=0;c[k>>2]=c[l>>2];e=sa(r|0,m|0,k|0,f|0,e&255|0,d|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break}e=Na(0)|0}}ho(n);f=b;g=b;p=19;break a}}while(0);ho(n)}}while(0);do{if((p|0)==19){Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();break}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0)}}while(0);i=q;return b|0}function ko(a){a=a|0;en(a+4|0);return}function lo(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function mo(a){a=a|0;en(a+4|0);cj(a);return}function no(a){a=a|0;mo(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function oo(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)$n(e)|0;a[b>>0]=1}return}function po(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;do{if((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Za()|0):0){b=c[a>>2]|0;b=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;b=ka(c[(c[b>>2]|0)+24>>2]|0,b|0)|0;d=o;o=0;if(!(d&1)){if((b|0)!=-1)break;b=c[a>>2]|0;d=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+d|0,c[b+(d+16)>>2]|1|0);d=o;o=0;if(!(d&1))break}d=Na(0)|0;Va(d|0)|0;o=0;xa(3);d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}}}while(0);return}function qo(a){a=a|0;return 57453}function ro(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)!=1&(c|0)<257)wm(a,b,c);else Gm(a,57462,35);return}function so(){if((a[1048]|0)==0?(Ha(1048)|0)!=0:0){c[10778]=43084;kb(72,43112,n|0)|0;Pa(1048)}return 43112}function to(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+8|0;g=e;j=d;h=c[j+4>>2]|0;d=g;c[d>>2]=c[j>>2];c[d+4>>2]=h;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];ym(a,f,b);c[a>>2]=43048;i=e;return}function uo(a){a=a|0;Bm(a);return}function vo(a){a=a|0;Bm(a);cj(a);return}function wo(a){a=a|0;en(a);cj(a);return}function xo(a){a=a|0;cj(a);return}function yo(a){a=a|0;return}function zo(a){a=a|0;return}function Ao(a){a=a|0;cj(a);return}function Bo(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do{if((e|0)==(f|0))h=6;else while(1){if((c|0)==(d|0)){c=-1;break a}b=a[c>>0]|0;g=a[e>>0]|0;if(b<<24>>24>24){c=-1;break a}if(g<<24>>24>24){c=1;break a}c=c+1|0;e=e+1|0;if((e|0)==(f|0)){h=6;break}}}while(0);if((h|0)==6)c=(c|0)!=(d|0)&1;return c|0}function Co(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bn(a,c,d);return}function Do(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)==(d|0))b=0;else{b=0;do{b=(a[c>>0]|0)+(b<<4)|0;e=b&-268435456;b=(e>>>24|e)^b;c=c+1|0}while((c|0)!=(d|0))}return b|0}function Eo(a){a=a|0;return}function Fo(a){a=a|0;cj(a);return}function Go(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do{if((e|0)==(f|0))h=6;else while(1){if((b|0)==(d|0)){b=-1;break a}a=c[b>>2]|0;g=c[e>>2]|0;if((a|0)<(g|0)){b=-1;break a}if((g|0)<(a|0)){b=1;break a}b=b+4|0;e=e+4|0;if((e|0)==(f|0)){h=6;break}}}while(0);if((h|0)==6)b=(b|0)!=(d|0)&1;return b|0}function Ho(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;cn(a,c,d);return}function Io(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))a=0;else{a=0;do{a=(c[b>>2]|0)+(a<<4)|0;e=a&-268435456;a=(e>>>24|e)^a;b=b+4|0}while((b|0)!=(d|0))}return a|0}function Jo(a){a=a|0;return}function Ko(a){a=a|0;cj(a);return}function Lo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;q=s+56|0;j=s+52|0;n=s+48|0;k=s+44|0;l=s+40|0;m=s+36|0;p=s+32|0;t=s+8|0;r=s;a:do{if(!(c[f+4>>2]&1)){c[n>>2]=-1;t=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[j>>2]=c[k>>2];c[q>>2]=c[l>>2];j=Db[t&63](b,j,q,f,g,n)|0;c[d>>2]=j;switch(c[n>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{j=jn(f)|0;c[m>>2]=j;o=0;b=ra(37,m|0,44220)|0;n=o;o=0;do{if(!(n&1)){pm(j)|0;j=jn(f)|0;c[p>>2]=j;o=0;l=ra(37,p|0,44360)|0;p=o;o=0;if(p&1){t=Na()|0;pm(j)|0;j=t;break}pm(j)|0;o=0;ia(c[(c[l>>2]|0)+24>>2]|0,t|0,l|0);p=o;o=0;if(!(p&1)){k=t+12|0;o=0;ia(c[(c[l>>2]|0)+28>>2]|0,k|0,l|0);p=o;o=0;if(!(p&1)){c[r>>2]=c[e>>2];o=0;c[q>>2]=c[r>>2];j=ea(7,d|0,q|0,t|0,t+24|0,b|0,g|0,1)|0;g=o;o=0;if(g&1){j=Na()|0;Im(t+12|0);Im(t);break}else{a[h>>0]=(j|0)==(t|0)&1;j=c[d>>2]|0;Im(t+12|0);Im(t);break a}}}else k=t;j=Na()|0;l=D;if((t|0)!=(k|0))do{k=k+-12|0;Im(k)}while((k|0)!=(t|0))}else{t=Na()|0;pm(j)|0;j=t}}while(0);Ya(j|0)}}while(0);i=s;return j|0}function Mo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=yu(a,k,j,e,f,g)|0;i=h;return a|0}function No(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=zu(a,k,j,e,f,g)|0;i=h;return a|0}function Oo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Au(a,k,j,e,f,g)|0;i=h;return a|0}function Po(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Bu(a,k,j,e,f,g)|0;i=h;return a|0}function Qo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Cu(a,k,j,e,f,g)|0;i=h;return a|0}function Ro(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Du(a,k,j,e,f,g)|0;i=h;return a|0}function So(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Eu(a,k,j,e,f,g)|0;i=h;return a|0}function To(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Fu(a,k,j,e,f,g)|0;i=h;return a|0}function Uo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Gu(a,k,j,e,f,g)|0;i=h;return a|0}function Vo(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;C=i;i=i+240|0;x=C;s=C+208|0;E=C+32|0;b=C+28|0;D=C+16|0;w=C+12|0;u=C+48|0;v=C+8|0;t=C+4|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;o=0;g=ka(68,g|0)|0;r=o;o=0;do{if(r&1)b=Na()|0;else{c[b>>2]=g;o=0;b=ra(37,b|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,va(c[(c[b>>2]|0)+32>>2]|0,b|0,57498,57524,s|0)|0,r=o,o=0,!(r&1)):0){pm(g)|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;if(!(a[D>>0]&1))b=10;else b=(c[D>>2]&-2)+-1|0;o=0;wa(8,D|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){q=D+8|0;r=D+1|0;g=(a[D>>0]&1)==0?r:c[q>>2]|0;c[w>>2]=g;c[v>>2]=u;c[t>>2]=0;p=D+4|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){F=29;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){F=29;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;F=19;break}}else F=19}while(0);if((F|0)==19){F=0;if(l){k=0;break}else k=0}l=a[D>>0]|0;l=(l&1)==0?(l&255)>>>1:c[p>>2]|0;if((c[w>>2]|0)==(g+l|0)){o=0;wa(8,D|0,l<<1|0,0);n=o;o=0;if(n&1){F=29;break}if(!(a[D>>0]&1))g=10;else g=(c[D>>2]&-2)+-1|0;o=0;wa(8,D|0,g|0,0);n=o;o=0;if(n&1){F=29;break}g=(a[D>>0]&1)==0?r:c[q>>2]|0;c[w>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=29;break}}else l=d[l>>0]|0;if(Wo(l&255,16,g,w,t,0,E,u,v,s)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=29;break}else continue}else{c[m>>2]=k+1;continue}}if((F|0)==29){b=Na()|0;break}o=0;wa(8,D|0,(c[w>>2]|0)-g|0,0);G=o;o=0;if((!(G&1)?(y=a[D>>0]|0,z=c[q>>2]|0,o=0,A=ua(3)|0,G=o,o=0,!(G&1)):0)?(o=0,c[x>>2]=j,B=va(16,((y&1)==0?r:z)|0,A|0,58882,x|0)|0,G=o,o=0,!(G&1)):0){if((B|0)!=1)c[h>>2]=4;if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=30;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;G=o;o=0;if(G&1){F=30;break a}if((b|0)==-1){c[f>>2]=0;F=55;break}}if(!g)F=56}else F=55}while(0);if((F|0)==55?g:0)F=56;if((F|0)==56)c[h>>2]=c[h>>2]|2;G=c[e>>2]|0;Im(D);Im(E);i=C;return G|0}else F=30}else F=30}while(0);if((F|0)==30)b=Na()|0;Im(D);break}b=Na()|0;pm(g)|0}}while(0);Im(E);Ya(b|0);return 0}function Wo(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do{if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5}while(0);a:do{if((n|0)==5){n=a[i>>0]|0;if(b<<24>>24==h<<24>>24?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+26|0;m=l;while(1){if((a[m>>0]|0)==b<<24>>24)break;m=m+1|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[57498+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[57498+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}}while(0);return m|0}function Xo(){var b=0,d=0;do{if((a[1968]|0)==0?(Ha(1968)|0)!=0:0){o=0;b=ma(31,2147483647,58885,0)|0;d=o;o=0;if(d&1){d=Na()|0;sb(1968);Ya(d|0)}else{c[11196]=b;Pa(1968);break}}}while(0);return c[11196]|0}function Yo(a){a=a|0;return}function Zo(a){a=a|0;cj(a);return}function _o(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;q=s+56|0;j=s+52|0;n=s+48|0;k=s+44|0;l=s+40|0;m=s+36|0;p=s+32|0;t=s+8|0;r=s;a:do{if(!(c[f+4>>2]&1)){c[n>>2]=-1;t=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[j>>2]=c[k>>2];c[q>>2]=c[l>>2];j=Db[t&63](b,j,q,f,g,n)|0;c[d>>2]=j;switch(c[n>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{j=jn(f)|0;c[m>>2]=j;o=0;b=ra(37,m|0,44212)|0;n=o;o=0;do{if(!(n&1)){pm(j)|0;j=jn(f)|0;c[p>>2]=j;o=0;l=ra(37,p|0,44368)|0;p=o;o=0;if(p&1){t=Na()|0;pm(j)|0;j=t;break}pm(j)|0;o=0;ia(c[(c[l>>2]|0)+24>>2]|0,t|0,l|0);p=o;o=0;if(!(p&1)){k=t+12|0;o=0;ia(c[(c[l>>2]|0)+28>>2]|0,k|0,l|0);p=o;o=0;if(!(p&1)){c[r>>2]=c[e>>2];o=0;c[q>>2]=c[r>>2];j=ea(8,d|0,q|0,t|0,t+24|0,b|0,g|0,1)|0;g=o;o=0;if(g&1){j=Na()|0;Wm(t+12|0);Wm(t);break}else{a[h>>0]=(j|0)==(t|0)&1;j=c[d>>2]|0;Wm(t+12|0);Wm(t);break a}}}else k=t;j=Na()|0;l=D;if((t|0)!=(k|0))do{k=k+-12|0;Wm(k)}while((k|0)!=(t|0))}else{t=Na()|0;pm(j)|0;j=t}}while(0);Ya(j|0)}}while(0);i=s;return j|0}function $o(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ju(a,k,j,e,f,g)|0;i=h;return a|0}function ap(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ku(a,k,j,e,f,g)|0;i=h;return a|0}function bp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Lu(a,k,j,e,f,g)|0;i=h;return a|0}function cp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Mu(a,k,j,e,f,g)|0;i=h;return a|0}function dp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Nu(a,k,j,e,f,g)|0;i=h;return a|0}function ep(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ou(a,k,j,e,f,g)|0;i=h;return a|0}function fp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Pu(a,k,j,e,f,g)|0;i=h;return a|0}function gp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Qu(a,k,j,e,f,g)|0;i=h;return a|0}function hp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ru(a,k,j,e,f,g)|0;i=h;return a|0}function ip(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;B=i;i=i+320|0;w=B;r=B+208|0;D=B+32|0;b=B+28|0;C=B+16|0;v=B+12|0;t=B+48|0;u=B+8|0;s=B+4|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;f=ka(68,f|0)|0;q=o;o=0;do{if(q&1)b=Na()|0;else{c[b>>2]=f;o=0;b=ra(37,b|0,44212)|0;q=o;o=0;if(!(q&1)?(o=0,va(c[(c[b>>2]|0)+48>>2]|0,b|0,57498,57524,r|0)|0,q=o,o=0,!(q&1)):0){pm(f)|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;if(!(a[C>>0]&1))b=10;else b=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,b|0,0);q=o;o=0;a:do{if(!(q&1)){p=C+8|0;q=C+1|0;b=(a[C>>0]&1)==0?q:c[p>>2]|0;c[v>>2]=b;c[u>>2]=t;c[s>>2]=0;n=C+4|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){E=30;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){E=30;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k){j=l;break}else{j=l;break b}else{c[e>>2]=0;E=20;break}}else E=20}while(0);if((E|0)==20){E=0;if(k){j=0;break}else j=0}k=a[C>>0]|0;k=(k&1)==0?(k&255)>>>1:c[n>>2]|0;if((c[v>>2]|0)==(b+k|0)){o=0;wa(8,C|0,k<<1|0,0);m=o;o=0;if(m&1){E=30;break}if(!(a[C>>0]&1))b=10;else b=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,b|0,0);m=o;o=0;if(m&1){E=30;break}b=(a[C>>0]&1)==0?q:c[p>>2]|0;c[v>>2]=b+k}l=f+12|0;k=c[l>>2]|0;m=f+16|0;if((k|0)==(c[m>>2]|0)){o=0;k=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=30;break}}else k=c[k>>2]|0;if(jp(k,16,b,v,s,0,D,t,u,r)|0)break;j=c[l>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=30;break}else{j=f;continue}}else{c[l>>2]=j+4;j=f;continue}}if((E|0)==30){b=Na()|0;break}o=0;wa(8,C|0,(c[v>>2]|0)-b|0,0);F=o;o=0;if((!(F&1)?(x=a[C>>0]|0,y=c[p>>2]|0,o=0,z=ua(3)|0,F=o,o=0,!(F&1)):0)?(o=0,c[w>>2]=h,A=va(16,((x&1)==0?q:y)|0,z|0,58882,w|0)|0,F=o,o=0,!(F&1)):0){if((A|0)!=1)c[g>>2]=4;if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=31;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;F=o;o=0;if(F&1){E=31;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{E=59;break}else{c[e>>2]=0;E=57;break}}else E=57}while(0);if((E|0)==57?f:0)E=59;if((E|0)==59)c[g>>2]=c[g>>2]|2;F=c[d>>2]|0;Im(C);Im(D);i=B;return F|0}else E=31}else E=31}while(0);if((E|0)==31)b=Na()|0;Im(C);break}b=Na()|0;pm(f)|0}}while(0);Im(D);Ya(b|0);return 0}function jp(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do{if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5}while(0);a:do{if((n|0)==5){n=a[i>>0]|0;if((b|0)==(h|0)?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+104|0;m=l;while(1){if((c[m>>2]|0)==(b|0))break;m=m+4|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;i=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((i|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[57498+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[57498+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}}while(0);return m|0}function kp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;k=l;d=jn(d)|0;c[k>>2]=d;o=0;g=ra(37,k|0,44220)|0;m=o;o=0;if((((!(m&1)?(o=0,va(c[(c[g>>2]|0)+32>>2]|0,g|0,57498,57524,e|0)|0,m=o,o=0,!(m&1)):0)?(o=0,j=ra(37,k|0,44360)|0,m=o,o=0,!(m&1)):0)?(o=0,h=ka(c[(c[j>>2]|0)+16>>2]|0,j|0)|0,m=o,o=0,!(m&1)):0)?(a[f>>0]=h,o=0,ia(c[(c[j>>2]|0)+20>>2]|0,b|0,j|0),m=o,o=0,!(m&1)):0){pm(d)|0;i=l;return}m=Na()|0;pm(d)|0;Ya(m|0)}function lp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0;n=i;i=i+16|0;m=n;d=jn(d)|0;c[m>>2]=d;o=0;h=ra(37,m|0,44220)|0;p=o;o=0;if(((((!(p&1)?(o=0,va(c[(c[h>>2]|0)+32>>2]|0,h|0,57498,57530,e|0)|0,p=o,o=0,!(p&1)):0)?(o=0,l=ra(37,m|0,44360)|0,p=o,o=0,!(p&1)):0)?(o=0,j=ka(c[(c[l>>2]|0)+12>>2]|0,l|0)|0,p=o,o=0,!(p&1)):0)?(a[f>>0]=j,o=0,k=ka(c[(c[l>>2]|0)+16>>2]|0,l|0)|0,p=o,o=0,!(p&1)):0)?(a[g>>0]=k,o=0,ia(c[(c[l>>2]|0)+20>>2]|0,b|0,l|0),p=o,o=0,!(p&1)):0){pm(d)|0;i=n;return}p=Na()|0;pm(d)|0;Ya(p|0)}function mp(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do{if(b<<24>>24==i<<24>>24)if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if(b<<24>>24==j<<24>>24?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+32|0;p=o;while(1){if((a[p>>0]|0)==b<<24>>24)break;p=p+1|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;if((i|0)>31)p=-1;else{j=a[57498+i>>0]|0;switch(i|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=j;p=0;break a}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>21){p=0;break a}c[n>>2]=(c[n>>2]|0)+1;p=0;break a}}}}}while(0);return p|0}function np(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;j=k;b=jn(b)|0;c[j>>2]=b;o=0;f=ra(37,j|0,44212)|0;l=o;o=0;if((((!(l&1)?(o=0,va(c[(c[f>>2]|0)+48>>2]|0,f|0,57498,57524,d|0)|0,l=o,o=0,!(l&1)):0)?(o=0,h=ra(37,j|0,44368)|0,l=o,o=0,!(l&1)):0)?(o=0,g=ka(c[(c[h>>2]|0)+16>>2]|0,h|0)|0,l=o,o=0,!(l&1)):0)?(c[e>>2]=g,o=0,ia(c[(c[h>>2]|0)+20>>2]|0,a|0,h|0),l=o,o=0,!(l&1)):0){pm(b)|0;i=k;return}l=Na()|0;pm(b)|0;Ya(l|0)}function op(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;l=m;b=jn(b)|0;c[l>>2]=b;o=0;g=ra(37,l|0,44212)|0;n=o;o=0;if(((((!(n&1)?(o=0,va(c[(c[g>>2]|0)+48>>2]|0,g|0,57498,57530,d|0)|0,n=o,o=0,!(n&1)):0)?(o=0,k=ra(37,l|0,44368)|0,n=o,o=0,!(n&1)):0)?(o=0,h=ka(c[(c[k>>2]|0)+12>>2]|0,k|0)|0,n=o,o=0,!(n&1)):0)?(c[e>>2]=h,o=0,j=ka(c[(c[k>>2]|0)+16>>2]|0,k|0)|0,n=o,o=0,!(n&1)):0)?(c[f>>2]=j,o=0,ia(c[(c[k>>2]|0)+20>>2]|0,a|0,k|0),n=o,o=0,!(n&1)):0){pm(b)|0;i=m;return}n=Na()|0;pm(b)|0;Ya(n|0)}function pp(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do{if((b|0)==(i|0))if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if((b|0)==(j|0)?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+128|0;p=o;while(1){if((c[p>>2]|0)==(b|0))break;p=p+4|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;p=i>>2;if((i|0)<=124){j=a[57498+p>>0]|0;switch(p|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;break}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}}}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>84)p=0;else{c[n>>2]=(c[n>>2]|0)+1;p=0}}else p=-1}}while(0);return p|0}function qp(a){a=a|0;return}function rp(a){a=a|0;cj(a);return}function sp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n;a:do{if(!(c[e+4>>2]&1)){m=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Mb[m&31](b,h,e,f,g&1)|0}else{h=jn(e)|0;c[k>>2]=h;o=0;j=ra(37,k|0,44360)|0;l=o;o=0;b:do{if(l&1){n=Na()|0;pm(h)|0;h=n}else{pm(h)|0;h=c[j>>2]|0;if(g)Cb[c[h+24>>2]&127](m,j);else Cb[c[h+28>>2]&127](m,j);b=a[m>>0]|0;l=(b&1)==0;h=m+1|0;g=m+8|0;k=l?h:m+1|0;h=l?h:c[m+8>>2]|0;l=m+4|0;e=(b&1)==0;c:do{if((h|0)!=((e?k:c[g>>2]|0)+(e?(b&255)>>>1:c[l>>2]|0)|0)){d:while(1){j=a[h>>0]|0;f=c[d>>2]|0;do{if(f){e=f+24|0;b=c[e>>2]|0;if((b|0)!=(c[f+28>>2]|0)){c[e>>2]=b+1;a[b>>0]=j;break}o=0;j=ra(c[(c[f>>2]|0)+52>>2]|0,f|0,j&255|0)|0;b=o;o=0;if(b&1)break d;if((j|0)==-1)c[d>>2]=0}}while(0);h=h+1|0;b=a[m>>0]|0;e=(b&1)==0;if((h|0)==((e?k:c[g>>2]|0)+(e?(b&255)>>>1:c[l>>2]|0)|0))break c}h=Na()|0;Im(m);break b}}while(0);h=c[d>>2]|0;Im(m);break a}}while(0);Ya(h|0)}}while(0);i=n;return h|0}function tp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+64|0;h=n;q=n+56|0;r=n+44|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,1,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(1,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=cd(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function up(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=a[c>>0]|0;if(f<<24>>24){g=c;while(1){g=g+1|0;c=b+1|0;a[b>>0]=f;f=a[g>>0]|0;if(!(f<<24>>24)){b=c;break}else b=c}}a:do{switch(e&74|0){case 64:{a[b>>0]=111;break}case 8:if(!(e&16384)){a[b>>0]=120;break a}else{a[b>>0]=88;break a}default:if(d){a[b>>0]=100;break a}else{a[b>>0]=117;break a}}}while(0);return}function vp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do{switch(c[e+4>>2]&176|0){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}}while(0);return b|0}function wp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;t=Is(j,44220)|0;m=Is(j,44360)|0;Cb[c[(c[m>>2]|0)+20>>2]&127](w,m);r=a[w>>0]|0;s=w+4|0;a:do{if(!(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0)){o=0;va(c[(c[t>>2]|0)+32>>2]|0,t|0,b|0,e|0,f|0)|0;u=o;o=0;if(u&1)u=5;else{j=f+(e-b)|0;c[h>>2]=j;u=29}}else{c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,j|0)|0;r=o;o=0;if(r&1){u=5;break a}l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=j;l=b+1|0;break}default:l=b}b:do{if((e-l|0)>1?(a[l>>0]|0)==48:0){j=l+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break b}o=0;k=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,48)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+1;a[r>>0]=k;o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,a[j>>0]|0)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+1;a[r>>0]=j;l=l+2|0}}while(0);if((l|0)!=(e|0)?(n=e+-1|0,l>>>0>>0):0){k=l;j=n;do{r=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=r;k=k+1|0;j=j+-1|0}while(k>>>0>>0)}o=0;n=ka(c[(c[m>>2]|0)+16>>2]|0,m|0)|0;r=o;o=0;if(!(r&1)){p=w+8|0;q=w+1|0;c:do{if(l>>>0>>0){j=0;k=0;r=l;while(1){m=a[((a[w>>0]&1)==0?q:c[p>>2]|0)+k>>0]|0;if(m<<24>>24!=0&(j|0)==(m<<24>>24|0)){j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=n;j=a[w>>0]|0;m=0;k=(k>>>0<(((j&1)==0?(j&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+k|0}else m=j;o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,a[r>>0]|0)|0;x=o;o=0;if(x&1)break;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=j;r=r+1|0;if(r>>>0>=e>>>0)break c;else j=m+1|0}j=Na()|0;break a}}while(0);k=b;j=f+(l-k)|0;b=c[h>>2]|0;if((j|0)==(b|0)){b=k;u=29}else{b=b+-1|0;if(j>>>0>>0)do{x=a[j>>0]|0;a[j>>0]=a[b>>0]|0;a[b>>0]=x;j=j+1|0;b=b+-1|0}while(j>>>0>>0);b=k;j=c[h>>2]|0;u=29}}else u=5}}while(0);if((u|0)==5)j=Na()|0;else if((u|0)==29){c[g>>2]=(d|0)==(e|0)?j:f+(d-b)|0;Im(w);i=v;return}Im(w);Ya(j|0)}function xp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+96|0;h=n+8|0;a=n;q=n+74|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,1,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,22,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(1,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=cd(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function yp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+64|0;h=n;q=n+56|0;r=n+44|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,0,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(1,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=cd(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function zp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+112|0;h=n+8|0;a=n;q=n+75|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,0,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,23,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(1,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=cd(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function Ap(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+176|0;u=z+84|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+88|0;t=z+80|0;k=z+118|0;y=z+76|0;x=z+72|0;v=z+68|0;w=z+64|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58898,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,c[q>>2]=c[d+8>>2],h[q+8>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<1)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(2,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(39,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Bp(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}h=d&260;f=d>>>14;i=(h|0)==260;if(i)g=0;else{a[b>>0]=46;a[b+1>>0]=42;b=b+2|0;g=1}d=a[c>>0]|0;if(d<<24>>24){e=b;while(1){c=c+1|0;b=e+1|0;a[e>>0]=d;d=a[c>>0]|0;if(!(d<<24>>24))break;else e=b}}a:do{switch(h|0){case 4:if(!(f&1)){a[b>>0]=102;break a}else{a[b>>0]=70;break a}case 256:if(!(f&1)){a[b>>0]=101;break a}else{a[b>>0]=69;break a}default:{d=(f&1|0)!=0;if(i)if(d){a[b>>0]=65;break a}else{a[b>>0]=97;break a}else if(d){a[b>>0]=71;break a}else{a[b>>0]=103;break a}}}}while(0);return g|0}function Cp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=i;i=i+16|0;A=z;y=Is(j,44220)|0;w=Is(j,44360)|0;Cb[c[(c[w>>2]|0)+20>>2]&127](A,w);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,j|0)|0;x=o;o=0;if(x&1)v=8;else{n=c[h>>2]|0;c[h>>2]=n+1;a[n>>0]=j;n=b+1|0;v=10}break}default:{n=b;v=10}}a:do{if((v|0)==10){x=e;b:do{if((x-n|0)>1?(a[n>>0]|0)==48:0){l=n+1|0;switch(a[l>>0]|0){case 88:case 120:break;default:{v=11;break b}}o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,48)|0;u=o;o=0;if(u&1){v=8;break a}u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=j;n=n+2|0;o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,a[l>>0]|0)|0;u=o;o=0;if(u&1){v=8;break a}u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=j;if(n>>>0>>0){j=n;while(1){l=a[j>>0]|0;o=0;m=ua(3)|0;u=o;o=0;if(u&1)break;o=0;l=ra(39,l<<24>>24|0,m|0)|0;u=o;o=0;if(u&1)break;if(!l){u=n;break b}j=j+1|0;if(j>>>0>=e>>>0){u=n;break b}}j=Na()|0;break a}else{u=n;j=n}}else v=11}while(0);c:do{if((v|0)==11)if(n>>>0>>0){j=n;while(1){l=a[j>>0]|0;o=0;m=ua(3)|0;u=o;o=0;if(u&1)break;o=0;l=ra(40,l<<24>>24|0,m|0)|0;u=o;o=0;if(u&1)break;if(!l){u=n;break c}j=j+1|0;if(j>>>0>=e>>>0){u=n;break c}}j=Na()|0;break a}else{u=n;j=n}}while(0);s=a[A>>0]|0;t=A+4|0;if(((s&1)==0?(s&255)>>>1:c[t>>2]|0)|0){if((u|0)!=(j|0)?(p=j+-1|0,u>>>0

>>0):0){m=u;l=p;do{s=a[m>>0]|0;a[m>>0]=a[l>>0]|0;a[l>>0]=s;m=m+1|0;l=l+-1|0}while(m>>>0>>0)}o=0;p=ka(c[(c[w>>2]|0)+16>>2]|0,w|0)|0;s=o;o=0;if(s&1){v=8;break}q=A+8|0;r=A+1|0;d:do{if(u>>>0>>0){l=0;m=0;s=u;while(1){n=a[((a[A>>0]&1)==0?r:c[q>>2]|0)+m>>0]|0;if(n<<24>>24>0&(l|0)==(n<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=p;l=a[A>>0]|0;n=0;m=(m>>>0<(((l&1)==0?(l&255)>>>1:c[t>>2]|0)+-1|0)>>>0&1)+m|0}else n=l;o=0;l=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,a[s>>0]|0)|0;B=o;o=0;if(B&1)break;B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=l;s=s+1|0;if(s>>>0>=j>>>0)break d;else l=n+1|0}j=Na()|0;break a}}while(0);l=f+(u-b)|0;m=c[h>>2]|0;if((l|0)!=(m|0)?(k=m+-1|0,l>>>0>>0):0){do{B=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=B;l=l+1|0;k=k+-1|0}while(l>>>0>>0);l=y}else l=y}else{o=0;va(c[(c[y>>2]|0)+32>>2]|0,y|0,u|0,j|0,c[h>>2]|0)|0;B=o;o=0;if(B&1){v=8;break}c[h>>2]=(c[h>>2]|0)+(j-u);l=y}e:do{if(j>>>0>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46)break;o=0;k=ra(c[(c[l>>2]|0)+28>>2]|0,y|0,k|0)|0;B=o;o=0;if(B&1){v=4;break}B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=k;j=j+1|0;if(j>>>0>=e>>>0)break e}if((v|0)==4){j=Na()|0;break a}o=0;k=ka(c[(c[w>>2]|0)+12>>2]|0,w|0)|0;B=o;o=0;if(B&1){v=8;break a}B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=k;j=j+1|0}}while(0);o=0;va(c[(c[y>>2]|0)+32>>2]|0,y|0,j|0,e|0,c[h>>2]|0)|0;B=o;o=0;if(B&1)v=8;else{B=(c[h>>2]|0)+(x-j)|0;c[h>>2]=B;c[g>>2]=(d|0)==(e|0)?B:f+(d-b)|0;Im(A);i=z;return}}}while(0);if((v|0)==8)j=Na()|0;Im(A);Ya(j|0)}function Dp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+176|0;u=z+76|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+80|0;t=z+72|0;k=z+110|0;y=z+68|0;x=z+64|0;v=z+60|0;w=z+56|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58899,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,h[q>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<1)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(2,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(39,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Ep(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+80|0;l=q;b=q+70|0;n=q+12|0;p=q+32|0;k=q+8|0;m=q+4|0;a[b>>0]=a[58901]|0;a[b+1>>0]=a[58902]|0;a[b+2>>0]=a[58903]|0;a[b+3>>0]=a[58904]|0;a[b+4>>0]=a[58905]|0;a[b+5>>0]=a[58906]|0;h=Xo()|0;c[l>>2]=g;b=Su(n,20,h,b,l)|0;g=n+b|0;h=vp(n,g,e)|0;j=jn(e)|0;c[k>>2]=j;o=0;k=ra(37,k|0,44220)|0;r=o;o=0;if(r&1){r=Na()|0;pm(j)|0;Ya(r|0)}else{pm(j)|0;Pb[c[(c[k>>2]|0)+32>>2]&31](k,n,g,p)|0;r=p+b|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];r=cd(l,p,(h|0)==(g|0)?r:p+(h-n)|0,r,e,f)|0;i=q;return r|0}return 0}function Fp(a){a=a|0;return}function Gp(a){a=a|0;cj(a);return}function Hp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+20|0;j=m+16|0;k=m+12|0;l=m;a:do{if(!(c[e+4>>2]&1)){l=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Mb[l&31](b,h,e,f,g&1)|0}else{h=jn(e)|0;c[k>>2]=h;o=0;j=ra(37,k|0,44368)|0;k=o;o=0;b:do{if(k&1){m=Na()|0;pm(h)|0;h=m}else{pm(h)|0;h=c[j>>2]|0;if(g)Cb[c[h+24>>2]&127](l,j);else Cb[c[h+28>>2]&127](l,j);b=a[l>>0]|0;e=(b&1)==0;h=l+4|0;g=l+8|0;k=e?h:l+4|0;h=e?h:c[l+8>>2]|0;e=(b&1)==0;c:do{if((h|0)!=((e?k:c[g>>2]|0)+((e?(b&255)>>>1:c[k>>2]|0)<<2)|0)){while(1){j=c[h>>2]|0;f=c[d>>2]|0;if(f){e=f+24|0;b=c[e>>2]|0;if((b|0)==(c[f+28>>2]|0)){o=0;j=ra(c[(c[f>>2]|0)+52>>2]|0,f|0,j|0)|0;b=o;o=0;if(b&1)break}else{c[e>>2]=b+4;c[b>>2]=j}if((j|0)==-1)c[d>>2]=0}h=h+4|0;b=a[l>>0]|0;e=(b&1)==0;if((h|0)==((e?k:c[g>>2]|0)+((e?(b&255)>>>1:c[k>>2]|0)<<2)|0))break c}h=Na()|0;Wm(l);break b}}while(0);h=c[d>>2]|0;Wm(l);break a}}while(0);Ya(h|0)}}while(0);i=m;return h|0}function Ip(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+128|0;h=n;q=n+116|0;r=n+104|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,1,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(3,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=Uu(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function Jp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;t=Is(j,44212)|0;m=Is(j,44368)|0;Cb[c[(c[m>>2]|0)+20>>2]&127](w,m);r=a[w>>0]|0;s=w+4|0;a:do{if(!(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0)){o=0;va(c[(c[t>>2]|0)+48>>2]|0,t|0,b|0,e|0,f|0)|0;u=o;o=0;if(u&1)u=5;else{j=f+(e-b<<2)|0;c[h>>2]=j;u=28}}else{c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,j|0)|0;r=o;o=0;if(r&1){u=5;break a}l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=j;l=b+1|0;break}default:l=b}b:do{if((e-l|0)>1?(a[l>>0]|0)==48:0){j=l+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{r=l;break b}}o=0;k=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,48)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+4;c[r>>2]=k;o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,a[j>>0]|0)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+4;c[r>>2]=j;r=l+2|0}else r=l}while(0);if((r|0)!=(e|0)?(n=e+-1|0,r>>>0>>0):0){k=r;j=n;do{q=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=q;k=k+1|0;j=j+-1|0}while(k>>>0>>0)}o=0;m=ka(c[(c[m>>2]|0)+16>>2]|0,m|0)|0;q=o;o=0;if(!(q&1)){n=w+8|0;p=w+1|0;c:do{if(r>>>0>>0){j=0;k=0;q=r;while(1){l=a[((a[w>>0]&1)==0?p:c[n>>2]|0)+k>>0]|0;if(l<<24>>24!=0&(j|0)==(l<<24>>24|0)){j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=m;j=a[w>>0]|0;l=0;k=(k>>>0<(((j&1)==0?(j&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+k|0}else l=j;o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,a[q>>0]|0)|0;x=o;o=0;if(x&1)break;x=c[h>>2]|0;c[h>>2]=x+4;c[x>>2]=j;q=q+1|0;if(q>>>0>=e>>>0)break c;else j=l+1|0}j=Na()|0;break a}}while(0);l=b;j=f+(r-l<<2)|0;k=c[h>>2]|0;if((j|0)!=(k|0)){b=k+-4|0;if(j>>>0>>0){do{x=c[j>>2]|0;c[j>>2]=c[b>>2];c[b>>2]=x;j=j+4|0;b=b+-4|0}while(j>>>0>>0);b=l;j=k;u=28}else{b=l;j=k;u=28}}else{b=l;u=28}}else u=5}}while(0);if((u|0)==5)j=Na()|0;else if((u|0)==28){c[g>>2]=(d|0)==(e|0)?j:f+(d-b<<2)|0;Im(w);i=v;return}Im(w);Ya(j|0)}function Kp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+224|0;h=n+8|0;a=n;q=n+196|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,1,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,22,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(3,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=Uu(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function ut(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+16|0;s=u;q=u+8|0;a:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break a;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}}while(0);c[k>>2]=h;c[g>>2]=e;n=j;r=b+8|0;b:do{if(!((h|0)==(j|0)|(e|0)==(f|0))){b=h;m=l;c:while(1){w=d;h=c[w+4>>2]|0;l=s;c[l>>2]=c[w>>2];c[l+4>>2]=h;l=qk(c[r>>2]|0)|0;o=0;h=sa(21,b|0,g|0,m-e>>2|0,n-b|0,d|0)|0;w=o;o=0;if(w&1){v=9;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=8;break}switch(h|0){case 0:{p=1;break b}case-1:{l=b;v=14;break c}default:{}}l=(c[k>>2]|0)+h|0;c[k>>2]=l;if((l|0)==(j|0)){v=27;break}if((m|0)==(f|0)){e=c[g>>2]|0;b=l;l=f}else{l=qk(c[r>>2]|0)|0;o=0;e=ma(34,q|0,0,d|0)|0;w=o;o=0;if(w&1){v=35;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=34;break}if((e|0)==-1){p=2;break b}if(e>>>0>(n-(c[k>>2]|0)|0)>>>0){p=1;break b}if(e){l=q;while(1){m=a[l>>0]|0;w=c[k>>2]|0;c[k>>2]=w+1;a[w>>0]=m;e=e+-1|0;if(!e)break;else l=l+1|0}}e=(c[g>>2]|0)+4|0;c[g>>2]=e;d:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break d;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}}while(0);b=c[k>>2]|0}if((b|0)==(j|0)|(e|0)==(f|0)){v=47;break b}else m=l}if((v|0)==8){w=Na(0)|0;ec(w)}else if((v|0)==9){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==14){c[k>>2]=l;e:do{if((e|0)!=(c[g>>2]|0)){while(1){w=c[e>>2]|0;b=qk(c[r>>2]|0)|0;o=0;l=ma(34,l|0,w|0,s|0)|0;w=o;o=0;if(w&1){t=b;break}if((b|0)!=0?(o=0,ka(75,b|0)|0,w=o,o=0,w&1):0){v=18;break}if((l|0)==-1)break e;l=(c[k>>2]|0)+l|0;c[k>>2]=l;e=e+4|0;if((e|0)==(c[g>>2]|0))break e}if((v|0)==18){w=Na(0)|0;ec(w)}e=Na()|0;if((t|0)!=0?(o=0,ka(75,t|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}}while(0);c[g>>2]=e;p=2;break}else if((v|0)==27){e=c[g>>2]|0;v=47;break}else if((v|0)==34){w=Na(0)|0;ec(w)}else if((v|0)==35){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}}else v=47}while(0);if((v|0)==47)p=(e|0)!=(f|0)&1;i=u;return p|0}function vt(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+16|0;t=u;a:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break a;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}}while(0);c[k>>2]=h;c[g>>2]=e;p=j;r=b+8|0;b:do{if(!((h|0)==(j|0)|(e|0)==(f|0))){b=h;n=l;c:while(1){m=d;l=c[m+4>>2]|0;h=t;c[h>>2]=c[m>>2];c[h+4>>2]=l;h=n;l=qk(c[r>>2]|0)|0;o=0;m=sa(22,b|0,g|0,h-e|0,p-b>>2|0,d|0)|0;w=o;o=0;if(w&1){v=9;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=8;break}switch(m|0){case 0:{q=2;break b}case-1:{l=b;v=14;break c}default:{}}b=(c[k>>2]|0)+(m<<2)|0;c[k>>2]=b;if((b|0)==(j|0)){v=31;break}e=c[g>>2]|0;if((n|0)==(f|0))l=f;else{l=qk(c[r>>2]|0)|0;o=0;e=va(20,b|0,e|0,1,d|0)|0;w=o;o=0;if(w&1){v=38;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=37;break}if(e){q=2;break b}c[k>>2]=(c[k>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;d:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break d;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}}while(0);b=c[k>>2]|0}if((b|0)==(j|0)|(e|0)==(f|0)){v=47;break b}else n=l}if((v|0)==8){w=Na(0)|0;ec(w)}else if((v|0)==9){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==14){c[k>>2]=l;e:do{if((e|0)!=(c[g>>2]|0)){b=l;f:while(1){l=qk(c[r>>2]|0)|0;o=0;b=va(20,b|0,e|0,h-e|0,t|0)|0;w=o;o=0;if(w&1){v=19;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=18;break}switch(b|0){case-1:{v=25;break f}case-2:{v=26;break f}case 0:{e=e+1|0;break}default:e=e+b|0}b=(c[k>>2]|0)+4|0;c[k>>2]=b;if((e|0)==(c[g>>2]|0)){s=e;break e}}if((v|0)==18){w=Na(0)|0;ec(w)}else if((v|0)==19){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==25){c[g>>2]=e;q=2;break b}else if((v|0)==26){c[g>>2]=e;q=1;break b}}else s=e}while(0);c[g>>2]=s;q=(s|0)!=(f|0)&1;break}else if((v|0)==31){e=c[g>>2]|0;v=47;break}else if((v|0)==37){w=Na(0)|0;ec(w)}else if((v|0)==38){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}}else v=47}while(0);if((v|0)==47)q=(e|0)!=(f|0)&1;i=u;return q|0}function wt(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;j=i;i=i+16|0;h=j;c[g>>2]=e;e=qk(c[b+8>>2]|0)|0;o=0;b=ma(34,h|0,0,d|0)|0;d=o;o=0;if(d&1){h=Na()|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,j=o,o=0,j&1):0){j=Na(0)|0;ec(j)}Ya(h|0)}if((e|0)!=0?(o=0,ka(75,e|0)|0,d=o,o=0,d&1):0){d=Na(0)|0;ec(d)}switch(b|0){case 0:case-1:{h=2;break}default:{b=b+-1|0;if(b>>>0<=(f-(c[g>>2]|0)|0)>>>0)if(!b)h=0;else while(1){d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;b=b+-1|0;if(!b){h=0;break}else h=h+1|0}else h=1}}i=j;return h|0}function xt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+8|0;o=0;d=ka(75,c[b>>2]|0)|0;e=o;o=0;do{if(e&1)f=16;else{o=0;e=ma(35,0,0,4)|0;a=o;o=0;if(a&1){a=Na(0)|0;if(!d)break;o=0;ka(75,d|0)|0;h=o;o=0;if(!(h&1))break;h=Na(0)|0;ec(h)}if((d|0)!=0?(o=0,ka(75,d|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}if(!e){a=c[b>>2]|0;if(a){o=0;a=ka(75,a|0)|0;h=o;o=0;if(h&1){f=16;break}if((a|0)!=0?(o=0,ka(75,a|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}else g=0}else g=1}else g=-1;return g|0}}while(0);if((f|0)==16)a=Na(0)|0;ec(a);return 0}function yt(a){a=a|0;return 0}function zt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=e;j=a+8|0;a:do{if((d|0)==(e|0)|(f|0)==0)a=0;else{a=0;i=0;while(1){h=qk(c[j>>2]|0)|0;o=0;g=ma(36,d|0,k-d|0,b|0)|0;n=o;o=0;if(n&1){m=h;break}if((h|0)!=0?(o=0,ka(75,h|0)|0,n=o,o=0,n&1):0){l=5;break}switch(g|0){case-2:case-1:break a;case 0:{d=d+1|0;g=1;break}default:d=d+g|0}a=g+a|0;i=i+1|0;if((d|0)==(e|0)|i>>>0>=f>>>0)break a}if((l|0)==5){n=Na(0)|0;ec(n)}a=Na()|0;if((m|0)!=0?(o=0,ka(75,m|0)|0,n=o,o=0,n&1):0){n=Na(0)|0;ec(n)}Ya(a|0)}}while(0);return a|0}function At(a){a=a|0;var b=0,d=0;a=c[a+8>>2]|0;if(a){o=0;a=ka(75,a|0)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}if((a|0)!=0?(o=0,ka(75,a|0)|0,d=o,o=0,d&1):0){d=Na(0)|0;ec(d)}else b=4}else b=1;return b|0}function Bt(a){a=a|0;cj(a);return}function Ct(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Hv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Dt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Iv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Et(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Ft(a){a=a|0;return 0}function Gt(a){a=a|0;return 0}function Ht(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Jv(c,d,e,1114111,0)|0}function It(a){a=a|0;return 4}function Jt(a){a=a|0;cj(a);return}function Kt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Kv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Lt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Lv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Mt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Nt(a){a=a|0;return 0}function Ot(a){a=a|0;return 0}function Pt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Mv(c,d,e,1114111,0)|0}function Qt(a){a=a|0;return 4}function Rt(a){a=a|0;cj(a);return}function St(a){a=a|0;cj(a);return}function Tt(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=44384;a[b+8>>0]=46;a[b+9>>0]=44;b=b+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function Ut(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=44424;c[a+8>>2]=46;c[a+12>>2]=44;a=a+16|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Vt(a){a=a|0;c[a>>2]=44384;Im(a+12|0);return}function Wt(a){a=a|0;Vt(a);cj(a);return}function Xt(a){a=a|0;c[a>>2]=44424;Im(a+16|0);return}function Yt(a){a=a|0;Xt(a);cj(a);return}function Zt(b){b=b|0;return a[b+8>>0]|0}function _t(a){a=a|0;return c[a+8>>2]|0}function $t(b){b=b|0;return a[b+9>>0]|0}function au(a){a=a|0;return c[a+12>>2]|0}function bu(a,b){a=a|0;b=b|0;Fm(a,b+12|0);return}function cu(a,b){a=a|0;b=b|0;Fm(a,b+16|0);return}function du(a,b){a=a|0;b=b|0;Gm(a,59024,4);return}function eu(a,b){a=a|0;b=b|0;Um(a,44996,pl(44996)|0);return}function fu(a,b){a=a|0;b=b|0;Gm(a,59029,5);return}function gu(a,b){a=a|0;b=b|0;Um(a,45016,pl(45016)|0);return}function hu(a){a=a|0;switch(c[a+4>>2]&74|0){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function iu(b){b=b|0;do{if((a[2464]|0)==0?(Ha(2464)|0)!=0:0){if((a[2472]|0)==0?(Ha(2472)|0)!=0:0){b=45040;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=45208);kb(193,0,n|0)|0;Pa(2472)}o=0;ra(41,45040,59035)|0;b=o;o=0;if(((((((((((((!(b&1)?(o=0,ra(41,45052,59042)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45064,59049)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45076,59057)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45088,59067)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45100,59076)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45112,59083)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45124,59092)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45136,59096)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45148,59100)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45160,59104)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45172,59108)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45184,59112)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45196,59116)|0,b=o,o=0,!(b&1)):0){c[11302]=45040;Pa(2464);break}b=Na()|0;sb(2464);Ya(b|0)}}while(0);return c[11302]|0}function ju(b){b=b|0;do{if((a[2480]|0)==0?(Ha(2480)|0)!=0:0){if((a[2488]|0)==0?(Ha(2488)|0)!=0:0){b=45212;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=45380);kb(194,0,n|0)|0;Pa(2488)}o=0;ra(42,45212,45380)|0;b=o;o=0;if(((((((((((((!(b&1)?(o=0,ra(42,45224,45408)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45236,45436)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45248,45468)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45260,45508)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45272,45544)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45284,45572)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45296,45608)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45308,45624)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45320,45640)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45332,45656)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45344,45672)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45356,45688)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45368,45704)|0,b=o,o=0,!(b&1)):0){c[11430]=45212;Pa(2480);break}b=Na()|0;sb(2480);Ya(b|0)}}while(0);return c[11430]|0}function ku(b){b=b|0;a:do{if((a[2496]|0)==0?(Ha(2496)|0)!=0:0){if((a[2504]|0)==0?(Ha(2504)|0)!=0:0){b=45724;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=46012);kb(195,0,n|0)|0;Pa(2504)}o=0;ra(41,45724,59120)|0;b=o;o=0;do{if((((((((((((((!(b&1)?(o=0,ra(41,45736,59128)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45748,59137)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45760,59143)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45772,59149)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45784,59153)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45796,59158)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45808,59163)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45820,59170)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45832,59180)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45844,59188)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45856,59197)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45868,59206)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45880,59210)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45892,59214)|0,b=o,o=0,!(b&1)):0){o=0;ra(41,45904,59218)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45916,59149)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45928,59222)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45940,59226)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45952,59230)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45964,59234)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45976,59238)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45988,59242)|0;b=o;o=0;if(b&1)break;o=0;ra(41,46e3,59246)|0;b=o;o=0;if(b&1)break;c[11503]=45724;Pa(2496);break a}}while(0);b=Na()|0;sb(2496);Ya(b|0)}}while(0);return c[11503]|0}function lu(b){b=b|0;a:do{if((a[2512]|0)==0?(Ha(2512)|0)!=0:0){if((a[2520]|0)==0?(Ha(2520)|0)!=0:0){b=46016;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=46304);kb(196,0,n|0)|0;Pa(2520)}o=0;ra(42,46016,46304)|0;b=o;o=0;do{if((((((((((((((!(b&1)?(o=0,ra(42,46028,46336)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46040,46372)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46052,46396)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46064,46420)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46076,46436)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46088,46456)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46100,46476)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46112,46504)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46124,46544)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46136,46576)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46148,46612)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46160,46648)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46172,46664)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46184,46680)|0,b=o,o=0,!(b&1)):0){o=0;ra(42,46196,46696)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46208,46420)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46220,46712)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46232,46728)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46244,46744)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46256,46760)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46268,46776)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46280,46792)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46292,46808)|0;b=o;o=0;if(b&1)break;c[11706]=46016;Pa(2512);break a}}while(0);b=Na()|0;sb(2512);Ya(b|0)}}while(0);return c[11706]|0}function mu(b){b=b|0;do{if((a[2528]|0)==0?(Ha(2528)|0)!=0:0){if((a[2536]|0)==0?(Ha(2536)|0)!=0:0){b=46828;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=47116);kb(197,0,n|0)|0;Pa(2536)}o=0;ra(41,46828,59250)|0;b=o;o=0;if(!(b&1)?(o=0,ra(41,46840,59253)|0,b=o,o=0,!(b&1)):0){c[11779]=46828;Pa(2528);break}b=Na()|0;sb(2528);Ya(b|0)}}while(0);return c[11779]|0}function nu(b){b=b|0;do{if((a[2544]|0)==0?(Ha(2544)|0)!=0:0){if((a[2552]|0)==0?(Ha(2552)|0)!=0:0){b=47120;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=47408);kb(198,0,n|0)|0;Pa(2552)}o=0;ra(42,47120,47408)|0;b=o;o=0;if(!(b&1)?(o=0,ra(42,47132,47420)|0,b=o,o=0,!(b&1)):0){c[11858]=47120;Pa(2544);break}b=Na()|0;sb(2544);Ya(b|0)}}while(0);return c[11858]|0}function ou(b){b=b|0;do{if((a[2560]|0)==0?(Ha(2560)|0)!=0:0){o=0;wa(5,47436,59256,8);b=o;o=0;if(b&1){b=Na()|0;sb(2560);Ya(b|0)}else{kb(199,47436,n|0)|0;Pa(2560);break}}}while(0);return 47436}function pu(b){b=b|0;var c=0;do{if((a[2568]|0)==0?(Ha(2568)|0)!=0:0){o=0;b=ka(76,47448)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47484,47448,b|0),c=o,o=0,!(c&1)):0){kb(200,47484,n|0)|0;Pa(2568);break}c=Na()|0;sb(2568);Ya(c|0)}}while(0);return 47484}function qu(b){b=b|0;do{if((a[2576]|0)==0?(Ha(2576)|0)!=0:0){o=0;wa(5,47496,59265,8);b=o;o=0;if(b&1){b=Na()|0;sb(2576);Ya(b|0)}else{kb(199,47496,n|0)|0;Pa(2576);break}}}while(0);return 47496}function ru(b){b=b|0;var c=0;do{if((a[2584]|0)==0?(Ha(2584)|0)!=0:0){o=0;b=ka(76,47508)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47544,47508,b|0),c=o,o=0,!(c&1)):0){kb(200,47544,n|0)|0;Pa(2584);break}c=Na()|0;sb(2584);Ya(c|0)}}while(0);return 47544}function su(b){b=b|0;do{if((a[2592]|0)==0?(Ha(2592)|0)!=0:0){o=0;wa(5,47556,59274,20);b=o;o=0;if(b&1){b=Na()|0;sb(2592);Ya(b|0)}else{kb(199,47556,n|0)|0;Pa(2592);break}}}while(0);return 47556}function tu(b){b=b|0;var c=0;do{if((a[2600]|0)==0?(Ha(2600)|0)!=0:0){o=0;b=ka(76,47568)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47652,47568,b|0),c=o,o=0,!(c&1)):0){kb(200,47652,n|0)|0;Pa(2600);break}c=Na()|0;sb(2600);Ya(c|0)}}while(0);return 47652}function uu(b){b=b|0;do{if((a[2608]|0)==0?(Ha(2608)|0)!=0:0){o=0;wa(5,47664,59295,11);b=o;o=0;if(b&1){b=Na()|0;sb(2608);Ya(b|0)}else{kb(199,47664,n|0)|0;Pa(2608);break}}}while(0);return 47664}function vu(b){b=b|0;var c=0;do{if((a[2616]|0)==0?(Ha(2616)|0)!=0:0){o=0;b=ka(76,47676)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47724,47676,b|0),c=o,o=0,!(c&1)):0){kb(200,47724,n|0)|0;Pa(2616);break}c=Na()|0;sb(2616);Ya(c|0)}}while(0);return 47724}function wu(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=44304;a=a+8|0;b=c[a>>2]|0;o=0;d=ua(3)|0;e=o;o=0;do{if(!(e&1)){if((b|0)!=(d|0)?(o=0,ha(188,c[a>>2]|0),e=o,o=0,e&1):0)break;return}}while(0);e=Na(0)|0;ec(e)}function xu(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+112|0;m=z;p=(g-f|0)/12|0;do{if(p>>>0>100){m=Fl(p)|0;if((m|0)==0?(o=0,xa(6),y=o,o=0,y&1):0){l=0;s=6;break}l=m;s=11}else{l=0;s=11}}while(0);a:do{if((s|0)==11){if((f|0)==(g|0))n=0;else{s=f;q=0;r=m;while(1){n=a[s>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=c[s+4>>2]|0;if(!n){a[r>>0]=2;n=q+1|0;p=p+-1|0}else{a[r>>0]=1;n=q}s=s+12|0;if((s|0)==(g|0))break;else{q=n;r=r+1|0}}}x=(f|0)==(g|0);y=(f|0)==(g|0);w=0;t=n;b:while(1){n=c[b>>2]|0;do{if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;v=o;o=0;if(v&1){s=5;break b}if((n|0)==-1){c[b>>2]=0;n=0;break}else{n=c[b>>2]|0;break}}}else n=0}while(0);s=(n|0)==0;q=c[e>>2]|0;if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;n=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;v=o;o=0;if(v&1){s=5;break}if((n|0)==-1){c[e>>2]=0;q=0}}}else q=0;r=(q|0)==0;n=c[b>>2]|0;if(!((p|0)!=0&(s^r))){s=64;break}q=c[n+12>>2]|0;if((q|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;v=o;o=0;if(v&1){s=5;break}}else n=d[q>>0]|0;n=n&255;if(!k){o=0;n=ra(c[(c[h>>2]|0)+12>>2]|0,h|0,n|0)|0;v=o;o=0;if(v&1){s=5;break}}v=w+1|0;if(x){n=0;s=t}else{r=0;u=f;s=t;t=m;while(1){do{if((a[t>>0]|0)==1){if(!(a[u>>0]&1))q=u+1|0;else q=c[u+8>>2]|0;q=a[q+w>>0]|0;if(!k){o=0;q=ra(c[(c[h>>2]|0)+12>>2]|0,h|0,q|0)|0;A=o;o=0;if(A&1){s=4;break b}}if(n<<24>>24!=q<<24>>24){a[t>>0]=0;q=r;p=p+-1|0;break}q=a[u>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[u+4>>2]|0;if((q|0)==(v|0)){a[t>>0]=2;q=1;s=s+1|0;p=p+-1|0}else q=1}else q=r}while(0);u=u+12|0;if((u|0)==(g|0)){n=q;break}else{r=q;t=t+1|0}}}if(!n){w=v;t=s;continue}n=c[b>>2]|0;q=n+12|0;r=c[q>>2]|0;if((r|0)==(c[n+16>>2]|0)){o=0;ka(c[(c[n>>2]|0)+40>>2]|0,n|0)|0;A=o;o=0;if(A&1){s=5;break}}else c[q>>2]=r+1;if((s+p|0)>>>0<2|y){w=v;t=s;continue}else{n=f;r=s;s=m}while(1){if((a[s>>0]|0)==2){q=a[n>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[n+4>>2]|0;if((q|0)!=(v|0)){a[s>>0]=0;r=r+-1|0}}n=n+12|0;if((n|0)==(g|0)){w=v;t=r;continue b}else s=s+1|0}}if((s|0)==4){f=Na()|0;break}else if((s|0)==5){f=Na()|0;break}else if((s|0)==64){do{if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;A=o;o=0;if(A&1){s=6;break a}if((n|0)==-1){c[b>>2]=0;n=0;break}else{n=c[b>>2]|0;break}}}else n=0}while(0);p=(n|0)==0;do{if(!r){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;n=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;A=o;o=0;if(A&1){s=6;break a}if((n|0)==-1){c[e>>2]=0;s=76;break}}if(!p)s=77}else s=76}while(0);if((s|0)==76?p:0)s=77;if((s|0)==77)c[j>>2]=c[j>>2]|2;c:do{if((f|0)==(g|0))s=81;else while(1){if((a[m>>0]|0)==2)break c;f=f+12|0;if((f|0)==(g|0)){s=81;break}else m=m+1|0}}while(0);if((s|0)==81){c[j>>2]=c[j>>2]|4;f=g}if(l)Gl(l);i=z;return f|0}}}while(0);if((s|0)==6)f=Na()|0;if(l)Gl(l);Ya(f|0);return 0}function yu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(21,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49}while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25}while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function zu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){E=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;k=(b|0)==0;l=c[f>>2]|0;do{if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(k)break;else break b;o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;n=o;o=0;if(n&1){E=24;break b}if((m|0)!=-1)if(k)break;else break b;else{c[f>>2]=0;E=16;break}}else E=16}while(0);if((E|0)==16){E=0;if(k){l=0;break}else l=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){E=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){E=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+k}m=b+12|0;k=c[m>>2]|0;n=b+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}}else k=d[k>>0]|0;if(Wo(k&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[m>>2]=k+1;continue}}if((E|0)==24){b=Na()|0;break}F=a[C>>0]|0;if((((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){F=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=F}o=0;g=va(22,g|0,c[v>>2]|0,h|0,u|0)|0;k=D;F=o;o=0;if(!(F&1)){F=j;c[F>>2]=g;c[F+4>>2]=k;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((b|0)==-1){c[f>>2]=0;E=49;break}}if(!g)E=50}else E=49}while(0);if((E|0)==49?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;F=c[e>>2]|0;Im(B);Im(C);i=A;return F|0}else E=25}else E=25}while(0);if((E|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Au(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;B=i;i=i+240|0;u=B+202|0;l=B+200|0;D=B+24|0;C=B+12|0;w=B+8|0;z=B+40|0;A=B+4|0;x=B;v=hu(h)|0;kp(D,h,u,l);c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;if(!(a[C>>0]&1))e=10;else e=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,e|0,0);t=o;o=0;a:do{if(!(t&1)){r=C+8|0;s=C+1|0;h=(a[C>>0]&1)==0?s:c[r>>2]|0;c[w>>2]=h;c[A>>2]=z;c[x>>2]=0;t=C+4|0;q=a[l>>0]|0;e=c[f>>2]|0;b:while(1){if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)){o=0;l=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;p=o;o=0;if(p&1){E=24;break}if((l|0)==-1){c[f>>2]=0;e=0}}}else e=0;m=(e|0)==0;l=c[g>>2]|0;do{if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(m)break;else break b;o=0;n=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){E=24;break b}if((n|0)!=-1)if(m)break;else break b;else{c[g>>2]=0;E=16;break}}else E=16}while(0);if((E|0)==16){E=0;if(m){l=0;break}else l=0}m=a[C>>0]|0;m=(m&1)==0?(m&255)>>>1:c[t>>2]|0;if((c[w>>2]|0)==(h+m|0)){o=0;wa(8,C|0,m<<1|0,0);p=o;o=0;if(p&1){E=24;break}if(!(a[C>>0]&1))h=10;else h=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,h|0,0);p=o;o=0;if(p&1){E=24;break}h=(a[C>>0]&1)==0?s:c[r>>2]|0;c[w>>2]=h+m}n=e+12|0;m=c[n>>2]|0;p=e+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=24;break}}else m=d[m>>0]|0;if(Wo(m&255,v,h,w,x,q,D,z,A,u)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[e>>2]|0)+40>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[n>>2]=l+1;continue}}if((E|0)==24){e=Na()|0;break}F=a[D>>0]|0;if((((F&1)==0?(F&255)>>>1:c[D+4>>2]|0)|0)!=0?(y=c[A>>2]|0,(y-z|0)<160):0){F=c[x>>2]|0;c[A>>2]=y+4;c[y>>2]=F}o=0;h=va(23,h|0,c[w>>2]|0,j|0,v|0)|0;F=o;o=0;if(!(F&1)){b[k>>1]=h;Ur(D,z,c[A>>2]|0,j);if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)){o=0;h=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=25;break}if((h|0)==-1){c[f>>2]=0;e=0}}}else e=0;h=(e|0)==0;do{if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;e=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((e|0)==-1){c[g>>2]=0;E=49;break}}if(!h)E=50}else E=49}while(0);if((E|0)==49?h:0)E=50;if((E|0)==50)c[j>>2]=c[j>>2]|2;F=c[f>>2]|0;Im(C);Im(D);i=B;return F|0}else E=25}else E=25}while(0);if((E|0)==25)e=Na()|0;Im(C);Im(D);Ya(e|0);return 0}function Bu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(24,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49}while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25}while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Cu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(25,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49}while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25}while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Du(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){E=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;k=(b|0)==0;l=c[f>>2]|0;do{if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(k)break;else break b;o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;n=o;o=0;if(n&1){E=24;break b}if((m|0)!=-1)if(k)break;else break b;else{c[f>>2]=0;E=16;break}}else E=16}while(0);if((E|0)==16){E=0;if(k){l=0;break}else l=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){E=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){E=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+k}m=b+12|0;k=c[m>>2]|0;n=b+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}}else k=d[k>>0]|0;if(Wo(k&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[m>>2]=k+1;continue}}if((E|0)==24){b=Na()|0;break}F=a[C>>0]|0;if((((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){F=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=F}o=0;g=va(26,g|0,c[v>>2]|0,h|0,u|0)|0;k=D;F=o;o=0;if(!(F&1)){F=j;c[F>>2]=g;c[F+4>>2]=k;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((b|0)==-1){c[f>>2]=0;E=49;break}}if(!g)E=50}else E=49}while(0);if((E|0)==49?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;F=c[e>>2]|0;Im(B);Im(C);i=A;return F|0}else E=25}else E=25}while(0);if((E|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Eu(b,e,f,h,j,k){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0.0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,h,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do{if(!(v&1)){t=F+8|0;u=F+1|0;h=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=h;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16}while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(h+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))h=10;else h=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,h|0,0);q=o;o=0;if(q&1){H=24;break}h=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=h+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,h,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(1,h|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){g[k>>2]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;h=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((h|0)==-1){c[e>>2]=0;b=0}}}else b=0;h=(b|0)==0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!h)H=50}else H=49}while(0);if((H|0)==49?h:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25}while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Fu(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0.0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,g,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do{if(!(v&1)){t=F+8|0;u=F+1|0;g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16}while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(g+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))g=10;else g=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,g|0,0);q=o;o=0;if(q&1){H=24;break}g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,g,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(2,g|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){h[k>>3]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!g)H=50}else H=49}while(0);if((H|0)==49?g:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25}while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Gu(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0.0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,g,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do{if(!(v&1)){t=F+8|0;u=F+1|0;g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16}while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(g+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))g=10;else g=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,g|0,0);q=o;o=0;if(q&1){H=24;break}g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,g,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(3,g|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){h[k>>3]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!g)H=50}else H=49}while(0);if((H|0)==49?g:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25}while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Hu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=qk(b)|0;b=fl(a,d,g)|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}i=f;return b|0}function Iu(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+112|0;l=y;n=(f-e|0)/12|0;do{if(n>>>0>100){l=Fl(n)|0;if((l|0)==0?(o=0,xa(6),x=o,o=0,x&1):0){k=0;q=6;break}k=l;q=11}else{k=0;q=11}}while(0);a:do{if((q|0)==11){if((e|0)==(f|0))m=0;else{r=e;p=0;q=l;while(1){m=a[r>>0]|0;if(!(m&1))m=(m&255)>>>1;else m=c[r+4>>2]|0;if(!m){a[q>>0]=2;m=p+1|0;n=n+-1|0}else{a[q>>0]=1;m=p}r=r+12|0;if((r|0)==(f|0))break;else{p=m;q=q+1|0}}}w=(e|0)==(f|0);x=(e|0)==(f|0);v=0;s=n;b:while(1){n=c[b>>2]|0;do{if(n){p=c[n+12>>2]|0;if((p|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;u=o;o=0;if(u&1){q=5;break b}}else n=c[p>>2]|0;if((n|0)==-1){c[b>>2]=0;r=1;break}else{r=(c[b>>2]|0)==0;break}}else r=1}while(0);p=c[d>>2]|0;if(p){n=c[p+12>>2]|0;if((n|0)==(c[p+16>>2]|0)){o=0;n=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;u=o;o=0;if(u&1){q=5;break}}else n=c[n>>2]|0;if((n|0)==-1){c[d>>2]=0;p=0;q=1}else q=0}else{p=0;q=1}n=c[b>>2]|0;if(!((s|0)!=0&(r^q))){q=66;break}p=c[n+12>>2]|0;if((p|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;u=o;o=0;if(u&1){q=5;break}}else n=c[p>>2]|0;if(!j){o=0;n=ra(c[(c[g>>2]|0)+28>>2]|0,g|0,n|0)|0;u=o;o=0;if(u&1){q=5;break}}u=v+1|0;if(w){n=0;r=s}else{r=0;t=e;q=s;s=l;while(1){do{if((a[s>>0]|0)==1){if(!(a[t>>0]&1))p=t+4|0;else p=c[t+8>>2]|0;p=c[p+(v<<2)>>2]|0;if(!j){o=0;p=ra(c[(c[g>>2]|0)+28>>2]|0,g|0,p|0)|0;z=o;o=0;if(z&1){q=4;break b}}if((n|0)!=(p|0)){a[s>>0]=0;p=r;q=q+-1|0;break}p=a[t>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[t+4>>2]|0;if((p|0)==(u|0)){a[s>>0]=2;p=1;m=m+1|0;q=q+-1|0}else p=1}else p=r}while(0);t=t+12|0;if((t|0)==(f|0)){n=p;r=q;break}else{r=p;s=s+1|0}}}if(!n){v=u;s=r;continue}n=c[b>>2]|0;p=n+12|0;q=c[p>>2]|0;if((q|0)==(c[n+16>>2]|0)){o=0;ka(c[(c[n>>2]|0)+40>>2]|0,n|0)|0;z=o;o=0;if(z&1){q=5;break}}else c[p>>2]=q+4;if((m+r|0)>>>0<2|x){v=u;s=r;continue}else{n=e;q=l}while(1){if((a[q>>0]|0)==2){p=a[n>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[n+4>>2]|0;if((p|0)!=(u|0)){a[q>>0]=0;m=m+-1|0}}n=n+12|0;if((n|0)==(f|0)){v=u;s=r;continue b}else q=q+1|0}}if((q|0)==4){e=Na()|0;break}else if((q|0)==5){e=Na()|0;break}else if((q|0)==66){do{if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0)){o=0;m=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;z=o;o=0;if(z&1){q=6;break a}}else m=c[m>>2]|0;if((m|0)==-1){c[b>>2]=0;n=1;break}else{n=(c[b>>2]|0)==0;break}}else n=1}while(0);do{if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0)){o=0;m=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;z=o;o=0;if(z&1){q=6;break a}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else{q=81;break}else{c[d>>2]=0;q=79;break}}else q=79}while(0);if((q|0)==79?n:0)q=81;if((q|0)==81)c[h>>2]=c[h>>2]|2;c:do{if((e|0)==(f|0))q=85;else while(1){if((a[l>>0]|0)==2)break c;e=e+12|0;if((e|0)==(f|0)){q=85;break}else l=l+1|0}}while(0);if((q|0)==85){c[h>>2]=c[h>>2]|4;e=f}if(k)Gl(k);i=y;return e|0}}}while(0);if((q|0)==6)e=Na()|0;if(k)Gl(k);Ya(e|0);return 0}function Ju(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(21,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Ku(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do{if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0)){o=0;f=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;m=o;o=0;if(m&1){C=25;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(l)break;else break b;else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(l){k=0;break}else k=0}f=a[A>>0]|0;f=(f&1)==0?(f&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+f|0)){o=0;wa(8,A|0,f<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+f}l=j+12|0;f=c[l>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}}else f=c[f>>2]|0;if(jp(f,t,b,u,v,n,B,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0)){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}else continue}else{c[l>>2]=f+4;continue}}if((C|0)==25){b=Na()|0;break}E=a[B>>0]|0;if((((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){E=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=E}o=0;b=va(22,b|0,c[u>>2]|0,g|0,t|0)|0;f=D;E=o;o=0;if(!(E&1)){E=h;c[E>>2]=b;c[E+4>>2]=f;Ur(B,x,c[y>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;E=c[d>>2]|0;Im(A);Im(B);i=z;return E|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Lu(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+320|0;t=A+208|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;np(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))d=10;else d=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,d|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;d=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=d;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=c[k>>2]|0;k=c[e>>2]|0;b:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0)){o=0;g=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=25;break}}else g=c[g>>2]|0;if((g|0)==-1){c[e>>2]=0;g=0;l=1}else{g=k;l=0}}else{g=0;l=1}m=c[f>>2]|0;do{if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0)){o=0;k=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;n=o;o=0;if(n&1){D=25;break b}}else k=c[k>>2]|0;if((k|0)!=-1)if(l)break;else{k=m;break b}else{c[f>>2]=0;D=17;break}}else D=17}while(0);if((D|0)==17){D=0;if(l){k=0;break}else m=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(d+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){D=25;break}if(!(a[B>>0]&1))d=10;else d=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,d|0,0);n=o;o=0;if(n&1){D=25;break}d=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=d+k}l=g+12|0;k=c[l>>2]|0;n=g+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=25;break}}else k=c[k>>2]|0;if(jp(k,u,d,v,w,p,C,y,z,t)|0){k=m;break}k=c[l>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=25;break}else{k=g;continue}}else{c[l>>2]=k+4;k=g;continue}}if((D|0)==25){d=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;d=va(23,d|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){b[j>>1]=d;Ur(C,y,c[z>>2]|0,h);if(g){d=c[g+12>>2]|0;if((d|0)==(c[g+16>>2]|0)){o=0;d=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=26;break}}else d=c[d>>2]|0;if((d|0)==-1){c[e>>2]=0;g=1}else g=0}else g=1;do{if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0)){o=0;d=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=26;break a}}else d=c[d>>2]|0;if((d|0)!=-1)if(g)break;else{D=53;break}else{c[f>>2]=0;D=51;break}}else D=51}while(0);if((D|0)==51?g:0)D=53;if((D|0)==53)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=26}else D=26}while(0);if((D|0)==26)d=Na()|0;Im(B);Im(C);Ya(d|0);return 0}function Mu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(24,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Nu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(25,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Ou(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do{if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0)){o=0;f=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;m=o;o=0;if(m&1){C=25;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(l)break;else break b;else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(l){k=0;break}else k=0}f=a[A>>0]|0;f=(f&1)==0?(f&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+f|0)){o=0;wa(8,A|0,f<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+f}l=j+12|0;f=c[l>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}}else f=c[f>>2]|0;if(jp(f,t,b,u,v,n,B,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0)){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}else continue}else{c[l>>2]=f+4;continue}}if((C|0)==25){b=Na()|0;break}E=a[B>>0]|0;if((((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){E=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=E}o=0;b=va(26,b|0,c[u>>2]|0,g|0,t|0)|0;f=D;E=o;o=0;if(!(E&1)){E=h;c[E>>2]=b;c[E+4>>2]=f;Ur(B,x,c[y>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;E=c[d>>2]|0;Im(A);Im(B);i=z;return E|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Pu(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do{if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do{if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17}while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(1,b|0,c[x>>2]|0,h|0);H=o;o=0;if(!(H&1)){g[j>>2]=k;Ur(F,B,c[C>>2]|0,h);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51}while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[h>>2]=c[h>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26}while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Qu(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do{if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do{if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17}while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(2,b|0,c[x>>2]|0,g|0);H=o;o=0;if(!(H&1)){h[j>>3]=k;Ur(F,B,c[C>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51}while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[g>>2]=c[g>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26}while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Ru(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do{if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do{if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17}while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(3,b|0,c[x>>2]|0,g|0);H=o;o=0;if(!(H&1)){h[j>>3]=k;Ur(F,B,c[C>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51}while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[g>>2]=c[g>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26}while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Su(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;c[h>>2]=f;f=qk(d)|0;d=el(a,b,e,h)|0;if((f|0)!=0?(o=0,ka(75,f|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}i=g;return d|0}function Tu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=qk(b)|0;o=0;b=ma(37,a|0,d|0,g|0)|0;a=o;o=0;if(a&1){b=Na()|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}Ya(b|0)}else{if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}i=f;return b|0}return 0}function Uu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0;p=i;i=i+16|0;n=p;j=c[b>>2]|0;a:do{if(!j)j=0;else{q=d;l=f-q>>2;m=g+12|0;k=c[m>>2]|0;l=(k|0)>(l|0)?k-l|0:0;k=e;q=k-q|0;g=q>>2;if((q|0)>0?(Gb[c[(c[j>>2]|0)+48>>2]&63](j,d,g)|0)!=(g|0):0){c[b>>2]=0;j=0;break}do{if((l|0)>0){Vm(n,l,h);o=0;g=ma(c[(c[j>>2]|0)+48>>2]|0,j|0,((a[n>>0]&1)==0?n+4|0:c[n+8>>2]|0)|0,l|0)|0;q=o;o=0;if(q&1){q=Na()|0;Wm(n);Ya(q|0)}if((g|0)==(l|0)){Wm(n);break}else{c[b>>2]=0;Wm(n);j=0;break a}}}while(0);q=f-k|0;f=q>>2;if((q|0)>0?(Gb[c[(c[j>>2]|0)+48>>2]&63](j,e,f)|0)!=(f|0):0){c[b>>2]=0;j=0;break}c[m>>2]=0}}while(0);i=p;return j|0}function Vu(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=c[a>>2]|0;do{if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0))if((Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1){c[a>>2]=0;i=0;break}else{i=c[a>>2]|0;break}}else i=0}while(0);j=(i|0)==0;i=c[e>>2]|0;do{if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1:0){c[e>>2]=0;r=11;break}if(j)r=13;else r=12}else r=11}while(0);if((r|0)==11)if(j)r=12;else{i=0;r=13}a:do{if((r|0)==12){c[f>>2]=c[f>>2]|6;i=0}else if((r|0)==13){j=c[a>>2]|0;k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=d[k>>0]|0;k=j&255;if(k<<24>>24>-1?(q=g+8|0,(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048)!=0):0){m=(Gb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24;j=c[a>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0)){Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;o=h;n=i;h=i;i=m}else{c[k>>2]=l+1;o=h;n=i;h=i;i=m}while(1){i=i+-48|0;p=o+-1|0;j=c[a>>2]|0;do{if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0}while(0);l=(j|0)==0;if(h)if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;k=0;h=0}else{k=n;h=n}else k=n;else{k=n;h=0}j=c[a>>2]|0;if(!((o|0)>1&(l^(h|0)==0)))break;l=c[j+12>>2]|0;if((l|0)==(c[j+16>>2]|0))j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=d[l>>0]|0;l=j&255;if(l<<24>>24<=-1)break a;if(!(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=((Gb[c[(c[g>>2]|0)+36>>2]&63](g,l,0)|0)<<24>>24)+(i*10|0)|0;j=c[a>>2]|0;l=j+12|0;m=c[l>>2]|0;if((m|0)==(c[j+16>>2]|0)){Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;o=p;n=k;continue}else{c[l>>2]=m+1;o=p;n=k;continue}}do{if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0}while(0);j=(j|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)?(Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0)==-1:0){c[e>>2]=0;r=50;break}if(j)break a}else r=50}while(0);if((r|0)==50?!j:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}}while(0);return i|0}function Wu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a>>2]|0;do{if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=c[h>>2]|0;if((g|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1}while(0);h=c[b>>2]|0;do{if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else g=c[g>>2]|0;if((g|0)!=-1)if(i){o=17;break}else{o=16;break}else{c[b>>2]=0;o=14;break}}else o=14}while(0);if((o|0)==14)if(i)o=16;else{h=0;o=17}a:do{if((o|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((o|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=c[i>>2]|0;if(!(Gb[c[(c[e>>2]|0)+12>>2]&63](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(Gb[c[(c[e>>2]|0)+52>>2]&63](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0)){Eb[c[(c[i>>2]|0)+40>>2]&127](i)|0;m=f;l=h;j=h}else{c[j>>2]=k+4;m=f;l=h;j=h}while(1){g=g+-48|0;n=m+-1|0;h=c[a>>2]|0;do{if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=c[i>>2]|0;if((h|0)==-1){c[a>>2]=0;k=1;break}else{k=(c[a>>2]|0)==0;break}}else k=1}while(0);do{if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;j=0;f=0;h=1;break}else{j=l;f=l;h=(l|0)==0;break}}else{j=l;f=0;h=1}}while(0);i=c[a>>2]|0;if(!((m|0)>1&(k^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=c[h>>2]|0;if(!(Gb[c[(c[e>>2]|0)+12>>2]&63](e,2048,h)|0))break a;g=((Gb[c[(c[e>>2]|0)+52>>2]&63](e,h,0)|0)<<24>>24)+(g*10|0)|0;h=c[a>>2]|0;i=h+12|0;k=c[i>>2]|0;if((k|0)==(c[h+16>>2]|0)){Eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;m=n;l=j;j=f;continue}else{c[i>>2]=k+4;m=n;l=j;j=f;continue}}do{if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=c[h>>2]|0;if((h|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1}while(0);do{if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=c[h>>2]|0;if((h|0)!=-1)if(i)break a;else break;else{c[b>>2]=0;o=60;break}}else o=60}while(0);if((o|0)==60?!i:0)break;c[d>>2]=c[d>>2]|2}}while(0);return g|0}function Xu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h|0;i=Il(e?i:0,f)|0;if(!i)Sj();do{if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}}while(0);c[g>>2]=201;c[b>>2]=j+h;c[d>>2]=(c[a>>2]|0)+f;return}function Yu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h>>2;i=Il(e?i:0,f)|0;if(!i)Sj();do{if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}}while(0);c[g>>2]=201;c[b>>2]=j+(h<<2);c[d>>2]=(c[a>>2]|0)+(f>>>2<<2);return}function Zu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d;f=a[b>>0]|0;if(!(f&1)){g=10;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h|0;do{if((e|0)!=(d|0)){if((g-k|0)>>>0>>0){Tm(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+1|0;else i=c[b+8>>2]|0;h=e+(k-h)|0;if((d|0)!=(e|0)){f=d;g=i+k|0;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else g=g+1|0}}a[i+h>>0]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}}while(0);return b|0}function _u(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h>>2;i=Il(e?i:0,f)|0;if(!i)Sj();do{if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}}while(0);c[g>>2]=201;c[b>>2]=j+(h<<2);c[d>>2]=(c[a>>2]|0)+(f>>>2<<2);return}function $u(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d;f=a[b>>0]|0;if(!(f&1)){g=1;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h>>2;do{if(j){if((g-k|0)>>>0>>0){an(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+4|0;else i=c[b+8>>2]|0;h=k+((e-h|0)>>>2)|0;if((d|0)!=(e|0)){f=d;g=i+(k<<2)|0;while(1){c[g>>2]=c[f>>2];f=f+4|0;if((f|0)==(e|0))break;else g=g+4|0}}c[i+(h<<2)>>2]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}}while(0);return b|0}function av(b,d){b=b|0;d=d|0;var e=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;do{if(d){o=0;ia(125,b|0,d|0);e=o;o=0;if(e&1){e=Na()|0;Dv(b);Ya(e|0)}else{Uv(b,d);break}}}while(0);return}function bv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43148)|0);return}function cv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43188)|0);return}function dv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44220)|0);return}function ev(a,b){a=a|0;b=b|0;xs(a,b,Hs(44212)|0);return}function fv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44280)|0);return}function gv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44288)|0);return}function hv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44344)|0);return}function iv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44352)|0);return}function jv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44360)|0);return}function kv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44368)|0);return}function lv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43260)|0);return}function mv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43332)|0);return}function nv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43392)|0);return}function ov(a,b){a=a|0;b=b|0;xs(a,b,Hs(43452)|0);return}function pv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43764)|0);return}function qv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43828)|0);return}function rv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43892)|0);return}function sv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43956)|0);return}function tv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43992)|0);return}function uv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44028)|0);return}function vv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44064)|0);return}function wv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44100)|0);return}function xv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43544)|0);return}function yv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43636)|0);return}function zv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43668)|0);return}function Av(a,b){a=a|0;b=b|0;xs(a,b,Hs(43700)|0);return}function Bv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44140)|0);return}function Cv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44180)|0);return}function Dv(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;do{if(e){f=b+4|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do{d=d+-4|0}while((d|0)!=(e|0));c[f>>2]=d}if((b+16|0)==(e|0)){a[b+128>>0]=0;break}else{cj(e);break}}}while(0);return}function Ev(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+4|0;d=c[h>>2]|0;e=c[a>>2]|0;f=d-e>>2;if(f>>>0>=b>>>0){if(f>>>0>b>>>0?(g=e+(b<<2)|0,(d|0)!=(g|0)):0){do{d=d+-4|0}while((d|0)!=(g|0));c[h>>2]=d}}else Tv(a,b-f|0);return}function Fv(a,b){a=a|0;b=b|0;var d=0;d=c[a+8>>2]|0;if((c[a+12>>2]|0)-d>>2>>>0>b>>>0)d=(c[d+(b<<2)>>2]|0)!=0;else d=0;return d|0}function Gv(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;d=c[d+4>>2]|0;a=(c[a>>2]|0)+(d>>1)|0;if(d&1)b=c[(c[a>>2]|0)+b>>2]|0;Bb[b&255](a);return}function Hv(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do{if((m|0)==4){n=f;d=c[g>>2]|0;if(d>>>0>>0)while(1){l=b[d>>1]|0;m=l&65535;if(m>>>0>k>>>0){d=2;break a}do{if((l&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=l}else{if((l&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)>=56320){if((l&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;l=e[d>>1]|0;if((l&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}h=m&960;if(((h<<10)+65536|m<<10&64512|l&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(h>>>6)+1|0;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=d>>>2|240;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>2&15|d<<4&48|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m<<4&48|l>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=l&63|128}}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d;if(d>>>0>=f>>>0){d=0;break}}else d=0}}while(0);return d|0}function Iv(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;l=f;if((((l-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0){c[g>>2]=e+3;m=c[j>>2]|0}else m=h}else{m=h;l=f}q=i;h=c[g>>2]|0;e=h>>>0>>0;a:do{if(e&m>>>0>>0)while(1){e=a[h>>0]|0;o=e&255;if(o>>>0>k>>>0){e=2;break a}do{if(e<<24>>24>-1){b[m>>1]=e&255;c[g>>2]=h+1}else{if((e&255)<194){e=2;break a}if((e&255)<224){if((l-h|0)<2){e=1;break a}e=d[h+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|o<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+2;break}if((e&255)<240){if((l-h|0)<3){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;switch(o|0){case 224:{if((n&-32)<<24>>24!=-96){e=2;break a}break}case 237:{if((n&-32)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(n&255)<<6&4032|o<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+3;break}if((e&255)>=245){e=2;break a}if((l-h|0)<4){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;h=a[h+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){e=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=h&255;if((e&192|0)!=128){e=2;break a}if((q-m|0)<4){e=1;break a}o=o&7;h=n&255;n=p<<6;e=e&63;if((h<<12&258048|o<<18|n&4032|e)>>>0>k>>>0){e=2;break a}b[m>>1]=h<<2&60|p>>>4&3|((h>>>4&3|o<<2)<<6)+16320|55296;p=m+2|0;c[j>>2]=p;b[p>>1]=e|n&960|56320;c[g>>2]=(c[g>>2]|0)+4}}while(0);m=(c[j>>2]|0)+2|0;c[j>>2]=m;h=c[g>>2]|0;e=h>>>0>>0;if(!(e&m>>>0>>0)){r=39;break}}else r=39}while(0);if((r|0)==39)e=e&1;return e|0}function Jv(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do{if((e|0)!=0&g>>>0>>0){m=g;h=0;b:while(1){g=a[m>>0]|0;l=g&255;if(l>>>0>f>>>0){g=m;h=42;break a}do{if(g<<24>>24>-1)g=m+1|0;else{if((g&255)<194){g=m;h=42;break a}if((g&255)<224){if((n-m|0)<2){g=m;h=42;break a}g=d[m+1>>0]|0;if((g&192|0)!=128){g=m;h=42;break a}if((g&63|l<<6&1984)>>>0>f>>>0){g=m;h=42;break a}g=m+2|0;break}if((g&255)<240){g=m;if((n-g|0)<3){g=m;h=42;break a}j=a[m+1>>0]|0;i=a[m+2>>0]|0;switch(l|0){case 224:{if((j&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((j&-32)<<24>>24!=-128){h=22;break b}break}default:if((j&-64)<<24>>24!=-128){h=24;break b}}g=i&255;if((g&192|0)!=128){g=m;h=42;break a}if(((j&255)<<6&4032|l<<12&61440|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+3|0;break}if((g&255)>=245){g=m;h=42;break a}g=m;if((e-h|0)>>>0<2|(n-g|0)<4){g=m;h=42;break a}k=a[m+1>>0]|0;i=a[m+2>>0]|0;j=a[m+3>>0]|0;switch(l|0){case 240:{if((k+112&255)>=48){h=32;break b}break}case 244:{if((k&-16)<<24>>24!=-128){h=34;break b}break}default:if((k&-64)<<24>>24!=-128){h=36;break b}}i=i&255;if((i&192|0)!=128){g=m;h=42;break a}g=j&255;if((g&192|0)!=128){g=m;h=42;break a}if(((k&255)<<12&258048|l<<18&1835008|i<<6&4032|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+4|0;h=h+1|0}}while(0);h=h+1|0;if(!(h>>>0>>0&g>>>0>>0)){h=42;break a}else m=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42}while(0);if((h|0)==42)g=g-b|0;return g|0}function Kv(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do{if((k|0)==4){b=c[e>>2]|0;if(b>>>0>>0)while(1){j=c[b>>2]|0;if(j>>>0>i>>>0|(j&-2048|0)==55296){b=2;break a}do{if(j>>>0>=128){if(j>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}b=c[h>>2]|0;g=l-b|0;if(j>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=j}}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b;if(b>>>0>=d>>>0){b=0;break}}else b=0}}while(0);return b|0}function Lv(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;k=e;if((((k-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0){c[f>>2]=b+3;g=c[i>>2]|0;p=k}else p=k}else p=e;k=c[f>>2]|0;b=k>>>0>>0;a:do{if(b&g>>>0>>0)while(1){b=a[k>>0]|0;o=b&255;do{if(b<<24>>24>-1){if(o>>>0>j>>>0){b=2;break a}c[g>>2]=o;c[f>>2]=k+1}else{if((b&255)<194){b=2;break a}if((b&255)<224){if((p-k|0)<2){b=1;break a}b=d[k+1>>0]|0;if((b&192|0)!=128){b=2;break a}b=b&63|o<<6&1984;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+2;break}if((b&255)<240){if((p-k|0)<3){b=1;break a}l=a[k+1>>0]|0;b=a[k+2>>0]|0;switch(o|0){case 224:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case 237:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}b=b&255;if((b&192|0)!=128){b=2;break a}b=(l&255)<<6&4032|o<<12&61440|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+3;break}if((b&255)>=245){b=2;break a}if((p-k|0)<4){b=1;break a}n=a[k+1>>0]|0;b=a[k+2>>0]|0;l=a[k+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){b=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){b=2;break a}break}default:if((n&-64)<<24>>24!=-128){b=2;break a}}m=b&255;if((m&192|0)!=128){b=2;break a}b=l&255;if((b&192|0)!=128){b=2;break a}b=(n&255)<<12&258048|o<<18&1835008|m<<6&4032|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+4}}while(0);g=(c[i>>2]|0)+4|0;c[i>>2]=g;k=c[f>>2]|0;b=k>>>0>>0;if(!(b&g>>>0>>0)){q=38;break}}else q=38}while(0);if((q|0)==38)b=b&1;return b|0}function Mv(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do{if((e|0)!=0&g>>>0>>0){l=g;m=0;b:while(1){g=a[l>>0]|0;k=g&255;do{if(g<<24>>24>-1){if(k>>>0>f>>>0){g=l;h=42;break a}g=l+1|0}else{if((g&255)<194){g=l;h=42;break a}if((g&255)<224){if((n-l|0)<2){g=l;h=42;break a}g=d[l+1>>0]|0;if((g&192|0)!=128){g=l;h=42;break a}if((g&63|k<<6&1984)>>>0>f>>>0){g=l;h=42;break a}g=l+2|0;break}if((g&255)<240){g=l;if((n-g|0)<3){g=l;h=42;break a}i=a[l+1>>0]|0;h=a[l+2>>0]|0;switch(k|0){case 224:{if((i&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((i&-32)<<24>>24!=-128){h=22;break b}break}default:if((i&-64)<<24>>24!=-128){h=24;break b}}g=h&255;if((g&192|0)!=128){g=l;h=42;break a}if(((i&255)<<6&4032|k<<12&61440|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+3|0;break}if((g&255)>=245){g=l;h=42;break a}g=l;if((n-g|0)<4){g=l;h=42;break a}j=a[l+1>>0]|0;h=a[l+2>>0]|0;i=a[l+3>>0]|0;switch(k|0){case 240:{if((j+112&255)>=48){h=32;break b}break}case 244:{if((j&-16)<<24>>24!=-128){h=34;break b}break}default:if((j&-64)<<24>>24!=-128){h=36;break b}}h=h&255;if((h&192|0)!=128){g=l;h=42;break a}g=i&255;if((g&192|0)!=128){g=l;h=42;break a}if(((j&255)<<12&258048|k<<18&1835008|h<<6&4032|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+4|0}}while(0);m=m+1|0;if(!(m>>>0>>0&g>>>0>>0)){h=42;break a}else l=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42}while(0);if((h|0)==42)g=g-b|0;return g|0}function Nv(a){a=a|0;Im(45196);Im(45184);Im(45172);Im(45160);Im(45148);Im(45136);Im(45124);Im(45112);Im(45100);Im(45088);Im(45076);Im(45064);Im(45052);Im(45040);return}function Ov(a){a=a|0;Wm(45368);Wm(45356);Wm(45344);Wm(45332);Wm(45320);Wm(45308);Wm(45296);Wm(45284);Wm(45272);Wm(45260);Wm(45248);Wm(45236);Wm(45224);Wm(45212);return}function Pv(a){a=a|0;Im(46e3);Im(45988);Im(45976);Im(45964);Im(45952);Im(45940);Im(45928);Im(45916);Im(45904);Im(45892);Im(45880);Im(45868);Im(45856);Im(45844);Im(45832);Im(45820);Im(45808);Im(45796);Im(45784);Im(45772);Im(45760);Im(45748);Im(45736);Im(45724);return}function Qv(a){a=a|0;Wm(46292);Wm(46280);Wm(46268);Wm(46256);Wm(46244);Wm(46232);Wm(46220);Wm(46208);Wm(46196);Wm(46184);Wm(46172);Wm(46160);Wm(46148);Wm(46136);Wm(46124);Wm(46112);Wm(46100);Wm(46088);Wm(46076);Wm(46064);Wm(46052);Wm(46040);Wm(46028);Wm(46016);return}function Rv(a){a=a|0;Im(47104);Im(47092);Im(47080);Im(47068);Im(47056);Im(47044);Im(47032);Im(47020);Im(47008);Im(46996);Im(46984);Im(46972);Im(46960);Im(46948);Im(46936);Im(46924);Im(46912);Im(46900);Im(46888);Im(46876);Im(46864);Im(46852);Im(46840);Im(46828);return}function Sv(a){a=a|0;Wm(47396);Wm(47384);Wm(47372);Wm(47360);Wm(47348);Wm(47336);Wm(47324);Wm(47312);Wm(47300);Wm(47288);Wm(47276);Wm(47264);Wm(47252);Wm(47240);Wm(47228);Wm(47216);Wm(47204);Wm(47192);Wm(47180);Wm(47168);Wm(47156);Wm(47144);Wm(47132);Wm(47120);return}function Tv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;g=c[a+8>>2]|0;d=c[a+4>>2]|0;if(g-d>>2>>>0>>0){e=c[a>>2]|0;h=d-e>>2;f=h+b|0;if(f>>>0>1073741823)$i(a);d=g-e|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?f:d}else d=1073741823;Vv(j,d,h,a+16|0);h=j+8|0;g=c[h>>2]|0;iw(g|0,0,b<<2|0)|0;c[h>>2]=g+(b<<2);Wv(a,j);Xv(j)}else Uv(a,b);i=k;return}function Uv(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Vv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;c[b+12>>2]=0;c[b+16>>2]=f;do{if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=bj(d<<2)|0;break}}else f=0}while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[b+12>>2]=f+(d<<2);return}function Wv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;g=a+4|0;d=b+4|0;f=(c[g>>2]|0)-e|0;h=(c[d>>2]|0)+(0-(f>>2)<<2)|0;c[d>>2]=h;lw(h|0,e|0,f|0)|0;f=c[a>>2]|0;c[a>>2]=c[d>>2];c[d>>2]=f;f=b+8|0;e=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=e;f=a+8|0;a=b+12|0;e=c[f>>2]|0;c[f>>2]=c[a>>2];c[a>>2]=e;c[b>>2]=c[d>>2];return}function Xv(b){b=b|0;var d=0,e=0,f=0;e=c[b+4>>2]|0;f=b+8|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do{d=d+-4|0}while((d|0)!=(e|0));c[f>>2]=d}e=c[b>>2]|0;do{if(e){d=c[b+16>>2]|0;if((d|0)==(e|0)){a[d+112>>0]=0;break}else{cj(e);break}}}while(0);return}function Yv(b,d){b=b|0;d=d|0;var e=0;if(d>>>0>1073741823)$i(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=bj(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function Zv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do{if((a|0)!=(b|0)){f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0.0}}while(0);i=j;return+e}function _v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do{if((a|0)!=(b|0)){f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0.0}}while(0);i=j;return+e}function $v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do{if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}}while(0);i=j;return+e}function aw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;f=0;b=0;break}g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;b=Xj(b,j,f,Xo()|0)|0;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(d|0)){c[e>>2]=4;f=0;b=0;break}if((f|0)==34){c[e>>2]=4;f=-1;b=-1}else f=D}else{c[e>>2]=4;f=0;b=0}}while(0);D=f;i=k;return b|0}function bw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}}while(0);i=l;return b|0}function cw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}}while(0);i=l;return b|0}function dw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==34){c[e>>2]=4;b=-1;break}else{b=b&65535;break}}else{c[e>>2]=4;b=0}}while(0);i=l;return b|0}function ew(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do{if((a|0)!=(b|0)){g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;a=Yj(a,j,e,Xo()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;e=0;a=0;break}if((f|0)==34){c[d>>2]=4;j=(e|0)>0|(e|0)==0&a>>>0>0;D=j?2147483647:-2147483648;i=k;return(j?-1:0)|0}}else{c[d>>2]=4;e=0;a=0}}while(0);D=e;i=k;return a|0}function fw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do{if((a|0)==(b|0)){c[d>>2]=4;a=0}else{g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;a=Yj(a,j,e,Xo()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;a=0;break}do{if((f|0)==34){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}}while(0);a=-2147483648}}while(0);i=k;return a|0}function gw(){}function hw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return(D=d,a-c>>>0|0)|0}function iw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function jw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return(D=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function kw(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<>>c-32|0}function lw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Wa(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function mw(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else lw(b,c,d)|0;return b|0}function ow(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<>c-32|0}function pw(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[m+(b>>>24)>>0]|0)+24|0}function qw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=$(e,f)|0;d=a>>>16;a=(c>>>16)+($(e,d)|0)|0;e=b>>>16;b=$(e,f)|0;return(D=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function rw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=hw(j^a,i^b,j,i)|0;g=D;a=f^j;b=e^i;return hw((ww(h,g,hw(f^c,e^d,f,e)|0,D,0)|0)^a,D^b,a,b)|0}function sw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=hw(h^a,g^b,h,g)|0;b=D;ww(a,b,hw(l^d,k^e,l,k)|0,D,j)|0;e=hw(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=D;i=f;return(D=d,e)|0}function tw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=qw(e,f)|0;a=D;return(D=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function uw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ww(a,b,c,d,0)|0}function vw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;ww(a,b,d,e,f)|0;i=g;return(D=c[f+4>>2]|0,c[f>>2]|0)|0}function ww(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return(D=n,f)|0}else{if(!g){n=0;f=0;return(D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return(D=n,f)|0}}g=(i|0)==0;do{if(h){if(!g){g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return(D=n,f)|0}g=h-1|0;if(g&h){i=(ba(h|0)|0)+33-(ba(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return(D=o,p)|0}else{p=pw(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return(D=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return(D=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return(D=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((pw(i|0)|0)>>>0);return(D=o,p)|0}g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return(D=o,p)|0}}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=jw(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;hw(k,d,e,n)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=hw(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return(D=o,p)|0}function xw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return yb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function yw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;zb[a&15](b|0,c|0,d|0,e|0,f|0)}function zw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;return Ab[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function Aw(a,b){a=a|0;b=b|0;Bb[a&255](b|0)}function Bw(a,b,c){a=a|0;b=b|0;c=c|0;Cb[a&127](b|0,c|0)}function Cw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Db[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Dw(a,b){a=a|0;b=b|0;return Eb[a&127](b|0)|0}function Ew(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return Fb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function Fw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gb[a&63](b|0,c|0,d|0)|0}function Gw(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;Hb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0,n|0,o|0,p|0)}function Hw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Ib[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function Iw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Jb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Jw(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;Kb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Kw(a,b,c){a=a|0;b=b|0;c=c|0;return Lb[a&63](b|0,c|0)|0}function Lw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Mb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function Mw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return+Nb[a&3](b|0,c|0,d|0)}function Nw(a){a=a|0;return Ob[a&15]()|0}function Ow(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Pb[a&31](b|0,c|0,d|0,e|0)|0}function Pw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qb[a&15](b|0,c|0,d|0)}function Qw(a){a=a|0;Rb[a&7]()}function Rw(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Sb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Sw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Tb[a&7](b|0,c|0,d|0,e|0,+f)|0}function Tw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ub[a&63](b|0,c|0,d|0,e|0)}function Uw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ca(0);return 0}function Vw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(1)}function Ww(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ca(2);return 0}function Xw(a){a=a|0;ca(3)}function Yw(a,b){a=a|0;b=b|0;ca(4)}function Zw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(5);return 0}function _w(a){a=a|0;ca(6);return 0}function $w(a){a=a|0;return cb(a|0)|0}function ax(a){a=a|0;return rb(a|0)|0}function bx(a){a=a|0;return hb(a|0)|0}function cx(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;ca(7);return 0}function dx(a,b,c){a=a|0;b=b|0;c=c|0;ca(8);return 0}function ex(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;ca(9)}function fx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(10)}function gx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ca(11)}function hx(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ca(12)}function ix(a,b){a=a|0;b=b|0;ca(13);return 0}function jx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(14);return 0}function kx(a,b,c){a=a|0;b=b|0;c=c|0;ca(15);return 0.0}function lx(){ca(16);return 0}function mx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(17);return 0}function nx(a,b,c){a=a|0;b=b|0;c=c|0;ca(18)}function ox(a,b,c){a=a|0;b=b|0;c=c|0;lb(a|0,b|0,c|0)}function px(){ca(19)}function qx(){pb()}function rx(){Xa()}function sx(){mb()}function tx(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ca(20);return 0}function ux(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ca(21);return 0}function vx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(22)}function di(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8900]|0;c[b+4580>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+256;j=b+160|0;g=b+156|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function ei(a){a=a|0;var b=0,d=0;c[a>>2]=35660;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function fi(a){a=a|0;var b=0,d=0;c[a>>2]=35660;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function gi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function hi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;pi(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function ii(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);ji(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function ji(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;k=b+172|0;y=(c[k>>2]|0)+4|0;if((c[b+28>>2]|0)==1)l=c[b+20>>2]|0;else l=1;d=$(l<<1,y)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))x=6;if((x|0)==6?(o=0,e=ka(67,d|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[D>>2]|0)+1|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!l)x=19;else{if(!(l>>>0>1073741823?(o=0,ha(178,z|0),w=o,o=0,w&1):0))x=17;if((x|0)==17?(f=l<<2,o=0,g=ka(67,f|0)|0,w=o,o=0,!(w&1)):0){c[z>>2]=g;x=g+(l<<2)|0;c[z+8>>2]=x;iw(g|0,0,f|0)|0;c[B>>2]=x;x=19;break}e=Na()|0;d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((x|0)==19){m=b+8|0;d=c[m>>2]|0;b:do{if((d|0)>0){n=b+4596|0;p=$(l,y)|0;q=p+1|0;r=b+4600|0;s=b+160|0;t=b+168|0;u=b+164|0;v=b+156|0;w=b+88|0;j=b+4592|0;if((l|0)>0)h=0;else{h=0;while(1){g=c[C>>2]|0;e=g+1|0;c[n>>2]=e;f=g+q|0;c[r>>2]=f;if(!(h&1))e=q;else{c[n>>2]=f;c[r>>2]=e;e=1}l=c[s>>2]|0;if((l|0)<=(h|0)?(h|0)<((c[t>>2]|0)+l|0):0){l=c[w>>2]|0;o=0;Aa(c[(c[l>>2]|0)+8>>2]|0,l|0,g+(e+((c[v>>2]|0)-p))|0,c[u>>2]|0,y|0);l=o;o=0;if(l&1)break;d=c[m>>2]|0}h=h+1|0;if((h|0)>=(d|0)){x=50;break b}}e=Na()|0;break}c:while(1){e=c[C>>2]|0;d=e+1|0;c[n>>2]=d;e=e+q|0;c[r>>2]=e;if(h&1){c[n>>2]=e;c[r>>2]=d;d=e}g=c[z>>2]|0;e=d;f=0;do{c[j>>2]=c[g+(f<<2)>>2];x=c[k>>2]|0;a[e+x>>0]=a[e+(x+-1)>>0]|0;a[(c[r>>2]|0)+-1>>0]=a[c[n>>2]>>0]|0;o=0;ia(83,b|0,0);x=o;o=0;if(x&1){x=38;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[j>>2];e=(c[n>>2]|0)+y|0;c[n>>2]=e;d=c[r>>2]|0;c[r>>2]=d+y;f=f+1|0}while((f|0)<(l|0));x=c[s>>2]|0;if(((x|0)<=(h|0)?(h|0)<((c[t>>2]|0)+x|0):0)?(x=c[w>>2]|0,o=0,Aa(c[(c[x>>2]|0)+8>>2]|0,x|0,d+(y+((c[v>>2]|0)-p))|0,c[u>>2]|0,y|0),x=o,o=0,x&1):0){x=30;break}h=h+1|0;if((h|0)>=(c[m>>2]|0)){x=50;break b}}if((x|0)==30){e=Na()|0;break}else if((x|0)==38){e=Na()|0;break}}else x=50}while(0);do{if((x|0)==50){o=0;ha(183,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);i=A;return}}while(0);d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}function ki(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=b+4596|0;f=c[p>>2]|0;t=b+172|0;e=c[t>>2]|0;if((e|0)<=0)return;q=b+4600|0;r=b+4604|0;s=b+4592|0;k=f;i=d[f+-1>>0]|0;f=d[f>>0]|0;o=0;while(1){m=c[q>>2]|0;j=a[m+(o+-1)>>0]|0;n=j&255;h=o+1|0;g=d[k+h>>0]|0;l=c[r>>2]|0;k=f-i|0;i=i-n|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;m=m+o|0;if(!l){e=mi(b,j,m,e-o|0)|0;f=e+o|0;if((f|0)!=(c[t>>2]|0)){n=ni(b,n,d[(c[p>>2]|0)+f>>0]|0)|0;a[(c[q>>2]|0)+f>>0]=n;n=c[s>>2]|0;c[s>>2]=(n|0)<1?0:n+-1|0;e=e+1|0}h=e+o|0;g=c[p>>2]|0;f=d[g+(h+-1)>>0]|0;g=d[g+h>>0]|0}else{e=f-n>>31;if((e^i|0)<0)e=f;else e=n+((e^k|0)<0?0:k)|0;n=li(b,l,d[m>>0]|0,e,0)|0;a[(c[q>>2]|0)+o>>0]=n}e=c[t>>2]|0;if((e|0)<=(h|0))break;k=c[p>>2]|0;i=f;f=g;o=h}return}function li(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&255;return d|0}d=f&~(h>>31);d=d&255;return d|0}function mi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4592|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;iw(e|0,d|0,g|0)|0;return g|0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=b-d|0;h=a+128|0;e=a+136|0;if((((g|0)>-1?g:0-g|0)|0)>(c[e>>2]|0)){b=$(oi(a,a+4568|0)|0,d-b>>31|1)|0;f=c[e>>2]|0;g=f<<1|1;b=($(b,g)|0)+d|0;if((b|0)>=(0-f|0)){e=c[h>>2]|0;if((e+f|0)<(b|0))b=b-($(c[a+132>>2]|0,g)|0)|0}else{b=($(c[a+132>>2]|0,g)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&255;return a|0}a=e&~(b>>31);a=a&255;return a|0}else{d=oi(a,a+4580|0)|0;g=c[e>>2]|0;f=g<<1|1;b=($(f,d)|0)+b|0;if((b|0)>=(0-g|0)){e=c[h>>2]|0;if((e+g|0)<(b|0))b=b-($(c[a+132>>2]|0,f)|0)|0}else{b=($(c[a+132>>2]|0,f)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&255;return a|0}a=e&~(b>>31);a=a&255;return a|0}return 0}function oi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function pi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function qi(a){a=a|0;cj(a);return}function ri(a){a=a|0;return 50767}function si(a,b,c){a=a|0;b=b|0;c=c|0;Gm(a,50754,12);return}function ti(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+16|0;t=s;c[t>>2]=0;u=t+4|0;c[u>>2]=0;c[t+8>>2]=0;q=t+8|0;o=0;g=ka(67,1)|0;p=o;o=0;a:do{if((!(p&1)?(p=g+1|0,a[g>>0]=e,c[t>>2]=g,c[u>>2]=p,c[q>>2]=p,o=0,ia(84,t|0,d&65535|0),p=o,o=0,!(p&1)):0)?(o=0,ia(84,t|0,b&65535|0),p=o,o=0,!(p&1)):0){m=f&255;g=c[u>>2]|0;e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);p=o;o=0;if(p&1){r=52;break}b=c[t>>2]|0;e=c[q>>2]|0;d=b}l=d;g=e-l|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;e=c[u>>2]|0;k=e-l|0;if(!g){g=0;j=0}else r=12}else{k=c[u>>2]|0;g=2147483647;e=k;k=k-l|0;r=12}if((r|0)==12){o=0;j=ka(67,g|0)|0;p=o;o=0;if(p&1){r=52;break}}a[j+k>>0]=m;n=e-l|0;p=j+(k-n)|0;lw(p|0,d|0,n|0)|0;c[t>>2]=p;c[u>>2]=j+(k+1);c[q>>2]=j+g;if(b)cj(b)}else{a[g>>0]=m;c[u>>2]=(c[u>>2]|0)+1}b:do{if((f|0)>0){p=0;while(1){p=p+1|0;n=p&255;g=c[u>>2]|0;d=c[q>>2]|0;if(g>>>0>=d>>>0){b=c[t>>2]|0;e=b;j=g-e+1|0;if((j|0)<0){o=0;ha(178,t|0);m=o;o=0;if(m&1)break;b=c[t>>2]|0;e=b;d=c[q>>2]|0}m=b;g=d-m|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;d=c[u>>2]|0;k=d-m|0;if(!g){l=0;j=0}else r=25}else{k=c[u>>2]|0;g=2147483647;d=k;k=k-m|0;r=25}if((r|0)==25){r=0;o=0;j=ka(67,g|0)|0;l=o;o=0;if(l&1)break;else l=g}a[j+k>>0]=n;g=j+(k+1)|0;m=d-m|0;n=j+(k-m)|0;lw(n|0,b|0,m|0)|0;c[t>>2]=n;c[u>>2]=g;c[q>>2]=j+l;if(e){cj(e);g=c[u>>2]|0}}else{a[g>>0]=n;g=(c[u>>2]|0)+1|0;c[u>>2]=g}e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);n=o;o=0;if(n&1)break;b=c[t>>2]|0;e=c[q>>2]|0;d=b}m=d;g=e-m|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;j=c[u>>2]|0;k=j-m|0;if(!g){l=0;e=0}else r=36}else{k=c[u>>2]|0;g=2147483647;j=k;k=k-m|0;r=36}if((r|0)==36){r=0;o=0;e=ka(67,g|0)|0;n=o;o=0;if(n&1)break;else l=g}a[e+k>>0]=17;g=e+(k+1)|0;m=j-m|0;n=e+(k-m)|0;lw(n|0,d|0,m|0)|0;c[t>>2]=n;c[u>>2]=g;c[q>>2]=e+l;if(b){cj(b);g=c[u>>2]|0}}else{a[g>>0]=17;g=(c[u>>2]|0)+1|0;c[u>>2]=g}e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);n=o;o=0;if(n&1)break;b=c[t>>2]|0;e=c[q>>2]|0;d=b}l=d;g=e-l|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;e=c[u>>2]|0;k=e-l|0;if(!g){g=0;j=0}else r=48}else{k=c[u>>2]|0;g=2147483647;e=k;k=k-l|0;r=48}if((r|0)==48){r=0;o=0;j=ka(67,g|0)|0;n=o;o=0;if(n&1)break}a[j+k>>0]=0;m=e-l|0;n=j+(k-m)|0;lw(n|0,d|0,m|0)|0;c[t>>2]=n;c[u>>2]=j+(k+1);c[q>>2]=j+g;if(b)cj(b)}else{a[g>>0]=0;c[u>>2]=(c[u>>2]|0)+1}if((p|0)>=(f|0))break b}h=Na()|0;break a}}while(0);o=0;k=ka(67,20)|0;f=o;o=0;if(!(f&1)){c[k>>2]=36800;a[k+4>>0]=-9;b=k+8|0;c[b>>2]=0;j=k+12|0;c[j>>2]=0;e=k+16|0;c[e>>2]=0;g=c[u>>2]|0;f=c[t>>2]|0;d=g-f|0;do{if((g|0)!=(f|0)){if(!((d|0)<0?(o=0,ha(178,b|0),f=o,o=0,f&1):0))r=62;if((r|0)==62?(o=0,h=ka(67,d|0)|0,f=o,o=0,!(f&1)):0){c[j>>2]=h;c[b>>2]=h;c[e>>2]=h+d;g=c[t>>2]|0;e=c[u>>2]|0;if((g|0)==(e|0))break;do{a[h>>0]=a[g>>0]|0;h=(c[j>>2]|0)+1|0;c[j>>2]=h;g=g+1|0}while((g|0)!=(e|0));g=c[t>>2]|0;break}h=Na()|0;g=c[b>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}cj(k);break a}}while(0);if(!g){i=s;return k|0}if((c[u>>2]|0)!=(g|0))c[u>>2]=g;cj(g);i=s;return k|0}else r=52}else r=52}while(0);if((r|0)==52)h=Na()|0;g=c[t>>2]|0;if(!g)Ya(h|0);if((c[u>>2]|0)!=(g|0))c[u>>2]=g;cj(g);Ya(h|0);return 0}function ui(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;r=u+28|0;w=u+16|0;t=u+4|0;s=u;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;p=bj(5)|0;c[w>>2]=p;q=w+8|0;c[q>>2]=p+5;a[p>>0]=74;a[p+1>>0]=70;a[p+2>>0]=73;a[p+3>>0]=70;a[p+4>>0]=0;c[x>>2]=p+5;o=0;ia(84,w|0,c[b>>2]&65535|0);p=o;o=0;a:do{if(!(p&1)){m=c[b+4>>2]&255;d=c[x>>2]|0;f=c[q>>2]|0;if(d>>>0>=f>>>0){g=c[w>>2]|0;h=g;j=d-h+1|0;if((j|0)<0){o=0;ha(178,w|0);p=o;o=0;if(p&1){v=43;break}h=c[w>>2]|0;f=c[q>>2]|0;g=h}l=g;d=f-l|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;f=c[x>>2]|0;k=f-l|0;if(!d){d=0;j=0}else v=10}else{k=c[x>>2]|0;d=2147483647;f=k;k=k-l|0;v=10}if((v|0)==10){o=0;j=ka(67,d|0)|0;p=o;o=0;if(p&1){v=43;break}}a[j+k>>0]=m;n=f-l|0;p=j+(k-n)|0;lw(p|0,g|0,n|0)|0;c[w>>2]=p;c[x>>2]=j+(k+1);c[q>>2]=j+d;if(h)cj(h)}else{a[d>>0]=m;c[x>>2]=(c[x>>2]|0)+1}o=0;ia(84,w|0,c[b+8>>2]&65535|0);p=o;o=0;if(!(p&1)?(o=0,ia(84,w|0,c[b+12>>2]&65535|0),p=o,o=0,!(p&1)):0){p=b+16|0;n=c[p>>2]&255;d=c[x>>2]|0;g=c[q>>2]|0;if(d>>>0>=g>>>0){h=c[w>>2]|0;f=h;j=d-f+1|0;if((j|0)<0){o=0;ha(178,w|0);m=o;o=0;if(m&1){v=43;break}h=c[w>>2]|0;f=h;g=c[q>>2]|0}m=h;d=g-m|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;j=c[x>>2]|0;k=j-m|0;if(!d){l=0;g=0}else v=23}else{k=c[x>>2]|0;d=2147483647;j=k;k=k-m|0;v=23}if((v|0)==23){o=0;g=ka(67,d|0)|0;l=o;o=0;if(l&1){v=43;break}else l=d}a[g+k>>0]=n;d=g+(k+1)|0;m=j-m|0;n=g+(k-m)|0;lw(n|0,h|0,m|0)|0;c[w>>2]=n;c[x>>2]=d;c[q>>2]=g+l;if(f){cj(f);d=c[x>>2]|0}}else{a[d>>0]=n;d=(c[x>>2]|0)+1|0;c[x>>2]=d}n=b+20|0;m=c[n>>2]&255;f=c[q>>2]|0;if(d>>>0>=f>>>0){g=c[w>>2]|0;h=g;j=d-h+1|0;if((j|0)<0){o=0;ha(178,w|0);l=o;o=0;if(l&1){v=43;break}h=c[w>>2]|0;f=c[q>>2]|0;g=h}l=g;d=f-l|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;f=c[x>>2]|0;k=f-l|0;if(!d){d=0;j=0}else v=34}else{k=c[x>>2]|0;d=2147483647;f=k;k=k-l|0;v=34}if((v|0)==34){o=0;j=ka(67,d|0)|0;y=o;o=0;if(y&1){v=43;break}}a[j+k>>0]=m;m=f-l|0;y=j+(k-m)|0;lw(y|0,g|0,m|0)|0;c[w>>2]=y;c[x>>2]=j+(k+1);c[q>>2]=j+d;if(h)cj(h)}else{a[d>>0]=m;c[x>>2]=(c[x>>2]|0)+1}d=c[p>>2]|0;do{if((d|0)>0){if(!(c[b+24>>2]|0)){c[s>>2]=c[x>>2];y=0+($(d*3|0,c[n>>2]|0)|0)|0;o=0;c[r>>2]=c[s>>2];va(15,w|0,r|0,0,y|0)|0;y=o;o=0;if(y&1){v=43;break a}else break}f=Ma(16)|0;o=0;wa(5,t|0,50792,57);y=o;o=0;if(!(y&1)){o=0;d=ua(1)|0;y=o;o=0;if(!(y&1)?(o=0,Aa(36,f|0,1,d|0,t|0),y=o,o=0,!(y&1)):0){o=0;wa(6,f|0,824,96);o=0;e=0}else e=1;d=Na()|0;Im(t);if(!e){e=d;break a}}else d=Na()|0;La(f|0);e=d;break a}}while(0);o=0;k=ka(67,20)|0;y=o;o=0;if(!(y&1)){c[k>>2]=36800;a[k+4>>0]=-32;h=k+8|0;c[h>>2]=0;j=k+12|0;c[j>>2]=0;f=k+16|0;c[f>>2]=0;d=c[x>>2]|0;y=c[w>>2]|0;g=d-y|0;do{if((d|0)!=(y|0)){if(!((g|0)<0?(o=0,ha(178,h|0),y=o,o=0,y&1):0))v=53;if((v|0)==53?(o=0,e=ka(67,g|0)|0,y=o,o=0,!(y&1)):0){c[j>>2]=e;c[h>>2]=e;c[f>>2]=e+g;d=c[w>>2]|0;f=c[x>>2]|0;if((d|0)==(f|0))break;do{a[e>>0]=a[d>>0]|0;e=(c[j>>2]|0)+1|0;c[j>>2]=e;d=d+1|0}while((d|0)!=(f|0));d=c[w>>2]|0;break}d=Na()|0;e=c[h>>2]|0;if(e){if((c[j>>2]|0)!=(e|0))c[j>>2]=e;cj(e)}cj(k);v=44;break a}}while(0);if(!d){i=u;return k|0}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return k|0}else v=43}else v=43}else v=43}while(0);if((v|0)==43){d=Na()|0;v=44}if((v|0)==44)e=d;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0);return 0}function vi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;k=i;i=i+16|0;m=k;c[m>>2]=0;n=m+4|0;c[n>>2]=0;c[m+8>>2]=0;o=0;d=ka(67,1)|0;j=o;o=0;a:do{if((((((!(j&1)?(j=d+1|0,a[d>>0]=1,c[m>>2]=d,c[n>>2]=j,c[m+8>>2]=j,o=0,ia(84,m|0,c[b>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+4>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+8>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+12>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+16>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,l=ka(67,20)|0,j=o,o=0,!(j&1)):0){c[l>>2]=36800;a[l+4>>0]=-8;g=l+8|0;c[g>>2]=0;j=l+12|0;c[j>>2]=0;b=l+16|0;c[b>>2]=0;d=c[n>>2]|0;p=c[m>>2]|0;f=d-p|0;do{if((d|0)!=(p|0)){if(!((f|0)<0?(o=0,ha(178,g|0),p=o,o=0,p&1):0))h=11;if((h|0)==11?(o=0,e=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[j>>2]=e;c[g>>2]=e;c[b>>2]=e+f;d=c[m>>2]|0;b=c[n>>2]|0;if((d|0)==(b|0))break;do{a[e>>0]=a[d>>0]|0;e=(c[j>>2]|0)+1|0;c[j>>2]=e;d=d+1|0}while((d|0)!=(b|0));d=c[m>>2]|0;break}e=Na()|0;d=c[g>>2]|0;if(d){if((c[j>>2]|0)!=(d|0))c[j>>2]=d;cj(d)}cj(l);break a}}while(0);if(!d){i=k;return l|0}if((c[n>>2]|0)!=(d|0))c[n>>2]=d;cj(d);i=k;return l|0}else h=25}while(0);if((h|0)==25)e=Na()|0;d=c[m>>2]|0;if(!d)Ya(e|0);if((c[n>>2]|0)!=(d|0))c[n>>2]=d;cj(d);Ya(e|0);return 0}function wi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=bj(5)|0;a[h>>0]=109;a[h+1>>0]=114;a[h+2>>0]=102;a[h+3>>0]=120;a[h+4>>0]=b;o=0;g=ka(67,20)|0;f=o;o=0;if(f&1){g=Na()|0;cj(h);Ya(g|0)}c[g>>2]=36800;a[g+4>>0]=-24;b=g+8|0;c[b>>2]=0;d=g+12|0;c[d>>2]=0;e=g+16|0;c[e>>2]=0;o=0;f=ka(67,5)|0;i=o;o=0;if(!(i&1)){c[d>>2]=f;c[b>>2]=f;c[e>>2]=f+5;a[f>>0]=109;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=h+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=f+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=f+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;a[i>>0]=a[f+1>>0]|0;c[d>>2]=(c[d>>2]|0)+1;cj(h);return g|0}i=Na()|0;cj(g);cj(h);Ya(i|0);return 0}function xi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;t=w+8|0;o=0;g=ka(67,1)|0;s=o;o=0;a:do{if(!(s&1)){k=g+1|0;s=k;a[g>>0]=d;c[w>>2]=g;c[x>>2]=s;c[t>>2]=s;if((d|0)>0){j=k;s=0;do{r=s+b&255;if(j>>>0>=k>>>0){g=c[w>>2]|0;l=g;j=j-l+1|0;if((j|0)<0){o=0;ha(178,w|0);q=o;o=0;if(q&1){u=28;break}l=c[w>>2]|0;k=c[t>>2]|0;q=l}else q=g;p=q;g=k-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;k=c[x>>2]|0;m=k-p|0;if(!g){n=0;j=0}else u=13}else{m=c[x>>2]|0;g=2147483647;k=m;m=m-p|0;u=13}if((u|0)==13){u=0;o=0;j=ka(67,g|0)|0;n=o;o=0;if(n&1){u=28;break}else n=g}a[j+m>>0]=r;g=j+(m+1)|0;p=k-p|0;r=j+(m-p)|0;lw(r|0,q|0,p|0)|0;c[w>>2]=r;c[x>>2]=g;c[t>>2]=j+n;if(l){cj(l);g=c[x>>2]|0}}else{a[j>>0]=r;g=(c[x>>2]|0)+1|0;c[x>>2]=g}k=c[t>>2]|0;if(g>>>0>=k>>>0){l=c[w>>2]|0;j=l;m=g-j+1|0;if((m|0)<0){o=0;ha(178,w|0);r=o;o=0;if(r&1){u=28;break}l=c[w>>2]|0;j=l;k=c[t>>2]|0}p=l;g=k-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?m:g;m=c[x>>2]|0;k=m-p|0;if(!g){g=0;n=0}else u=24}else{k=c[x>>2]|0;g=2147483647;m=k;k=k-p|0;u=24}if((u|0)==24){u=0;o=0;n=ka(67,g|0)|0;r=o;o=0;if(r&1){u=28;break}}a[n+k>>0]=0;q=m-p|0;r=n+(k-q)|0;lw(r|0,l|0,q|0)|0;c[w>>2]=r;c[x>>2]=n+(k+1);c[t>>2]=n+g;if(j)cj(j)}else{a[g>>0]=0;c[x>>2]=(c[x>>2]|0)+1}s=s+1|0;j=c[x>>2]|0;k=c[t>>2]|0}while((s|0)<(d|0));if((u|0)==28){h=Na()|0;break}g=e&255;if(j>>>0>>0){a[j>>0]=g;j=(c[x>>2]|0)+1|0;c[x>>2]=j}else u=37}else{j=k;g=e&255;u=37}if((u|0)==37){l=c[w>>2]|0;m=l;n=j-m+1|0;if((n|0)<0){o=0;ha(178,w|0);e=o;o=0;if(e&1){u=29;break}m=c[w>>2]|0;k=c[t>>2]|0;l=m}r=l;j=k-r|0;if(j>>>0<1073741823){j=j<<1;j=j>>>0>>0?n:j;n=c[x>>2]|0;p=n-r|0;if(!j){q=0;k=0}else u=43}else{p=c[x>>2]|0;j=2147483647;n=p;p=p-r|0;u=43}if((u|0)==43){o=0;k=ka(67,j|0)|0;e=o;o=0;if(e&1){u=29;break}else q=j}a[k+p>>0]=g;j=k+(p+1)|0;b=n-r|0;e=k+(p-b)|0;lw(e|0,l|0,b|0)|0;c[w>>2]=e;c[x>>2]=j;c[t>>2]=k+q;if(m){cj(m);j=c[x>>2]|0}}r=f&255;g=c[t>>2]|0;if(j>>>0>=g>>>0){k=c[w>>2]|0;l=k;j=j-l+1|0;if((j|0)<0){o=0;ha(178,w|0);f=o;o=0;if(f&1){u=29;break}l=c[w>>2]|0;g=c[t>>2]|0;k=l}q=k;g=g-q|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;m=c[x>>2]|0;n=m-q|0;if(!g){p=0;j=0}else u=54}else{n=c[x>>2]|0;g=2147483647;m=n;n=n-q|0;u=54}if((u|0)==54){o=0;j=ka(67,g|0)|0;f=o;o=0;if(f&1){u=29;break}else p=g}a[j+n>>0]=r;g=j+(n+1)|0;e=m-q|0;f=j+(n-e)|0;lw(f|0,k|0,e|0)|0;c[w>>2]=f;c[x>>2]=g;c[t>>2]=j+p;if(l){cj(l);g=c[x>>2]|0}}else{a[j>>0]=r;g=(c[x>>2]|0)+1|0;c[x>>2]=g}j=c[t>>2]|0;if(g>>>0>=j>>>0){k=c[w>>2]|0;l=k;m=g-l+1|0;if((m|0)<0){o=0;ha(178,w|0);f=o;o=0;if(f&1){u=29;break}l=c[w>>2]|0;j=c[t>>2]|0;k=l}p=k;g=j-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?m:g;j=c[x>>2]|0;n=j-p|0;if(!g){g=0;m=0}else u=65}else{n=c[x>>2]|0;g=2147483647;j=n;n=n-p|0;u=65}if((u|0)==65){o=0;m=ka(67,g|0)|0;f=o;o=0;if(f&1){u=29;break}}a[m+n>>0]=0;e=j-p|0;f=m+(n-e)|0;lw(f|0,k|0,e|0)|0;c[w>>2]=f;c[x>>2]=m+(n+1);c[t>>2]=m+g;if(l)cj(l)}else{a[g>>0]=0;c[x>>2]=(c[x>>2]|0)+1}o=0;n=ka(67,20)|0;t=o;o=0;if(!(t&1)){c[n>>2]=36800;a[n+4>>0]=-38;l=n+8|0;c[l>>2]=0;m=n+12|0;c[m>>2]=0;j=n+16|0;c[j>>2]=0;g=c[x>>2]|0;t=c[w>>2]|0;k=g-t|0;do{if((g|0)!=(t|0)){if(!((k|0)<0?(o=0,ha(178,l|0),t=o,o=0,t&1):0))u=72;if((u|0)==72?(o=0,h=ka(67,k|0)|0,t=o,o=0,!(t&1)):0){c[m>>2]=h;c[l>>2]=h;c[j>>2]=h+k;g=c[w>>2]|0;j=c[x>>2]|0;if((g|0)==(j|0))break;do{a[h>>0]=a[g>>0]|0;h=(c[m>>2]|0)+1|0;c[m>>2]=h;g=g+1|0}while((g|0)!=(j|0));g=c[w>>2]|0;break}h=Na()|0;g=c[l>>2]|0;if(g){if((c[m>>2]|0)!=(g|0))c[m>>2]=g;cj(g)}cj(n);break a}}while(0);if(!g){i=v;return n|0}if((c[x>>2]|0)!=(g|0))c[x>>2]=g;cj(g);i=v;return n|0}else u=29}else u=29}while(0);if((u|0)==29)h=Na()|0;g=c[w>>2]|0;if(!g)Ya(h|0);if((c[x>>2]|0)!=(g|0))c[x>>2]=g;cj(g);Ya(h|0);return 0}function yi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=(d&65535)>>>8&255;o=b+4|0;e=c[o>>2]|0;p=b+8|0;f=c[p>>2]|0;if(e>>>0>=f>>>0){g=c[b>>2]|0;h=g;i=e-h+1|0;if((i|0)<0){$i(b);h=c[b>>2]|0;f=c[p>>2]|0;g=h}m=g;e=f-m|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?i:e;i=c[o>>2]|0;f=i-m|0;if(!e){l=0;k=0;j=f;e=i}else q=8}else{f=c[o>>2]|0;e=2147483647;i=f;f=f-m|0;q=8}if((q|0)==8){l=e;k=bj(e)|0;j=f;e=i}a[k+j>>0]=n;f=k+(j+1)|0;m=e-m|0;n=k+(j-m)|0;lw(n|0,g|0,m|0)|0;c[b>>2]=n;c[o>>2]=f;c[p>>2]=k+l;if(h){cj(h);f=c[o>>2]|0}}else{a[e>>0]=n;f=(c[o>>2]|0)+1|0;c[o>>2]=f}m=d&255;e=c[p>>2]|0;if(f>>>0>>0){a[f>>0]=m;c[o>>2]=(c[o>>2]|0)+1;return}g=c[b>>2]|0;h=g;f=f-h+1|0;if((f|0)<0){$i(b);h=c[b>>2]|0;e=c[p>>2]|0;g=h}l=g;e=e-l|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?f:e;i=c[o>>2]|0;f=i-l|0;if(!e){k=0;j=0;e=i}else q=18}else{f=c[o>>2]|0;e=2147483647;i=f;f=f-l|0;q=18}if((q|0)==18){k=e;j=bj(e)|0;e=i}a[j+f>>0]=m;d=e-l|0;q=j+(f-d)|0;lw(q|0,g|0,d|0)|0;c[b>>2]=q;c[o>>2]=j+(f+1);c[p>>2]=j+k;if(!h)return;cj(h);return}function zi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=c[b>>2]|0;q=c[d>>2]|0;p=q;k=g;n=e;l=f-n|0;if((l|0)<=0){r=q;return r|0}o=b+8|0;d=c[o>>2]|0;r=b+4|0;m=c[r>>2]|0;h=m;if((l|0)<=(d-h|0)){j=h-p|0;if((l|0)>(j|0)){i=e+j|0;if((i|0)==(f|0))d=m;else{h=i;d=m;do{a[d>>0]=a[h>>0]|0;d=(c[r>>2]|0)+1|0;c[r>>2]=d;h=h+1|0}while((h|0)!=(f|0))}if((j|0)>0)j=d;else{r=q;return r|0}}else{j=m;i=f}g=j-(g+(l-k+p))|0;d=q+g|0;if(d>>>0>>0){h=j;do{a[h>>0]=a[d>>0]|0;d=d+1|0;h=(c[r>>2]|0)+1|0;c[r>>2]=h}while((d|0)!=(m|0))}nw(j+(0-g)|0,q|0,g|0)|0;nw(q|0,e|0,i-n|0)|0;r=q;return r|0}h=h-k+l|0;if((h|0)<0){$i(b);d=c[o>>2]|0;g=c[b>>2]|0}i=g;d=d-i|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?h:d;h=p-i|0;if(!d){i=0;l=0}else j=15}else{d=2147483647;h=p-i|0;j=15}if((j|0)==15){i=d;l=bj(d)|0}k=l+h|0;d=k;j=l+i|0;if((e|0)!=(f|0)){g=e;i=k;do{a[i>>0]=a[g>>0]|0;i=d+1|0;d=i;g=g+1|0}while((g|0)!=(f|0));g=c[b>>2]|0}e=p-g|0;f=l+(h-e)|0;lw(f|0,g|0,e|0)|0;p=(c[r>>2]|0)-p|0;e=d;lw(e|0,q|0,p|0)|0;d=c[b>>2]|0;c[b>>2]=f;c[r>>2]=e+p;c[o>>2]=j;if(!d){r=k;return r|0}cj(d);r=k;return r|0}function Ai(a){a=a|0;var b=0;c[a>>2]=36800;b=c[a+8>>2]|0;if(!b)return;a=a+12|0;if((c[a>>2]|0)!=(b|0))c[a>>2]=b;cj(b);return}function Bi(a){a=a|0;var b=0,d=0;c[a>>2]=36800;b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Ci(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;Di(d,-1);Di(d,a[b+4>>0]|0);g=b+12|0;f=b+8|0;b=(c[g>>2]|0)-(c[f>>2]|0)+2|0;Di(d,(b&65535)>>>8&255);Di(d,b&255);b=c[f>>2]|0;if((c[g>>2]|0)==(b|0))return;else e=0;do{Di(d,a[b+e>>0]|0);e=e+1|0;b=c[f>>2]|0}while(e>>>0<((c[g>>2]|0)-b|0)>>>0);return}function Di(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=c[b+4>>2]|0;if(g){e=g+24|0;f=c[e>>2]|0;if((f|0)==(c[g+28>>2]|0)){Lb[c[(c[g>>2]|0)+52>>2]&63](g,d&255)|0;return}else{c[e>>2]=f+1;a[f>>0]=d;return}}e=b+16|0;f=c[e>>2]|0;if(f>>>0<(c[b+12>>2]|0)>>>0){c[e>>2]=f+1;a[(c[b+8>>2]|0)+f>>0]=d;return}e=Ma(16)|0;o=0;f=ua(1)|0;d=o;o=0;if(d&1){d=Na()|0;La(e|0);Ya(d|0)}o=0;wa(7,e|0,4,f|0);d=o;o=0;if(d&1){d=Na()|0;La(e|0);Ya(d|0)}else lb(e|0,824,96)}function Ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;f=(b|0)<4095?(b+128|0)/256|0:16;g=(d*3|0)+2+f|0;e=d+1|0;g=(g|0)<(e|0)|(g|0)>(b|0)?e:g;c[a+4>>2]=g;e=(f<<2|3)+(d*5|0)|0;e=(e|0)>(b|0)|(e|0)<(g|0)?g:e;c[a+8>>2]=e;d=(d*7|0)+4+(f*17|0)|0;c[a+12>>2]=(d|0)>(b|0)|(d|0)<(e|0)?e:d;c[a>>2]=b;c[a+16>>2]=64;return}function Fi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+128|0;k=m+100|0;f=m+16|0;e=m+112|0;l=m+4|0;n=m;g=f;h=b+20|0;j=g+84|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[f+16>>2]=c[b+4>>2];h=pc(e,f,b+56|0)|0;e=c[(c[h>>2]|0)+16>>2]|0;b=b+8|0;o=0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];e=ra(e|0,h|0,k|0)|0;b=o;o=0;do{if(b&1)e=Na()|0;else{g=d+4|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];g=d+16|0;b=c[g>>2]|0;k=l+8|0;c[k>>2]=(c[k>>2]|0)-b;k=l+4|0;c[k>>2]=(c[k>>2]|0)+b;k=c[(c[h>>2]|0)+12>>2]|0;c[n>>2]=e;o=0;e=va(k|0,h|0,n|0,l|0,((a[d>>0]|0)==0?0:(c[d+8>>2]|0)+b|0)|0)|0;l=o;o=0;if(l&1){e=Na()|0;f=c[n>>2]|0;c[n>>2]=0;if(!f)break;Bb[c[(c[f>>2]|0)+4>>2]&255](f);break}f=c[n>>2]|0;c[n>>2]=0;if(f)Bb[c[(c[f>>2]|0)+4>>2]&255](f);if(!(c[d+4>>2]|0))c[g>>2]=(c[g>>2]|0)+e;if(!h){i=m;return}Bb[c[(c[h>>2]|0)+4>>2]&255](h);i=m;return}}while(0);if(!h)Ya(e|0);Bb[c[(c[h>>2]|0)+4>>2]&255](h);Ya(e|0)}function Gi(b,d){b=b|0;d=d|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];a[b+12>>0]=0;d=b+16|0;b=d+100|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));return}function Hi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+32|0;u=v+4|0;q=v+16|0;w=v;Ii(b);r=b+16|0;g=c[b+24>>2]|0;a:do{if((g+-2|0)>>>0<=14){s=b+40|0;e=c[s>>2]|0;if(e>>>0>2)e=5;else{t=b+32|0;h=c[t>>2]|0;switch(h|0){case 0:{e=1;break a}case 4:{if((e|0)==2){e=2;break a}break}case 3:break;default:if(e){e=2;break a}}p=b+100|0;e=b+108|0;f=c[e>>2]|0;if((f|0)<1){f=c[r>>2]|0;c[e>>2]=f;e=c[b+20>>2]|0;c[b+112>>2]=e}else e=c[b+112>>2]|0;l=tw(e|0,((e|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;k=(g+7|0)/8|0;k=tw(l|0,D|0,k|0,((k|0)<0)<<31>>31|0)|0;l=d+4|0;e=c[l>>2]|0;j=d+8|0;if((e|0)!=0?(m=c[j>>2]|0,n=tw(h|0,((h|0)<0)<<31>>31|0,k|0,D|0)|0,g=D,0<(g|0)|0==(g|0)&m>>>0>>0):0){e=Ma(16)|0;o=0;f=ua(1)|0;w=o;o=0;if(!(w&1)?(o=0,wa(7,e|0,3,f|0),w=o,o=0,!(w&1)):0)lb(e|0,824,96);w=Na()|0;La(e|0);Ya(w|0)}m=b+52|0;n=b+12|0;if((h|0)>0)h=0;else{i=v;return}while(1){Ji(b,(h|0)==0);f=nc(q,r,m)|0;g=c[(c[f>>2]|0)+8>>2]|0;o=0;c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];g=ra(g|0,f|0,u|0)|0;x=o;o=0;if(x&1){g=32;break}x=c[(c[f>>2]|0)+16>>2]|0;c[w>>2]=g;o=0;fa(x|0,f|0,w|0,p|0,b|0,(a[n>>0]|0)!=0|0);x=o;o=0;if(x&1){g=30;break}g=c[w>>2]|0;c[w>>2]=0;if(g)Bb[c[(c[g>>2]|0)+4>>2]&255](g);if(!e)e=0;else{e=e+k|0;c[l>>2]=e;c[j>>2]=(c[j>>2]|0)-k}g=(c[s>>2]|0)==0;h=(g&1)+h|0;if(f)Bb[c[(c[f>>2]|0)+4>>2]&255](f);if(!g){g=34;break}if((h|0)>=(c[t>>2]|0)){g=34;break}}if((g|0)==30){e=Na()|0;g=c[w>>2]|0;c[w>>2]=0;if(g)Bb[c[(c[g>>2]|0)+4>>2]&255](g)}else if((g|0)==32){e=Na()|0;if(!f){x=e;Ya(x|0)}}else if((g|0)==34){i=v;return}Bb[c[(c[f>>2]|0)+4>>2]&255](f);x=e;Ya(x|0)}}else e=2}while(0);f=Ma(16)|0;o=0;g=ua(1)|0;x=o;o=0;if(!(x&1)?(o=0,wa(7,f|0,e|0,g|0),x=o,o=0,!(x&1)):0)lb(f|0,824,96);x=Na()|0;La(f|0);Ya(x|0)}function Ii(a){a=a|0;var b=0,c=0,d=0,e=0;if((Mi(a)|0)<<24>>24!=-40){b=Ma(16)|0;o=0;c=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,wa(7,b|0,5,c|0),e=o,o=0,!(e&1)):0)lb(b|0,824,96);e=Na()|0;La(b|0);Ya(e|0)}b=Mi(a)|0;if(b<<24>>24==-38)return;while(1){d=((Li(a)|0)&255)<<8;d=d|(Li(a)|0)&255;b=Ni(a,b)|0;c=-2-b+d|0;if((c|0)<0)break;if((c|0)>0){b=d+-2-b|0;c=0;do{Li(a)|0;c=c+1|0}while((c|0)!=(b|0))}b=Mi(a)|0;if(b<<24>>24==-38){e=8;break}}if((e|0)==8)return;b=Ma(16)|0;o=0;c=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,wa(7,b|0,5,c|0),e=o,o=0,!(e&1)):0)lb(b|0,824,96);e=Na()|0;La(b|0);Ya(e|0)}function Ji(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(!b){if((Li(a)|0)<<24>>24!=-1){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,12,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}if((Li(a)|0)<<24>>24!=-38){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}}Li(a)|0;Li(a)|0;d=Li(a)|0;e=d&255;do{if(d<<24>>24==1){Li(a)|0;d=0;f=20}else{if((e|0)==(c[a+32>>2]|0)){b=Li(a)|0;if(!(d<<24>>24))break;else{d=0;f=20;break}}b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,2,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}}while(0);if((f|0)==20)while(1){Li(a)|0;d=d+1|0;b=Li(a)|0;if((d|0)==(e|0))break;else f=20}c[a+36>>2]=b&255;f=Li(a)|0;d=a+40|0;c[d>>2]=f&255;if((f&255)>=3){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}if((Li(a)|0)<<24>>24){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}e=a+28|0;if(c[e>>2]|0)return;b=c[a+108>>2]|0;if(!b)b=c[a+16>>2]|0;if(!(c[d>>2]|0))d=1;else d=c[a+32>>2]|0;f=$(d,b)|0;c[e>>2]=$(f,((c[a+24>>2]|0)+7|0)/8|0)|0;return}function Ki(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((e|0)<=0)return;n=d+4|0;o=d+8|0;q=0;do{p=Li(b)|0;f=c[n>>2]|0;g=c[o>>2]|0;if(f>>>0>=g>>>0){h=c[d>>2]|0;i=h;j=f-i+1|0;if((j|0)<0){$i(d);i=c[d>>2]|0;g=c[o>>2]|0;h=i}m=h;f=g-m|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?j:f;j=c[n>>2]|0;g=j-m|0;if(!f){l=0;k=0;f=j}else r=10}else{g=c[n>>2]|0;f=2147483647;j=g;g=g-m|0;r=10}if((r|0)==10){r=0;l=f;k=bj(f)|0;f=j}a[k+g>>0]=p;m=f-m|0;p=k+(g-m)|0;lw(p|0,h|0,m|0)|0;c[d>>2]=p;c[n>>2]=k+(g+1);c[o>>2]=k+l;if(i)cj(i)}else{a[f>>0]=p;c[n>>2]=(c[n>>2]|0)+1}q=q+1|0}while((q|0)!=(e|0));return}function Li(b){b=b|0;var e=0,f=0,g=0,h=0;f=c[b>>2]|0;if(f){b=f+12|0;e=c[b>>2]|0;if((e|0)==(c[f+16>>2]|0))b=Eb[c[(c[f>>2]|0)+40>>2]&127](f)|0;else{c[b>>2]=e+1;b=d[e>>0]|0}h=b&255;return h|0}g=b+8|0;h=c[g>>2]|0;if(h){b=b+4|0;e=c[b>>2]|0;f=a[e>>0]|0;if(!e){h=f;return h|0}c[b>>2]=e+1;c[g>>2]=h+-1;h=f;return h|0}b=Ma(16)|0;o=0;e=ua(1)|0;h=o;o=0;if(h&1){h=Na()|0;La(b|0);Ya(h|0)}o=0;wa(7,b|0,4,e|0);h=o;o=0;if(h&1){h=Na()|0;La(b|0);Ya(h|0)}else lb(b|0,824,96);return 0}function Mi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+176|0;b=d+152|0;k=d+16|0;h=d;j=Li(a)|0;e=j&255;if(j<<24>>24==-1){do{b=Li(a)|0}while(b<<24>>24==-1);i=d;return b|0}j=k+56|0;g=k+4|0;c[k>>2]=36160;c[j>>2]=36180;o=0;ia(62,k+56|0,g|0);f=o;o=0;if(f&1){k=Na()|0;fn(j);Ya(k|0)}c[k+128>>2]=0;c[k+132>>2]=-1;c[k>>2]=36200;c[k+56>>2]=36220;o=0;ha(180,g|0);f=o;o=0;do{if(f&1)b=Na()|0;else{c[g>>2]=36236;f=k+36|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[k+52>>2]=16;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;o=0;ia(63,g|0,b|0);d=o;o=0;if(d&1){k=Na()|0;Im(b);Im(f);nn(g);b=k;break}Im(b);c[k+((c[(c[k>>2]|0)+-12>>2]|0)+76)>>2]=48;o=0;b=ma(28,k|0,50907,62)|0;d=o;o=0;if(!(d&1)?(d=b+((c[(c[b>>2]|0)+-12>>2]|0)+4)|0,c[d>>2]=c[d>>2]&-75|8,d=b+((c[(c[b>>2]|0)+-12>>2]|0)+4)|0,c[d>>2]=c[d>>2]|16384,c[b+((c[(c[b>>2]|0)+-12>>2]|0)+12)>>2]=2,o=0,ra(38,b|0,e|0)|0,e=o,o=0,!(e&1)):0){d=Ma(16)|0;o=0;ia(64,h|0,g|0);e=o;o=0;if(!(e&1)){o=0;b=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,Aa(36,d|0,12,b|0,h|0),e=o,o=0,!(e&1)):0){o=0;wa(6,d|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(h);if(!a){h=b;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}}else b=Na()|0;La(d|0);h=b;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}h=Na()|0;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}}while(0);k=b;fn(j);Ya(k|0);return 0}function Ni(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;d=i;i=i+320|0;j=d+300|0;m=d+152|0;k=d+288|0;n=d+16|0;l=d;switch(b<<24>>24){case-9:{c[a+24>>2]=(Li(a)|0)&255;p=((Li(a)|0)&255)<<8|(Li(a)|0)&255;c[a+16>>2]=((Li(a)|0)&255)<<8|(Li(a)|0)&255;c[a+20>>2]=p;c[a+32>>2]=(Li(a)|0)&255;p=6;i=d;return p|0}case-8:{p=Oi(a)|0;i=d;return p|0}case-24:{p=Pi(a)|0;i=d;return p|0}case-53:case-54:case-55:case-57:case-58:case-59:case-61:case-62:case-63:case-64:{h=m+56|0;f=m+4|0;c[m>>2]=36160;c[h>>2]=36180;o=0;ia(62,m+56|0,f|0);n=o;o=0;if(n&1){p=Na()|0;fn(h);Ya(p|0)}c[m+128>>2]=0;c[m+132>>2]=-1;c[m>>2]=36200;c[m+56>>2]=36220;o=0;ha(180,f|0);n=o;o=0;do{if(n&1)a=Na()|0;else{c[f>>2]=36236;g=m+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[m+52>>2]=16;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;o=0;ia(63,f|0,j|0);n=o;o=0;if(n&1){a=Na()|0;Im(j);Im(g);nn(f);break}Im(j);o=0;a=ma(28,m|0,50970,26)|0;n=o;o=0;do{if((!(n&1)?(o=0,e=ra(38,a|0,b&255|0)|0,n=o,o=0,!(n&1)):0)?(o=0,ma(28,e|0,50997,18)|0,n=o,o=0,!(n&1)):0){e=Ma(16)|0;o=0;ia(64,k|0,f|0);n=o;o=0;if(!(n&1)){o=0;a=ua(1)|0;n=o;o=0;if(!(n&1)?(o=0,Aa(36,e|0,10,a|0,k|0),n=o,o=0,!(n&1)):0){o=0;wa(6,e|0,824,96);o=0;d=0}else d=1;a=Na()|0;Im(k);if(!d)break}else a=Na()|0;La(e|0)}else p=20}while(0);if((p|0)==20)a=Na()|0;c[m>>2]=36200;c[h>>2]=36220;c[f>>2]=36236;Im(g);nn(f);fn(h);p=a;Ya(p|0)}}while(0);p=a;fn(h);Ya(p|0)}case-25:case-32:case-2:{p=0;i=d;return p|0}default:{k=n+56|0;g=n+4|0;c[n>>2]=36160;c[k>>2]=36180;o=0;ia(62,n+56|0,g|0);m=o;o=0;if(m&1){p=Na()|0;fn(k);Ya(p|0)}c[n+128>>2]=0;c[n+132>>2]=-1;c[n>>2]=36200;c[n+56>>2]=36220;o=0;ha(180,g|0);m=o;o=0;do{if(m&1)a=Na()|0;else{c[g>>2]=36236;h=n+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[n+52>>2]=16;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;o=0;ia(63,g|0,j|0);m=o;o=0;if(m&1){a=Na()|0;Im(j);Im(h);nn(g);break}Im(j);o=0;a=ma(28,n|0,51016,20)|0;m=o;o=0;do{if((!(m&1)?(o=0,f=ra(38,a|0,b&255|0)|0,m=o,o=0,!(m&1)):0)?(o=0,ma(28,f|0,51037,13)|0,m=o,o=0,!(m&1)):0){e=Ma(16)|0;o=0;ia(64,l|0,g|0);m=o;o=0;if(!(m&1)){o=0;a=ua(1)|0;m=o;o=0;if(!(m&1)?(o=0,Aa(36,e|0,11,a|0,l|0),m=o,o=0,!(m&1)):0){o=0;wa(6,e|0,824,96);o=0;d=0}else d=1;a=Na()|0;Im(l);if(!d)break}else a=Na()|0;La(e|0)}else p=40}while(0);if((p|0)==40)a=Na()|0;c[n>>2]=36200;c[k>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(k);p=a;Ya(p|0)}}while(0);p=a;fn(k);Ya(p|0)}}return 0}function Oi(a){a=a|0;var b=0;if((Li(a)|0)<<24>>24!=1){a=1;return a|0}b=((Li(a)|0)&255)<<8;c[a+52>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+56>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+60>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+64>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+68>>2]=b|(Li(a)|0)&255;a=11;return a|0}function Pi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d;c[f>>2]=0;g=f+4|0;c[g>>2]=0;c[f+8>>2]=0;o=0;wa(9,a|0,f|0,4);b=o;o=0;a:do{if(b&1)e=3;else{b=c[f>>2]|0;b:do{if(!(ol(b,51051,4)|0)){o=0;b=ka(69,a|0)|0;h=o;o=0;if(h&1){e=3;break a}b=b&255;switch(b|0){case 3:case 2:case 1:case 0:{c[a+44>>2]=b;a=5;b=c[f>>2]|0;break b}case 5:case 4:{b=Ma(16)|0;o=0;a=ua(1)|0;h=o;o=0;if(!(h&1)?(o=0,wa(7,b|0,7,a|0),h=o,o=0,!(h&1)):0){o=0;wa(6,b|0,824,96);o=0;e=3;break a}a=Na()|0;La(b|0);break a}default:{b=Ma(16)|0;o=0;a=ua(1)|0;h=o;o=0;if(!(h&1)?(o=0,wa(7,b|0,5,a|0),h=o,o=0,!(h&1)):0){o=0;wa(6,b|0,824,96);o=0;e=3;break a}a=Na()|0;La(b|0);break a}}}else a=4}while(0);if(!b){i=d;return a|0}if((c[g>>2]|0)!=(b|0))c[g>>2]=b;cj(b);i=d;return a|0}}while(0);if((e|0)==3)a=Na()|0;b=c[f>>2]|0;if(!b)Ya(a|0);if((c[g>>2]|0)!=(b|0))c[g>>2]=b;cj(b);Ya(a|0);return 0}function Qi(a){a=a|0;var b=0,d=0,e=0;e=c[(c[a>>2]|0)+-12>>2]|0;c[a+e>>2]=36200;b=a+(e+56)|0;c[b>>2]=36220;d=a+(e+4)|0;c[d>>2]=36236;Im(a+(e+36)|0);nn(d);fn(b);return}function Ri(a){a=a|0;return}function Si(a){a=a|0;cj(a);return}function Ti(b){b=b|0;a[b>>0]=0;b=b+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function Ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f;b=wi(b)|0;c[g>>2]=b;d=a+28|0;e=c[d>>2]|0;if(e>>>0<(c[a+32>>2]|0)>>>0){c[e>>2]=b;c[d>>2]=e+4;c[g>>2]=0;i=f;return}o=0;ia(57,a+24|0,g|0);a=o;o=0;if(a&1){b=Na()|0;d=c[g>>2]|0;c[g>>2]=0;if(!d)Ya(b|0);Bb[c[(c[d>>2]|0)+4>>2]&255](d);Ya(b|0)}else{b=c[g>>2]|0;c[g>>2]=0;if(!b){i=f;return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);i=f;return}}function Vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+4|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];Di(a,-1);Di(a,-40);e=a+28|0;f=a+24|0;b=c[f>>2]|0;if((c[e>>2]|0)==(b|0)){Di(a,-1);Di(a,-39);a=a+16|0;a=c[a>>2]|0;return a|0}else d=0;do{g=c[b+(d<<2)>>2]|0;Cb[c[(c[g>>2]|0)+8>>2]&127](g,a);d=d+1|0;b=c[f>>2]|0}while(d>>>0<(c[e>>2]|0)-b>>2>>>0);Di(a,-1);Di(a,-39);g=a+16|0;g=c[g>>2]|0;return g|0}function Wi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;n=i;i=i+48|0;j=n+32|0;f=n+12|0;k=n+8|0;m=n+4|0;p=n;e=d+36|0;do{if(((((c[e>>2]|0)==0?(c[d+40>>2]|0)==0:0)?(c[d+44>>2]|0)==0:0)?(c[d+48>>2]|0)==0:0)?(c[d+52>>2]|0)==0:0){e=c[d+8>>2]|0;if((e|0)<=12){g=a+28|0;h=a+32|0;break}Ei(f,(1<>2]|0);e=vi(f)|0;c[k>>2]=e;g=a+28|0;f=c[g>>2]|0;h=a+32|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[k>>2]=0;break}o=0;ia(57,a+24|0,k|0);j=o;o=0;if(!(j&1)){e=c[k>>2]|0;c[k>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[k>>2]|0;c[k>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}else l=6}while(0);do{if((l|0)==6){e=vi(e)|0;c[j>>2]=e;g=a+28|0;f=c[g>>2]|0;h=a+32|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[j>>2]=0;break}o=0;ia(57,a+24|0,j|0);l=o;o=0;if(!(l&1)){e=c[j>>2]|0;c[j>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[j>>2]|0;c[j>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}}while(0);e=a+20|0;f=(c[e>>2]|0)+1|0;c[e>>2]=f;e=c[d+24>>2]|0;j=(e|0)==0?1:c[d+16>>2]|0;e=xi(f,j,c[d+20>>2]|0,e)|0;c[m>>2]=e;f=c[g>>2]|0;do{if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[m>>2]=0}else{o=0;ia(57,a+24|0,m|0);l=o;o=0;if(!(l&1)){e=c[m>>2]|0;c[m>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[m>>2]|0;c[m>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}}while(0);k=bj(104)|0;c[k>>2]=36820;c[k+4>>2]=j;f=k+8|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];f=k+20|0;e=f+84|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));c[p>>2]=k;d=c[g>>2]|0;if(d>>>0<(c[h>>2]|0)>>>0){c[d>>2]=k;c[g>>2]=d+4;c[p>>2]=0;i=n;return}o=0;ia(57,a+24|0,p|0);a=o;o=0;if(a&1){d=Na()|0;e=c[p>>2]|0;c[p>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}else{d=c[p>>2]|0;c[p>>2]=0;if(!d){i=n;return}Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=n;return}}function Xi(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=i;i=i+96|0;p=q;o=ic(b,d,p,0)|0;if(o){g=o;i=q;return g|0}a[p+32>>0]=0;s=c[p+8>>2]|0;u=c[p>>2]|0;t=c[p+4>>2]|0;o=$(t,u)|0;r=c[p+16>>2]|0;o=$($(o,(s|0)<9?1:2)|0,r)|0;c[f>>2]=o;o=Fl(o)|0;c[e>>2]=o;c[g>>2]=u;c[h>>2]=t;c[j>>2]=s;c[k>>2]=c[p+12>>2];c[l>>2]=r;c[m>>2]=c[p+20>>2];c[n>>2]=c[p+24>>2];g=jc(o,c[f>>2]|0,b,d,0,0)|0;i=q;return g|0}function Yi(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;n=i;i=i+96|0;l=n+4|0;h=n;m=l;o=m+84|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(o|0));c[l+16>>2]=g;c[l+8>>2]=f;c[l>>2]=d;c[l+4>>2]=e;c[j>>2]=Fl(b)|0;c[h>>2]=0;d=hc(j,b,h,a,b,l,0)|0;c[k>>2]=c[h>>2];i=n;return d|0}function Zi(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;b=c[9320]|0;cl(b,a,d)|0;Wk(10,b)|0;Ga()}function _i(a){a=a|0;Ka(51337,51366,1164,51442)}function $i(a){a=a|0;Ka(51463,51486,303,51442)}function aj(){var a=0,b=0;a=i;i=i+16|0;if(!(db(37024,4)|0)){b=$a(c[9255]|0)|0;i=a;return b|0}else Zi(51562,a);return 0}function bj(a){a=a|0;var b=0;b=(a|0)==0?1:a;a=Fl(b)|0;a:do{if(!a){while(1){a=kj()|0;if(!a)break;Rb[a&7]();a=Fl(b)|0;if(a)break a}b=Ma(4)|0;c[b>>2]=36844;lb(b|0,592,78)}}while(0);return a|0}function cj(a){a=a|0;Gl(a);return}function dj(a){a=a|0;cj(a);return}function ej(a){a=a|0;c[a>>2]=36844;return}function fj(a){a=a|0;return}function gj(a){a=a|0;cj(a);return}function hj(a){a=a|0;return 51611}function ij(a){a=a|0;var b=0;b=i;i=i+16|0;o=0;xa(a|0);a=o;o=0;if(!(a&1)){o=0;ia(85,51626,b|0);o=0}a=Na(0)|0;Va(a|0)|0;o=0;ia(85,51666,b+8|0);o=0;a=Na(0)|0;o=0;xa(3);b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else ec(a)}function jj(){var a=0,b=0,d=0;o=0;a=ua(2)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}if(((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0)?(d=b+48|0,(c[d>>2]&-256|0)==1126902528?(c[d+4>>2]|0)==1129074247:0):0)ij(c[b+12>>2]|0);d=c[9208]|0;c[9208]=d+0;ij(d)}function kj(){var a=0;a=c[9214]|0;c[9214]=a+0;return a|0}function lj(a){a=a|0;return}function mj(a){a=a|0;c[a>>2]=36868;Vj(a+4|0);return}function nj(a){a=a|0;mj(a);cj(a);return}function oj(a){a=a|0;return c[a+4>>2]|0}function pj(a){a=a|0;return}function qj(a){a=a|0;c[a>>2]=36888;return}function rj(a){a=a|0;return}function sj(a){a=a|0;cj(a);return}function tj(a){a=a|0;return 51716}function uj(a){a=a|0;return}function vj(a){a=a|0;return}function wj(a){a=a|0;return}function xj(a){a=a|0;cj(a);return}function yj(a){a=a|0;cj(a);return}function zj(a){a=a|0;cj(a);return}function Aj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h;if((a|0)!=(b|0))if((b|0)!=0?(f=Gj(b,656,672,0)|0,(f|0)!=0):0){b=g;e=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;Ub[c[(c[f>>2]|0)+28>>2]&63](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;i=h;return b|0}function Bj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do{if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}}while(0);return}function Cj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Bj(0,b,d,e);return}function Dj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Bj(0,b,d,e);else{a=c[a+8>>2]|0;Ub[c[(c[a>>2]|0)+28>>2]&63](a,b,d,e)}return}function Ej(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;Ub[c[(c[a>>2]|0)+28>>2]&63](a,b,d+f|0,(g&2|0)!=0?e:2);return}function Fj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do{if((b|0)!=(c[d+8>>2]|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;Ej(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{Ej(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else Bj(0,d,e,f)}while(0);return}function Gj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r;p=c[d>>2]|0;o=d+(c[p+-8>>2]|0)|0;p=c[p+-4>>2]|0;c[q>>2]=f;c[q+4>>2]=d;c[q+8>>2]=e;c[q+12>>2]=g;g=q+16|0;d=q+20|0;e=q+24|0;h=q+28|0;j=q+32|0;k=q+40|0;l=(p|0)==(f|0);m=g;n=m+36|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));b[g+36>>1]=0;a[g+38>>0]=0;a:do{if(l){c[q+48>>2]=1;Ib[c[(c[f>>2]|0)+20>>2]&15](f,q,o,o,1,0);g=(c[e>>2]|0)==1?o:0}else{zb[c[(c[p>>2]|0)+24>>2]&15](p,q,o,1,0);switch(c[q+36>>2]|0){case 0:{g=(c[k>>2]|0)==1&(c[h>>2]|0)==1&(c[j>>2]|0)==1?c[d>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((c[e>>2]|0)!=1?!((c[k>>2]|0)==0&(c[h>>2]|0)==1&(c[j>>2]|0)==1):0){g=0;break}g=c[g>>2]|0}}while(0);i=r;return g|0}function Hj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do{if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;f=d+16|0;b=c[f>>2]|0;if(!b){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((b|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}b=d+24|0;f=c[b>>2]|0;if((f|0)==2){c[b>>2]=g;f=g}if((f|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}}while(0);return}function Ij(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do{if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){q=c[b+12>>2]|0;j=b+16+(q<<3)|0;Kj(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;i=c[b+8>>2]|0;if((i&2|0)==0?(k=d+36|0,(c[k>>2]|0)!=1):0){if(!(i&1)){i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[k>>2]|0)==1)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+24|0;b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[k>>2]|0)==1?(c[i>>2]|0)==1:0)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+54|0;while(1){if(a[i>>0]|0)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;m=d+44|0;if((c[m>>2]|0)==4)break;i=c[b+12>>2]|0;j=b+16+(i<<3)|0;k=d+52|0;f=d+53|0;n=d+54|0;l=b+8|0;o=d+24|0;b:do{if((i|0)>0){i=0;h=0;b=b+16|0;while(1){a[k>>0]=0;a[f>>0]=0;Jj(b,d,e,e,1,g);if(a[n>>0]|0){q=20;break b}do{if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[l>>2]&1)){h=1;q=20;break b}else{h=1;break}if((c[o>>2]|0)==1)break b;if(!(c[l>>2]&2))break b;else{i=1;h=1}}}while(0);b=b+8|0;if(b>>>0>=j>>>0){q=20;break}}}else{i=0;h=0;q=20}}while(0);do{if((q|0)==20){if((!i?(c[p>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h)break}else q=24;if((q|0)==24?h:0)break;c[m>>2]=4;break a}}while(0);c[m>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}}while(0);return}function Jj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Ib[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e+h|0,(i&2|0)!=0?f:2,g);return}function Kj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;zb[c[(c[a>>2]|0)+24>>2]&15](a,b,d+g|0,(h&2|0)!=0?e:2,f);return}function Lj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do{if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){j=c[b+8>>2]|0;zb[c[(c[j>>2]|0)+24>>2]&15](j,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;if((c[f>>2]|0)==4)break;h=d+52|0;a[h>>0]=0;k=d+53|0;a[k>>0]=0;b=c[b+8>>2]|0;Ib[c[(c[b>>2]|0)+20>>2]&15](b,d,e,e,1,g);if(a[k>>0]|0){if(!(a[h>>0]|0)){h=1;j=13}}else{h=0;j=13}do{if((j|0)==13){c[i>>2]=e;k=d+40|0;c[k>>2]=(c[k>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h)break}else j=16;if((j|0)==16?h:0)break;c[f>>2]=4;break a}}while(0);c[f>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}}while(0);return}function Mj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;do{if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(i=d+28|0,(c[i>>2]|0)!=1):0)c[i>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}while(0);return}function Nj(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((b|0)==(c[d+8>>2]|0))Hj(0,d,e,f,g);else{m=d+52|0;n=a[m>>0]|0;o=d+53|0;p=a[o>>0]|0;l=c[b+12>>2]|0;i=b+16+(l<<3)|0;a[m>>0]=0;a[o>>0]=0;Jj(b+16|0,d,e,f,g,h);a:do{if((l|0)>1){j=d+24|0;k=b+8|0;l=d+54|0;b=b+24|0;do{if(a[l>>0]|0)break a;if(!(a[m>>0]|0)){if((a[o>>0]|0)!=0?(c[k>>2]&1|0)==0:0)break a}else{if((c[j>>2]|0)==1)break a;if(!(c[k>>2]&2))break a}a[m>>0]=0;a[o>>0]=0;Jj(b,d,e,f,g,h);b=b+8|0}while(b>>>0>>0)}}while(0);a[m>>0]=n;a[o>>0]=p}return}function Oj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Hj(0,b,d,e,f);else{a=c[a+8>>2]|0;Ib[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e,f,g)}return}function Pj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Hj(0,b,d,e,f);return}function Qj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=c[d>>2];a=Gb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];i=f;return a&1|0}function Rj(a){a=a|0;if(!a)a=0;else a=(Gj(a,656,704,0)|0)!=0;return a&1|0}function Sj(){var a=0;a=Ma(4)|0;ej(a);lb(a|0,592,78)}function Tj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+48|0;h=f+32|0;d=f+24|0;j=f+16|0;g=f;f=f+36|0;a=aj()|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=c[9257];Zi(51919,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(Gb[c[(c[608>>2]|0)+16>>2]&63](608,e,f)|0){j=c[f>>2]|0;f=c[9257]|0;j=Eb[c[(c[j>>2]|0)+8>>2]&127](j)|0;c[g>>2]=f;c[g+4>>2]=a;c[g+8>>2]=j;Zi(51833,g)}else{c[j>>2]=c[9257];c[j+4>>2]=a;Zi(51878,j)}}Zi(51957,h)}function Uj(){var a=0;a=i;i=i+16|0;if(!(Fa(37020,184)|0)){i=a;return}else Zi(51730,a)}function Vj(a){a=a|0;var b=0,d=0;d=(c[a>>2]|0)+-4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if((b+-1|0)<0)cj((c[a>>2]|0)+-12|0);return}function Wj(a){a=a|0;var b=0;b=i;i=i+16|0;Gl(a);if(!(jb(c[9255]|0,0)|0)){i=b;return}else Zi(51780,b)}function Xj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=hl(a,b,c)|0;return a|0}function Yj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=il(a,b,c)|0;return a|0}function Zj(){return 37296}function _j(){return 37300}function $j(){return 37304}function ak(a){a=a|0;return((a|0)==32|(a+-9|0)>>>0<5)&1|0}function bk(a){a=a|0;if((a+-48|0)>>>0<10)a=1;else a=((a|32)+-97|0)>>>0<6;return a&1|0}function ck(){var a=0;if(!(c[9258]|0))a=37308;else a=c[(bb()|0)+60>>2]|0;return a|0}function dk(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[51978+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=52066;e=5;break}}if((e|0)==2)if(!c)b=52066;else{b=52066;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function ek(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do{if((A|0)==4){E=b+4|0;C=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0}while((ak(e)|0)!=0);b:do{switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=hk(b)|0;I=h;break b}}default:I=1}}while(0);h=e;e=0;do{if((h|32|0)!=(a[53870+e>>0]|0))break;do{if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=hk(b)|0;break}}}while(0);e=e+1|0}while(e>>>0<8);c:do{switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do{if(!e){e=0;do{if((h|32|0)!=(a[56747+e>>0]|0))break d;do{if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=hk(b)|0;break}}}while(0);e=e+1|0}while(e>>>0<3)}}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==40)e=1;else{if(!(c[C>>2]|0)){g=s;break a}c[E>>2]=(c[E>>2]|0)+-1;g=s;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=hk(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(ck()|0)>>2]=22;gk(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{do{if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|32|0)!=120){if(!(c[C>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=hk(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=hk(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;k=jw(k|0,h|0,-1,-1)|0;h=D}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do{if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){r=m*.0625;p=w;j=r;g=g+r*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}}while(0);l=jw(l|0,y|0,1,0)|0;v=x;u=D;n=1}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=hk(b)|0;w=p;m=j;continue}}if(!n){e=(c[C>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,(o|0)!=0):0)c[E>>2]=z+-2}else gk(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=jw(l|0,h|0,1,0)|0;h=D}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=tl(b,f)|0;e=D;if((h|0)==0&(e|0)==-2147483648){if(!f){gk(b,0);g=0.0;break a}if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=mw(o|0,n|0,2)|0;H=jw(H|0,D|0,-32,-1)|0;e=jw(H|0,D|0,h|0,e|0)|0;h=D;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(ck()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0>>0){c[(ck()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=jw(e|0,h|0,-1,-1)|0;h=D}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=hw(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=jw(l|0,h|0,e|0,D|0)|0;J=D;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+sk(+xk(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(ck()|0)>>2]=34;g=+yk(g,l);break a}else e=h}while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=hk(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48){h=0;e=0;while(1){h=jw(h|0,e|0,-1,-1)|0;k=D;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do{if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do{if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=jw(y|0,v|0,1,0)|0;v=D;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}}while(0);e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}}while(0);do{if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=tl(b,f)|0;e=D;if((n|0)==0&(e|0)==-2147483648){if(!f){gk(b,0);g=0.0;break}if(!(c[C>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=jw(n|0,e|0,h|0,p|0)|0;u=y;p=D;n=v;A=173}}while(0);if((A|0)==169)if(c[C>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do{if((A|0)==172){c[(ck()|0)>>2]=22;gk(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(ck()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0>>0){c[(ck()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[37312+(8-h<<2)>>2]|0);break}b=K+27+($(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[37312+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[37312+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{C=H+(p<<2)|0;E=c[C>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[C>>2]=b;e=$((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w)break i;if((c[x>>2]|0)>>>0>=9007199){h=18;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=mw(c[p>>2]|0,0,29)|0;o=jw(o|0,D|0,n|0,0)|0;n=D;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=uw(o|0,n|0,1e9,0)|0;o=vw(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){y=l+1&127;x=H+((l+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(l|0);do{if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(l|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;break j}}else A=219}while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(l|0))k=l;else break}u=(1<>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=$(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(l|0))break;else o=k}if(!n)continue;if((y|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(l<<2)>>2]=n;l=y}if((A|0)==220)if(p){c[H+(y+-1<<2)>>2]=0;h=l;l=y}else h=o;g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}r=+(I|0);j=r*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?(p|0)<0?0:p:K;if((o|0)<53){M=+sk(+xk(1.0,105-o|0),j);m=+uk(j,+xk(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do{if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do{if(n>>>0>=5e8){if(n>>>0>5e8){g=r*.75+g;break}if((k+3&127|0)==(l|0)){g=r*.5+g;break}else{g=r*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=r*.25+g}}while(0);if((53-o|0)<=1){j=g;break}if(+uk(g,1.0)!=0.0){j=g;break}j=g+1.0}}while(0);g=m+j-q;do{if((v&2147483647|0)>(-2-F|0)){if(+O(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(ck()|0)>>2]=34}}while(0);g=+yk(g,e)}}while(0);break a}default:{if(c[C>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(ck()|0)>>2]=22;gk(b,0);g=0.0;break a}}}}}while(0);if((A|0)==23){h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*t}}while(0);i=L;return+g}function fk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do{if(e>>>0>36){c[(ck()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0}while((ak(i)|0)!=0);b:do{switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=hk(b)|0;p=j;break b}}default:p=0}}while(0);j=(e|0)==0;do{if((e&-17|0)==0&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=hk(b)|0;if((d[53879+(i+1)>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){gk(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[53879+(i+1)>>0]|0)>>>0>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;gk(b,0);c[(ck()|0)>>2]=22;h=0;g=0;break a}}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=hk(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=tw(e|0,j|0,10,0)|0;l=D;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=jw(k|0,l|0,f|0,m|0)|0;j=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do{if((n|0)==46){if(!(e+-1&e)){n=a[54136+((e*23|0)>>>5&7)>>0]|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f|i<>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0>>0))break;else i=k}f=0}else{f=0;k=0}l=kw(-1,-1,n|0)|0;m=D;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=mw(k|0,i|0,n|0)|0;f=D;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[53879+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f+($(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0>>0){n=uw(-1,-1,e|0,0)|0;o=D;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=tw(k|0,m|0,e|0,0)|0;l=D;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=jw(j|0,0,f|0,l|0)|0;f=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}}while(0);if((n|0)==72)if((d[53879+(i+1)>>0]|0)>>>0>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0}while((d[53879+(i+1)>>0]|0)>>>0>>0);c[(ck()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0>>0|(j|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(ck()|0)>>2]=34;g=jw(g|0,h|0,-1,-1)|0;h=D;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(ck()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=hw(i^e|0,j^g|0,e|0,g|0)|0;h=D}}while(0);D=h;return g|0}function gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+4>>2]|0;e=c[a+8>>2]|0;f=e-d|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=d+b;else c[a+100>>2]=e;return}function hk(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Uk(b)|0;if((e|0)>=0){h=c[f>>2]|0;f=b+8|0;if(h){g=c[f>>2]|0;i=c[b+4>>2]|0;f=g;h=h-(c[b+108>>2]|0)+-1|0;if((f-i|0)>(h|0))c[b+100>>2]=i+h;else j=9}else{g=c[f>>2]|0;f=g;j=9}if((j|0)==9)c[b+100>>2]=f;f=c[b+4>>2]|0;if(g){b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function ik(a){a=a|0;if(a>>>0>4294963200){c[(ck()|0)>>2]=0-a;a=-1}return a|0}function jk(a){a=a|0;return 0}function kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function lk(a,b){a=a|0;b=b|0;return-1|0}function mk(a){a=a|0;Gl(a);return}function nk(a,b){a=a|0;b=b|0;return(a+-48|0)>>>0<10|0}function ok(a,b){a=a|0;b=b|0;return bk(a)|0}function pk(b,c,d){b=b|0;c=c|0;d=d|0;if(((a[c>>0]|0)!=0?(ll(c,58885)|0)!=0:0)?(ll(c,54145)|0)!=0:0)d=0;else if(!d)d=Hl(1,4)|0;return d|0}function qk(a){a=a|0;var b=0,d=0;b=(bb()|0)+176|0;d=c[b>>2]|0;if(a)c[b>>2]=a;return d|0}function rk(a,b){a=+a;b=+b;var d=0,e=0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;h[k>>3]=b;d=c[k+4>>2]&-2147483648|d&2147483647;c[k>>2]=e;c[k+4>>2]=d;return+ +h[k>>3]}function sk(a,b){a=+a;b=+b;return+ +rk(a,b)}function tk(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=kw(d|0,m|0,52)|0;e=e&2047;j=kw(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=mw(n|0,o|0,1)|0;l=D;a:do{if(!((i|0)==0&(l|0)==0)?(g=o&2147483647,!(g>>>0>2146435072|(g|0)==2146435072&n>>>0>0|(e|0)==2047)):0){f=mw(d|0,m|0,1)|0;g=D;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return+((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=mw(d|0,m|0,12)|0;f=D;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=mw(g|0,f|0,1)|0;f=D}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=mw(d|0,m|0,1-e|0)|0;f=D}else f=m&1048575|1048576;if(!j){g=mw(n|0,o|0,12)|0;i=D;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=mw(g|0,i|0,1)|0;i=D}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=mw(n|0,o|0,1-j|0)|0;m=D}else m=o&1048575|1048576;l=hw(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do{if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=mw(d|0,f|0,1)|0;f=D;e=e+-1|0;l=hw(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=mw(d|0,f|0,1)|0;f=D;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=jw(d|0,f|0,0,-1048576)|0;d=D;e=mw(e|0,0,52)|0;d=d|D;e=o|e}else{e=kw(d|0,f|0,1-e|0)|0;d=D}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3}while(0);if((q|0)==3){b=a*b;b=b/b}return+b}function uk(a,b){a=+a;b=+b;return+ +tk(a,b)}function vk(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=kw(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+vk(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=f+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return+a}function wk(a,b){a=+a;b=b|0;return+ +vk(a,b)}function xk(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=mw(d+1023|0,0,52)|0;b=D;c[k>>2]=d;c[k+4>>2]=b;return+(a*+h[k>>3])}function yk(a,b){a=+a;b=b|0;return+ +xk(a,b)}function zk(a,b,c){a=a|0;b=b|0;c=c|0;return Ak(0,a,b,(c|0)!=0?c:37344)|0}function Ak(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;g=l;j=(f|0)==0?37348:f;f=c[j>>2]|0;a:do{if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[37076+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do{if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}}while(0);c[j>>2]=f;f=-2}}}while(0);if((k|0)==15){c[j>>2]=0;c[(ck()|0)>>2]=84;f=-1}i=l;return f|0}function Bk(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Ck(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+1040|0;l=o+8|0;n=o;k=c[b>>2]|0;c[n>>2]=k;m=(a|0)!=0;e=m?e:256;a=m?a:l;g=k;a:do{if((e|0)!=0&(k|0)!=0){j=e;k=g;e=0;while(1){g=d>>>2;h=g>>>0>=j>>>0;if(!(d>>>0>131|h)){g=k;break a}g=h?j:g;d=d-g|0;g=Dk(a,n,g,f)|0;if((g|0)==-1){e=d;break}p=(a|0)==(l|0);k=p?0:g;h=j-k|0;a=p?a:a+(g<<2)|0;e=g+e|0;g=c[n>>2]|0;if((j|0)!=(k|0)&(g|0)!=0){j=h;k=g}else{j=h;break a}}d=e;j=0;g=c[n>>2]|0;e=-1}else{j=e;e=0}}while(0);b:do{if((g|0)!=0?(j|0)!=0&(d|0)!=0:0){h=g;g=a;while(1){a=Ak(g,h,d,f)|0;if((a+2|0)>>>0<3)break;h=(c[n>>2]|0)+a|0;c[n>>2]=h;j=j+-1|0;e=e+1|0;if(!((j|0)!=0&(d|0)!=(a|0)))break b;else{d=d-a|0;g=g+4|0}}switch(a|0){case-1:{e=-1;break b}case 0:{c[n>>2]=0;break b}default:{c[f>>2]=0;break b}}}}while(0);if(m)c[b>>2]=c[n>>2];i=o;return e|0}function Dk(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){g=f;j=h;m=16}else{c[g>>2]=0;l=b;g=f;k=i;m=37}else if(!b){g=f;m=7}else{i=b;g=f;m=6}a:while(1)if((m|0)==6){if(!g){m=26;break}else b=i;while(1){i=a[h>>0]|0;do{if(((i&255)+-1|0)>>>0<127?g>>>0>4&(h&3|0)==0:0){j=h;while(1){h=c[j>>2]|0;if((h+-16843009|h)&-2139062144){i=h;h=j;m=32;break}c[b>>2]=h&255;c[b+4>>2]=d[j+1>>0];c[b+8>>2]=d[j+2>>0];h=j+4|0;i=b+16|0;c[b+12>>2]=d[j+3>>0];g=g+-4|0;if(g>>>0>4){b=i;j=h}else{m=31;break}}if((m|0)==31){b=i;i=a[h>>0]|0;break}else if((m|0)==32){i=i&255;break}}}while(0);i=i&255;if((i+-1|0)>>>0>=127)break;h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g){m=26;break a}else b=b+4|0}i=i+-194|0;if(i>>>0>50){m=48;break}l=b;k=c[37076+(i<<2)>>2]|0;h=h+1|0;m=37;continue}else if((m|0)==7){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){i=c[h>>2]|0;if(!((i+-16843009|i)&-2139062144))do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(((i+-16843009|i)&-2139062144|0)==0);i=i&255}i=i&255;if((i+-1|0)>>>0<127){g=g+-1|0;h=h+1|0;m=7;continue}i=i+-194|0;if(i>>>0>50){m=48;break}i=c[37076+(i<<2)>>2]|0;j=h+1|0;m=16;continue}else if((m|0)==16){m=(d[j>>0]|0)>>>3;if((m+-16|m+(i>>26))>>>0>7){m=17;break}h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){m=20;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){m=23;break}h=j+3|0}}g=g+-1|0;m=7;continue}else if((m|0)==37){i=d[h>>0]|0;m=i>>>3;if((m+-16|m+(k>>26))>>>0>7){m=38;break}j=h+1|0;b=i+-128|k<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=41;break}j=h+2|0;b=i+-128|b<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=44;break}b=i+-128|b<<6;h=h+3|0}else h=j}else h=j;c[l>>2]=b;i=l+4|0;g=g+-1|0;m=6;continue}if((m|0)==17){h=j+-1|0;m=47}else if((m|0)==20){h=j+-1|0;m=47}else if((m|0)==23){h=j+-1|0;m=47}else if((m|0)==26)c[e>>2]=h;else if((m|0)==38){b=l;i=k;h=h+-1|0;m=47}else if((m|0)==41){g=l;f=h+-1|0;m=52}else if((m|0)==44){g=l;f=h+-1|0;m=52}if((m|0)==47)if(!i)m=48;else{g=b;f=h;m=52}if((m|0)==48)if(!(a[h>>0]|0)){if(b){c[b>>2]=0;c[e>>2]=0}f=f-g|0}else{g=b;f=h;m=52}if((m|0)==52){c[(ck()|0)>>2]=84;if(!g)f=-1;else{c[e>>2]=f;f=-1}}return f|0}function Ek(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k;a:do{if(!e)g=0;else{do{if(f){j=(b|0)==0?g:b;g=a[e>>0]|0;b=g&255;if(g<<24>>24>-1){c[j>>2]=b;g=g<<24>>24!=0&1;break a}g=b+-194|0;if(g>>>0<=50){b=e+1|0;h=c[37076+(g<<2)>>2]|0;if(f>>>0<4?(h&-2147483648>>>((f*6|0)+-6|0)|0)!=0:0)break;g=d[b>>0]|0;f=g>>>3;if((f+-16|f+(h>>26))>>>0<=7){g=g+-128|h<<6;if((g|0)>=0){c[j>>2]=g;g=2;break a}b=d[e+2>>0]|0;if((b&192|0)==128){b=b+-128|g<<6;if((b|0)>=0){c[j>>2]=b;g=3;break a}g=d[e+3>>0]|0;if((g&192|0)==128){c[j>>2]=g+-128|b<<6;g=4;break a}}}}}}while(0);c[(ck()|0)>>2]=84;g=-1}}while(0);i=k;return g|0}function Fk(b,d,e){b=b|0;d=d|0;e=e|0;do{if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(ck()|0)>>2]=84;b=-1;break}}else b=1}while(0);return b|0}function Gk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+272|0;j=m+8|0;l=m;h=c[b>>2]|0;c[l>>2]=h;k=(a|0)!=0;f=k?e:256;e=k?a:j;a=h;a:do{if((f|0)!=0&(h|0)!=0){h=f;g=a;f=0;while(1){a=d>>>0>=h>>>0;if(!(a|d>>>0>32)){a=g;break a}a=a?h:d;d=d-a|0;a=Hk(e,l,a,0)|0;if((a|0)==-1){f=d;break}o=(e|0)==(j|0);n=o?0:a;g=h-n|0;e=o?e:e+a|0;f=a+f|0;a=c[l>>2]|0;if((h|0)!=(n|0)&(a|0)!=0){h=g;g=a}else{h=g;break a}}d=f;h=0;a=c[l>>2]|0;f=-1}else{h=f;f=0}}while(0);b:do{if((a|0)!=0?(h|0)!=0&(d|0)!=0:0){g=a;a=e;while(1){e=Fk(a,c[g>>2]|0,0)|0;if((e+1|0)>>>0<2)break;g=(c[l>>2]|0)+4|0;c[l>>2]=g;d=d+-1|0;f=f+1|0;if(!((h|0)!=(e|0)&(d|0)!=0))break b;else{h=h-e|0;a=a+e|0}}if(!e)c[l>>2]=0;else f=-1}}while(0);if(k)c[b>>2]=c[l>>2];i=m;return f|0}function Hk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do{if(!b){b=c[d>>2]|0;f=c[b>>2]|0;if(!f)e=0;else{e=0;do{if(f>>>0>127){f=Fk(j,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do{if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=Fk(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e}while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=19;break}h=Fk(j,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0>>0){g=22;break}Fk(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==19){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==22){e=e-f|0;break}}}}while(0);i=k;return e|0}function Ik(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Fk(a,b,0)|0;return a|0}function Jk(a){a=a|0;return 0}function Kk(a){a=a|0;return}function Lk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;k=e&255;a[l>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Tk(b)|0)){h=c[g>>2]|0;j=4}else f=-1;else j=4;do{if((j|0)==4){g=b+20|0;j=c[g>>2]|0;if(j>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Gb[c[b+36>>2]&63](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}}while(0);i=m;return f|0}function Mk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=ik(nb(6,d|0)|0)|0;i=b;return a|0}function Nk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[9258]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=ik(vb(145,h|0)|0)|0}else{ob(185,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=ik(vb(145,g|0)|0)|0;gb(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Ok(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((ik(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Pk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[9258]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=ik(wb(146,n|0)|0)|0}else{ob(186,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=ik(wb(146,m|0)|0)|0;gb(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function Qk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=8;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(eb(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=Pk(b,d,e)|0;i=g;return f|0}function Rk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=jl(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;lw(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Sk(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Gb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Tk(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function Uk(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Sk(a)|0)!=0:0)b=-1;else if((Gb[c[a+32>>2]&63](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Vk(a){a=a|0;var b=0,d=0;do{if(a){if((c[a+76>>2]|0)<=-1){b=wl(a)|0;break}d=(Jk(a)|0)==0;b=wl(a)|0;if(!d)Kk(a)}else{if(!(c[9323]|0))b=0;else b=Vk(c[9323]|0)|0;Ea(37060);a=c[9264]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Jk(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=wl(a)|0|b;if(d)Kk(a);a=c[a+56>>2]|0}while((a|0)!=0);fb(37060)}}while(0);return b|0}function Wk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Jk(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Lk(d,b)|0;Kk(d)}else i=3;do{if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Lk(d,b)|0}}while(0);return e|0}function Xk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Tk(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do{if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=Gb[c[e+36>>2]&63](e,b,d)|0;break}b:do{if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Gb[c[e+36>>2]&63](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}}while(0);lw(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}}while(0);return f|0}function Yk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Jk(e)|0)==0;a=Xk(a,f,e)|0;if(!g)Kk(e)}else a=Xk(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Zk(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(Jk(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=Uk(a)|0}else f=3;do{if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=Uk(a)|0;break}}}while(0);return b|0}function _k(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=el(a,b,d,g)|0;i=f;return e|0}function $k(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=fl(a,b,f)|0;i=e;return d|0}function al(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;do{if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=Jk(d)|0;else g=0;if(!((c[d+8>>2]|0)==0?(Sk(d)|0)!=0:0))h=6;if((h|0)==6?(e=d+4|0,f=c[e>>2]|0,f>>>0>((c[d+44>>2]|0)+-8|0)>>>0):0){h=f+-1|0;c[e>>2]=h;a[h>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;Kk(d);break}if(g){Kk(d);b=-1}else b=-1}else b=-1}while(0);return b|0}function bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j;f=Fl(240)|0;do{if(f){c[e>>2]=c[d>>2];e=el(f,240,b,e)|0;if(e>>>0<240){b=Il(f,e+1|0)|0;c[a>>2]=(b|0)!=0?b:f;break}Gl(f);if((e|0)>=0?(h=e+1|0,g=Fl(h)|0,c[a>>2]=g,(g|0)!=0):0)e=el(g,h,b,d)|0;else e=-1}else e=-1}while(0);i=j;return e|0}function cl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((xl(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Jk(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=xl(b,d,o,q,r)|0;if(h){Gb[c[b+36>>2]&63](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=xl(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)Kk(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function dl(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Jk(e)|0;else O=0;k=a[f>>0]|0;a:do{if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;C=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do{if(!(ak(m&255)|0)){m=(a[n>>0]|0)==37;d:do{if(m){q=n+1|0;o=a[q>>0]|0;e:do{switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=152;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case-2:{a[x>>0]=s;o=s;break c}case-1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{gk(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=hk(e)|0}while((ak(o)|0)!=0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}gk(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0>>0)c[L>>2]=o+1;else{if((hk(e)|0)<0){N=152;break b}q=c[M>>2]|0}if(q)c[L>>2]=(c[L>>2]|0)+-1;f:do{switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do{if((r&239|0)==99){iw(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{Q=n+1|0;s=(a[Q>>0]|0)==94;o=s&1;r=s?Q:n;n=s?n+2|0:Q;iw(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=r+2|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=r+2|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do{switch(o<<24>>24){case 0:{N=152;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do{if(s){if(t){f=Fl(r<<2)|0;if(!f){l=0;N=152;break b}}else f=x;c[J>>2]=0;c[C>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=hk(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Ak(K,y,1,J)|0){case-1:{l=0;N=152;break b}case-2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Il(f,l<<2)|0;if(!o){l=0;N=152;break b}Q=r;r=l;f=o;l=Q}if(!(Bk(J)|0)){l=0;N=152;break b}else{q=l;l=0}}else{if(t){l=Fl(r)|0;if(!l){l=0;f=0;N=152;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Il(l,f)|0;if(!o){f=0;N=152;break b}else{Q=r;r=f;l=o;o=Q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}}while(0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do{if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}}while(0);if(!u){if(f)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=134;break}case 111:{o=8;N=134;break}case 117:case 100:{o=10;N=134;break}case 105:{o=0;N=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+ek(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}}while(0);l:do{if((N|0)==134){N=0;o=fk(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case-2:{a[x>>0]=o;break l}case-1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{Q=x;c[Q>>2]=o;c[Q+4>>2]=D;break l}default:break l}}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}}while(0);n=n+(m&1)|0;gk(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=hk(e)|0;if((m|0)!=(d[n>>0]|0)){N=21;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(ak(d[m>>0]|0)|0))break;else n=m}gk(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=hk(e)|0}while((ak(m)|0)!=0);m=c[L>>2]|0;if(c[M>>2]|0){m=m+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==21){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=153}}else if((N|0)==152)if(!k){k=m;N=153}if((N|0)==153){m=k;k=-1}if(m){Gl(l);Gl(f)}}else k=0}while(0);if(O)Kk(e);i=P;return k|0}function el(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=37352;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(ck()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=cl(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function fl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=29;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=dl(e,b,d)|0;i=g;return h|0}function gl(a,b,c){a=a|0;b=b|0;c=c|0;return+ +zl(a,b,2)}function hl(a,b,c){a=a|0;b=b|0;c=c|0;a=Al(a,b,c,-1,-1)|0;return a|0}function il(a,b,c){a=a|0;b=b|0;c=c|0;a=Al(a,b,c,0,-2147483648)|0;return a|0}function jl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do{if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5}while(0);if((i|0)==5)if(f)i=6;else e=0;b:do{if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=$(h,16843009)|0;c:do{if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11}while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}}while(0);return((e|0)!=0?b:0)|0}function kl(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do{if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8}while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function ll(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return(c&255)-(d&255)|0}function ml(a,b){a=a|0;b=b|0;kl(a,b)|0;return a|0}function nl(b){b=b|0;var d=0,e=0,f=0;f=b;a:do{if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do{b=b+1|0}while((a[b>>0]|0)!=0)}return b-f|0}function ol(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do{if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function pl(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(d|0)==0;if(a-b>>2>>>0>>0){if(!e)do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0)}else if(!e){e=b;b=a;while(1){d=d+-1|0;c[b>>2]=c[e>>2];if(!d)break;else{e=e+4|0;b=b+4|0}}}return a|0}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function tl(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=tw(f|0,b|0,10,0)|0;f=D;e=jw(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=jw(e|0,D|0,b|0,f|0)|0;b=D;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=hw(0,0,g|0,b|0)|0;f=a?D:b;e=a?e:g}D=f;return e|0}function ul(a){a=a|0;if(!(c[a+68>>2]|0))Kk(a);return}function vl(a){a=a|0;if(!(c[a+68>>2]|0))Kk(a);return}function wl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Gb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Gb[c[a+40>>2]&63](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}var yb=[Uw,Qq,Uq,Or,Sr,Xr,Zr,xu,Iu,Uw,Uw,Uw,Uw,Uw,Uw,Uw];var zb=[Vw,ii,Yh,Mh,Ah,oh,ch,Sg,Bg,Mj,Lj,Ij,Vw,Vw,Vw,Vw];var Ab=[Ww,bs,hs,Ww];var Bb=[Xw,ei,fi,Uh,Vh,Ih,Jh,wh,xh,kh,lh,_g,$g,Og,Pg,xg,yg,kg,lg,_f,$f,Of,Pf,Cf,Df,qf,rf,ye,ze,le,me,tc,uc,Pd,Td,Qd,bo,eo,co,fo,kd,ld,Qi,md,dd,ed,Ic,Jc,Qc,Rc,Xc,Yc,nd,od,ud,vd,Bd,Cd,Id,Jd,je,ke,He,Ie,Oe,Pe,Ve,We,af,bf,Mg,Ng,Dm,qi,Ai,Bi,Ri,Si,fj,gj,mj,nj,rj,sj,uj,xj,vj,wj,yj,zj,Cn,Tl,Zl,nn,cm,im,Bm,Cm,on,Dn,Rn,Tn,Sn,Un,Xn,Zn,Yn,_n,ko,mo,lo,no,uo,vo,en,wo,xo,yo,Ao,Ks,Eo,Fo,Jo,Ko,Yo,Zo,qp,rp,Fp,Gp,Sp,Tp,pq,qq,Nq,Pq,Sq,Tq,Wq,Xq,fr,gr,qr,rr,Br,Cr,Mr,Nr,Vr,Wr,$r,as,fs,gs,ls,ms,qs,rs,ys,zs,at,bt,wu,tt,Vt,Wt,Xt,Yt,zo,Js,Ms,kt,Bt,Jt,Rt,St,Ti,Ii,$i,sc,pn,Wn,_d,Eg,Wj,ul,vl,Ml,mk,Pr,Rr,Ls,Gv,Nv,Ov,Pv,Qv,Rv,Sv,Im,Wm,Gl,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw];var Cb=[Yw,hi,Xh,Lh,zh,nh,bh,Rg,Ag,mg,ag,Qf,Ef,sf,Ae,ne,vc,qn,Ci,Fi,Ul,Yl,dm,hm,Fn,_q,$q,ar,br,dr,er,jr,kr,lr,mr,or,pr,ur,vr,wr,xr,zr,Ar,Fr,Gr,Hr,Ir,Kr,Lr,ps,us,bu,du,fu,cu,eu,gu,kc,Ui,Gi,Hi,Ji,kn,Cc,Ec,go,dn,Qm,Zd,re,jf,wf,If,Uf,eg,qg,Dg,Ug,eh,qh,Ch,Oh,_h,ki,yi,Zi,sm,qm,hn,oo,rm,Om,_m,Zm,av,bv,cv,dv,ev,fv,st,gv,hv,iv,jv,kv,lv,mv,nv,ov,pv,qv,rv,sv,tv,uv,vv,wv,xv,yv,zv,Av,Bv,Cv,Ev,Yv,Yw,Yw];var Db=[Zw,Lo,Mo,No,Oo,Po,Qo,Ro,So,To,Uo,Vo,_o,$o,ap,bp,cp,dp,ep,fp,gp,hp,ip,xp,zp,Kp,Mp,Vp,Wp,Xp,Zp,$p,sq,tq,uq,wq,yq,es,ks,cd,Uu,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw];var Eb=[_w,un,vn,hd,yn,ri,hj,oj,tj,Mk,Vl,Kn,Mn,Nn,Jn,_l,$l,em,xn,jm,km,qo,Up,iu,ku,mu,su,uu,ou,qu,rq,ju,lu,nu,tu,vu,pu,ru,Yq,Zq,cr,hr,ir,nr,sr,tr,yr,Dr,Er,Jr,xt,yt,At,Zt,$t,_t,au,ot,pt,rt,Ft,Gt,It,Nt,Ot,Qt,ui,bj,jn,Li,Vn,$n,$w,ax,bx,qk,pl,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w];var Fb=[cx,Qr,Yr,cx];var Gb=[dx,rn,wn,An,um,vm,Aj,Bl,Pk,Ok,Nk,Qk,Gn,Ln,Wl,Pn,fm,Do,Io,ns,ss,dt,ft,it,Ns,Us,Xs,_s,Dc,yl,Rm,pk,Zu,$u,Fk,Ek,zk,bl,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx];var Hb=[ex,ds,js,ex];var Ib=[fx,fd,Pj,Oj,Nj,Hn,sn,os,ts,fx,fx,fx,fx,fx,fx,fx];var Jb=[gx,wp,Cp,Jp,Op,gx,gx,gx];var Kb=[hx,Tr,_r,cs,is,hx,hx,hx];var Lb=[ix,gi,Wh,Kh,yh,mh,ah,Qg,zg,og,cg,Sf,Gf,uf,Ce,pe,xc,id,jd,On,Xl,am,Qn,zn,gm,lm,Bn,ct,et,gt,Ss,Vs,Ys,Vi,oc,qc,io,Is,jo,ok,nk,Km,Xm,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix];var Mb=[jx,Bo,Go,sp,tp,yp,Ep,Hp,Ip,Lp,Qp,jt,wt,zt,$s,nt,qt,Et,Ht,Mt,Pt,Gk,Ck,jx,jx,jx,jx,jx,jx,jx,jx,jx];var Nb=[kx,$v,_v,Zv];var Ob=[lx,lc,aj,Xo,Bs,Cs,Ds,Zj,$j,_j,lx,lx,lx,lx,lx,lx];var Pb=[mx,ng,bg,Rf,Ff,tf,Be,oe,wc,ht,Ps,Qs,Rs,Zs,ti,zi,Hu,Tu,Dk,kk,Ak,fw,ew,dw,cw,bw,aw,mx,mx,mx,mx,mx];var Qb=[nx,tm,si,ro,Wi,Gm,ox,Am,Mm,Ki,xm,to,Xu,Yu,_u,Um];var Rb=[px,qx,Tj,rx,Uj,sx,Sj,px];var Sb=[tx,bq,Aq,ut,vt,lt,mt,Ct,Dt,Kt,Lt,tx,tx,tx,tx,tx];var Tb=[ux,Ap,Dp,Np,Pp,ux,ux,ux];var Ub=[vx,Ud,Vd,Rd,Sd,gd,Kc,Lc,Sc,Tc,Zc,_c,pd,qd,wd,xd,Dd,Ed,Kd,Ld,Je,Ke,Qe,Re,Xe,Ye,cf,df,Cj,Dj,Fj,In,tn,Co,Ho,dc,zm,yc,zc,Ac,Bc,Fc,Gc,Hc,De,Ee,Fe,Ge,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx];return{_jpegls_encode:Yi,___cxa_can_catch:Qj,_free:Gl,_jpegls_decode:Xi,___cxa_is_pointer_type:Rj,_i64Add:jw,_memmove:nw,_i64Subtract:hw,_memset:iw,_malloc:Fl,_memcpy:lw,_bitshift64Lshr:kw,_bitshift64Shl:mw,__GLOBAL__I_000101:Nl,__GLOBAL__sub_I_jpegls_cpp:rc,__GLOBAL__sub_I_iostream_cpp:Ol,runPostSets:gw,stackAlloc:Vb,stackSave:Wb,stackRestore:Xb,establishStackSpace:Yb,setThrew:Zb,setTempRet0:ac,getTempRet0:bc,dynCall_iiiiiiii:xw,dynCall_viiiii:yw,dynCall_iiiiiid:zw,dynCall_vi:Aw,dynCall_vii:Bw,dynCall_iiiiiii:Cw,dynCall_ii:Dw,dynCall_iiiiiiiiiiii:Ew,dynCall_iiii:Fw,dynCall_viiiiiiiiiiiiiii:Gw,dynCall_viiiiii:Hw,dynCall_viiiiiii:Iw,dynCall_viiiiiiiiii:Jw,dynCall_iii:Kw,dynCall_iiiiii:Lw,dynCall_diii:Mw,dynCall_i:Nw,dynCall_iiiii:Ow,dynCall_viii:Pw,dynCall_v:Qw,dynCall_iiiiiiiii:Rw,dynCall_iiiiid:Sw,dynCall_viiii:Tw}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _jpegls_encode=Module["_jpegls_encode"]=asm["_jpegls_encode"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _free=Module["_free"]=asm["_free"];var _jpegls_decode=Module["_jpegls_decode"]=asm["_jpegls_decode"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var __GLOBAL__sub_I_jpegls_cpp=Module["__GLOBAL__sub_I_jpegls_cpp"]=asm["__GLOBAL__sub_I_jpegls_cpp"];var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=asm["dynCall_iiiiiiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_diii=Module["dynCall_diii"]=asm["dynCall_diii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",function(){process["exit"](status)});console.log(" ");setTimeout(function(){process["exit"](status)},500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach(function(decorator){output=decorator(output,what)})}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run();return Module};var ColorSpace={Unkown:0,Grayscale:1,AdobeRGB:2,RGB:3,CYMK:4};var JpegImage=function jpegImage(){"use strict";var dctZigZag=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);var dctCos1=4017;var dctSin1=799;var dctCos3=3406;var dctSin3=2276;var dctCos6=1567;var dctSin6=3784;var dctSqrt2=5793;var dctSqrt1d2=2896;function constructor(){}function buildHuffmanTable(codeLengths,values){var k=0,code=[],i,j,length=16;while(length>0&&!codeLengths[length-1])length--;code.push({children:[],index:0});var p=code[0],q;for(i=0;i0){p=code.pop()}p.index++;code.push(p);while(code.length<=i){code.push(q={children:[],index:0});p.children[p.index]=q.children;p=q}k++}if(i+10){bitsCount--;return bitsData>>bitsCount&1}bitsData=data[offset++];if(bitsData==255){var nextByte=data[offset++];if(nextByte){throw"unexpected marker: "+(bitsData<<8|nextByte).toString(16)}}bitsCount=7;return bitsData>>>7}function decodeHuffman(tree){var node=tree;var bit;while((bit=readBit())!==null){node=node[bit];if(typeof node==="number")return node;if(typeof node!=="object")throw"invalid huffman sequence"}return null}function receive(length){var n=0;while(length>0){var bit=readBit();if(bit===null)return;n=n<<1|bit;length--}return n}function receiveAndExtend(length){var n=receive(length);if(n>=1<>4;if(s===0){if(r<15)break;k+=16;continue}k+=r;var z=dctZigZag[k];component.blockData[offset+z]=receiveAndExtend(s);k++}}function decodeDCFirst(component,offset){var t=decodeHuffman(component.huffmanTableDC);var diff=t===0?0:receiveAndExtend(t)<0){eobrun--;return}var k=spectralStart,e=spectralEnd;while(k<=e){var rs=decodeHuffman(component.huffmanTableAC);var s=rs&15,r=rs>>4;if(s===0){if(r<15){eobrun=receive(r)+(1<>4;if(s===0){if(r<15){eobrun=receive(r)+(1<=65488&&marker<=65495){offset+=2}else{break}}return offset-startOffset}function quantizeAndInverse(component,blockBufferOffset,p){var qt=component.quantizationTable;var v0,v1,v2,v3,v4,v5,v6,v7,t;var i;for(i=0;i<64;i++){p[i]=component.blockData[blockBufferOffset+i]*qt[i]}for(i=0;i<8;++i){var row=8*i;if(p[1+row]===0&&p[2+row]===0&&p[3+row]===0&&p[4+row]===0&&p[5+row]===0&&p[6+row]===0&&p[7+row]===0){t=dctSqrt2*p[0+row]+512>>10;p[0+row]=t;p[1+row]=t;p[2+row]=t;p[3+row]=t;p[4+row]=t;p[5+row]=t;p[6+row]=t;p[7+row]=t;continue}v0=dctSqrt2*p[0+row]+128>>8;v1=dctSqrt2*p[4+row]+128>>8;v2=p[2+row];v3=p[6+row];v4=dctSqrt1d2*(p[1+row]-p[7+row])+128>>8;v7=dctSqrt1d2*(p[1+row]+p[7+row])+128>>8;v5=p[3+row]<<4;v6=p[5+row]<<4;t=v0-v1+1>>1;v0=v0+v1+1>>1;v1=t;t=v2*dctSin6+v3*dctCos6+128>>8;v2=v2*dctCos6-v3*dctSin6+128>>8;v3=t;t=v4-v6+1>>1;v4=v4+v6+1>>1;v6=t;t=v7+v5+1>>1;v5=v7-v5+1>>1;v7=t;t=v0-v3+1>>1;v0=v0+v3+1>>1;v3=t;t=v1-v2+1>>1;v1=v1+v2+1>>1;v2=t;t=v4*dctSin3+v7*dctCos3+2048>>12;v4=v4*dctCos3-v7*dctSin3+2048>>12;v7=t;t=v5*dctSin1+v6*dctCos1+2048>>12;v5=v5*dctCos1-v6*dctSin1+2048>>12;v6=t;p[0+row]=v0+v7;p[7+row]=v0-v7;p[1+row]=v1+v6;p[6+row]=v1-v6;p[2+row]=v2+v5;p[5+row]=v2-v5;p[3+row]=v3+v4;p[4+row]=v3-v4}for(i=0;i<8;++i){var col=i;if(p[1*8+col]===0&&p[2*8+col]===0&&p[3*8+col]===0&&p[4*8+col]===0&&p[5*8+col]===0&&p[6*8+col]===0&&p[7*8+col]===0){t=dctSqrt2*p[i+0]+8192>>14;p[0*8+col]=t;p[1*8+col]=t;p[2*8+col]=t;p[3*8+col]=t;p[4*8+col]=t;p[5*8+col]=t;p[6*8+col]=t;p[7*8+col]=t;continue}v0=dctSqrt2*p[0*8+col]+2048>>12;v1=dctSqrt2*p[4*8+col]+2048>>12;v2=p[2*8+col];v3=p[6*8+col];v4=dctSqrt1d2*(p[1*8+col]-p[7*8+col])+2048>>12;v7=dctSqrt1d2*(p[1*8+col]+p[7*8+col])+2048>>12;v5=p[3*8+col];v6=p[5*8+col];t=v0-v1+1>>1;v0=v0+v1+1>>1;v1=t;t=v2*dctSin6+v3*dctCos6+2048>>12;v2=v2*dctCos6-v3*dctSin6+2048>>12;v3=t;t=v4-v6+1>>1;v4=v4+v6+1>>1;v6=t;t=v7+v5+1>>1;v5=v7-v5+1>>1;v7=t;t=v0-v3+1>>1;v0=v0+v3+1>>1;v3=t;t=v1-v2+1>>1;v1=v1+v2+1>>1;v2=t;t=v4*dctSin3+v7*dctCos3+2048>>12;v4=v4*dctCos3-v7*dctSin3+2048>>12;v7=t;t=v5*dctSin1+v6*dctCos1+2048>>12;v5=v5*dctCos1-v6*dctSin1+2048>>12;v6=t;p[0*8+col]=v0+v7;p[7*8+col]=v0-v7;p[1*8+col]=v1+v6;p[6*8+col]=v1-v6;p[2*8+col]=v2+v5;p[5*8+col]=v2-v5;p[3*8+col]=v3+v4;p[4*8+col]=v3-v4}for(i=0;i<64;++i){var index=blockBufferOffset+i;var q=p[i];q=q<=-2056/component.bitConversion?0:q>=2024/component.bitConversion?255/component.bitConversion:q+2056/component.bitConversion>>4;component.blockData[index]=q}}function buildComponentData(frame,component){var lines=[];var blocksPerLine=component.blocksPerLine;var blocksPerColumn=component.blocksPerColumn;var samplesPerLine=blocksPerLine<<3;var computationBuffer=new Int32Array(64);var i,j,ll=0;for(var blockRow=0;blockRow=255?255:a|0}constructor.prototype={load:function load(path){var handleData=function(data){this.parse(data);if(this.onload)this.onload()}.bind(this);if(path.indexOf("data:")>-1){var offset=path.indexOf("base64,")+7;var data=atob(path.substring(offset));var arr=new Uint8Array(data.length);for(var i=data.length-1;i>=0;i--){arr[i]=data.charCodeAt(i)}handleData(data)}else{var xhr=new XMLHttpRequest;xhr.open("GET",path,true);xhr.responseType="arraybuffer";xhr.onload=function(){var data=new Uint8Array(xhr.response);handleData(data)}.bind(this);xhr.send(null)}},parse:function parse(data){function readUint16(){var value=data[offset]<<8|data[offset+1];offset+=2;return value}function readDataBlock(){var length=readUint16();var array=data.subarray(offset,offset+length-2);offset+=array.length;return array}function prepareComponents(frame){var mcusPerLine=Math.ceil(frame.samplesPerLine/8/frame.maxH);var mcusPerColumn=Math.ceil(frame.scanLines/8/frame.maxV);for(var i=0;i>4===0){for(j=0;j<64;j++){var z=dctZigZag[j];tableData[z]=data[offset++]}}else if(quantizationTableSpec>>4===1){for(j=0;j<64;j++){var zz=dctZigZag[j];tableData[zz]=readUint16()}}else throw"DQT: invalid table spec";quantizationTables[quantizationTableSpec&15]=tableData}break;case 65472:case 65473:case 65474:if(frame){throw"Only single frame JPEGs supported"}readUint16();frame={};frame.extended=fileMarker===65473;frame.progressive=fileMarker===65474;frame.precision=data[offset++];frame.scanLines=readUint16();frame.samplesPerLine=readUint16();frame.components=[];frame.componentIds={};var componentsCount=data[offset++],componentId;var maxH=0,maxV=0;for(i=0;i>4;var v=data[offset+1]&15;if(maxH>4===0?huffmanTablesDC:huffmanTablesAC)[huffmanTableSpec&15]=buildHuffmanTable(codeLengths,huffmanValues)}break;case 65501:readUint16();resetInterval=readUint16();break;case 65498:var scanLength=readUint16();var selectorsCount=data[offset++];var components=[],component;for(i=0;i>4];component.huffmanTableAC=huffmanTablesAC[tableSpec&15];components.push(component)}var spectralStart=data[offset++];var spectralEnd=data[offset++];var successiveApproximation=data[offset++];var processed=decodeScan(data,offset,frame,components,resetInterval,spectralStart,spectralEnd,successiveApproximation>>4,successiveApproximation&15);offset+=processed;break;default:if(data[offset-3]==255&&data[offset-2]>=192&&data[offset-2]<=254){offset-=3;break}throw"unknown JPEG marker "+fileMarker.toString(16)}fileMarker=readUint16()}this.width=frame.samplesPerLine;this.height=frame.scanLines;this.jfif=jfif;this.adobe=adobe;this.components=[];switch(frame.components.length){case 1:this.colorspace=ColorSpace.Grayscale;break;case 3:if(this.adobe)this.colorspace=ColorSpace.AdobeRGB;else this.colorspace=ColorSpace.RGB;break;case 4:this.colorspace=ColorSpace.CYMK;break;default:this.colorspace=ColorSpace.Unknown}for(var i=0;i>4!==4092||current===65476){switch(current){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,jpeg.lossless.Decoder.TABLE);break;case 65501:this.restartInterval=this.readNumber();break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(current>>8!==255){throw new Error("ERROR: format throw new IOException! (decode)")}}current=this.stream.get16()}if(current<65472||current>65479){throw new Error("ERROR: could not handle arithmetic code!")}this.frame.read(this.stream);current=this.stream.get16();do{while(current!==65498){switch(current){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,jpeg.lossless.Decoder.TABLE);break;case 65501:this.restartInterval=this.readNumber();break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(current>>8!==255){throw new Error("ERROR: format throw new IOException! (Parser.decode)")}}current=this.stream.get16()}this.precision=this.frame.precision;this.components=this.frame.components;if(!this.numBytes){this.numBytes=parseInt(Math.ceil(this.precision/8))}if(this.numBytes==1){this.mask=255}else{this.mask=65535}this.scan.read(this.stream);this.numComp=this.scan.numComp;this.selection=this.scan.selection;if(this.numBytes===1){if(this.numComp===3){this.getter=this.getValueRGB;this.setter=this.setValueRGB;this.output=this.outputRGB}else{this.getter=this.getValue8;this.setter=this.setValue8;this.output=this.outputSingle}}else{this.getter=this.getValue16;this.setter=this.setValue16;this.output=this.outputSingle}switch(this.selection){case 2:this.selector=this.select2;break;case 3:this.selector=this.select3;break;case 4:this.selector=this.select4;break;case 5:this.selector=this.select5;break;case 6:this.selector=this.select6;break;case 7:this.selector=this.select7;break;default:this.selector=this.select1;break}this.scanComps=this.scan.components;this.quantTables=this.quantTable.quantTables;for(i=0;i=jpeg.lossless.Decoder.RESTART_MARKER_BEGIN&¤t<=jpeg.lossless.Decoder.RESTART_MARKER_END)){break}}if(current===65500&&scanNum===1){this.readNumber();current=this.stream.get16()}}while(current!==65497&&(this.xLoc>1)};jpeg.lossless.Decoder.prototype.select6=function(compOffset){return this.getPreviousY(compOffset)+(this.getPreviousX(compOffset)-this.getPreviousXY(compOffset)>>1)};jpeg.lossless.Decoder.prototype.select7=function(compOffset){return(this.getPreviousX(compOffset)+this.getPreviousY(compOffset))/2};jpeg.lossless.Decoder.prototype.decodeRGB=function(prev,temp,index){var value,actab,dctab,qtab,ctrC,i,k,j;prev[0]=this.selector(0);prev[1]=this.selector(1);prev[2]=this.selector(2);for(ctrC=0;ctrC=65280){return value}prev[ctrC]=this.IDCT_Source[0]=prev[ctrC]+this.getn(index,value,temp,index);this.IDCT_Source[0]*=qtab[0];for(j=1;j<64;j+=1){value=this.getHuffmanValue(actab,temp,index);if(value>=65280){return value}j+=value>>4;if((value&15)===0){if(value>>4===0){break}}else{this.IDCT_Source[jpeg.lossless.Decoder.IDCT_P[j]]=this.getn(index,value&15,temp,index)*qtab[j]}}}}return 0};jpeg.lossless.Decoder.prototype.decodeSingle=function(prev,temp,index){var value,i,n,nRestart;if(this.restarting){this.restarting=false;prev[0]=1<=65280){return value}n=this.getn(prev,value,temp,index);nRestart=n>>8;if(nRestart>=jpeg.lossless.Decoder.RESTART_MARKER_BEGIN&&nRestart<=jpeg.lossless.Decoder.RESTART_MARKER_END){return nRestart}prev[0]+=n}return 0};jpeg.lossless.Decoder.prototype.getHuffmanValue=function(table,temp,index){var code,input,mask;mask=65535;if(index[0]<8){temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input}else{index[0]-=8}code=table[temp[0]>>index[0]];if((code&jpeg.lossless.Decoder.MSB)!==0){if(this.markerIndex!==0){this.markerIndex=0;return 65280|this.marker}temp[0]&=mask>>16-index[0];temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input;code=table[(code&255)*256+(temp[0]>>index[0])];index[0]+=8}index[0]+=8-(code>>8);if(index[0]<0){throw new Error("index="+index[0]+" temp="+temp[0]+" code="+code+" in HuffmanValue()")}if(index[0]>16-index[0];return code&255};jpeg.lossless.Decoder.prototype.getn=function(PRED,n,temp,index){var result,one,n_one,mask,input;one=1;n_one=-1;mask=65535;if(n===0){return 0}if(n===16){if(PRED[0]>=0){return-32768}else{return 32768}}index[0]-=n;if(index[0]>=0){if(index[0]>index[0];temp[0]&=mask>>16-index[0]}else{temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input;index[0]+=8;if(index[0]<0){if(this.markerIndex!==0){this.markerIndex=0;return(65280|this.marker)<<8}temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input;index[0]+=8}if(index[0]<0){throw new Error("index="+index[0]+" in getn()")}if(index[0]>index[0];temp[0]&=mask>>16-index[0]}if(result0){return this.getter(this.yLoc*this.xDim+this.xLoc-1,compOffset)}else if(this.yLoc>0){return this.getPreviousY(compOffset)}else{return 1<0&&this.yLoc>0){return this.getter((this.yLoc-1)*this.xDim+this.xLoc-1,compOffset)}else{return this.getPreviousY(compOffset)}};jpeg.lossless.Decoder.prototype.getPreviousY=function(compOffset){if(this.yLoc>0){return this.getter((this.yLoc-1)*this.xDim+this.xLoc,compOffset)}else{return this.getPreviousX(compOffset)}};jpeg.lossless.Decoder.prototype.isLastPixel=function(){return this.xLoc===this.xDim-1&&this.yLoc===this.yDim-1};jpeg.lossless.Decoder.prototype.outputSingle=function(PRED){if(this.xLoc=this.xDim){this.yLoc+=1;this.xLoc=0}}};jpeg.lossless.Decoder.prototype.outputRGB=function(PRED){var offset=this.yLoc*this.xDim+this.xLoc;if(this.xLoc=this.xDim){this.yLoc+=1;this.xLoc=0}}};jpeg.lossless.Decoder.prototype.setValue8=function(index,val){this.outputData[index]=val};jpeg.lossless.Decoder.prototype.getValue8=function(index){return this.outputData[index]};var littleEndian=function(){var buffer=new ArrayBuffer(2);new DataView(buffer).setInt16(0,256,true);return new Int16Array(buffer)[0]===256}();if(littleEndian){jpeg.lossless.Decoder.prototype.setValue16=jpeg.lossless.Decoder.prototype.setValue8;jpeg.lossless.Decoder.prototype.getValue16=jpeg.lossless.Decoder.prototype.getValue8}else{jpeg.lossless.Decoder.prototype.setValue16=function(index,val){this.outputData[index]=(val&255)<<8|val>>8&255};jpeg.lossless.Decoder.prototype.getValue16=function(index){var val=this.outputData[index];return(val&255)<<8|val>>8&255}}jpeg.lossless.Decoder.prototype.setValueRGB=function(index,val,compOffset){this.outputData[index*3+compOffset]=val};jpeg.lossless.Decoder.prototype.getValueRGB=function(index,compOffset){return this.outputData[index*3+compOffset]};jpeg.lossless.Decoder.prototype.readApp=function(){var count=0,length=this.stream.get16();count+=2;while(countlength){throw new Error("ERROR: frame format error")}c=data.get8();count+=1;if(count>=length){throw new Error("ERROR: frame format error [c>=Lf]")}temp=data.get8();count+=1;if(!this.components[c]){this.components[c]=new jpeg.lossless.ComponentSpec}this.components[c].hSamp=temp>>4;this.components[c].vSamp=temp&15;this.components[c].quantTableSel=data.get8();count+=1}if(count!==length){throw new Error("ERROR: frame format error [Lf!=count]")}return 1};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.FrameHeader}},{"./component-spec.js":1,"./data-stream.js":2}],5:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.Utils=jpeg.lossless.Utils||(typeof require!=="undefined"?require("./utils.js"):null);jpeg.lossless.HuffmanTable=jpeg.lossless.HuffmanTable||function(){this.l=jpeg.lossless.Utils.createArray(4,2,16);this.th=[];this.v=jpeg.lossless.Utils.createArray(4,2,16,200);this.tc=jpeg.lossless.Utils.createArray(4,2);this.tc[0][0]=0;this.tc[1][0]=0;this.tc[2][0]=0;this.tc[3][0]=0;this.tc[0][1]=0;this.tc[1][1]=0;this.tc[2][1]=0;this.tc[3][1]=0;this.th[0]=0;this.th[1]=0;this.th[2]=0;this.th[3]=0};jpeg.lossless.HuffmanTable.MSB=2147483648;jpeg.lossless.HuffmanTable.prototype.read=function(data,HuffTab){var count=0,length,temp,t,c,i,j;length=data.get16();count+=2;while(count3){throw new Error("ERROR: Huffman table ID > 3")}c=temp>>4;if(c>2){throw new Error("ERROR: Huffman table [Table class > 2 ]")}this.th[t]=1;this.tc[t][c]=1;for(i=0;i<16;i+=1){this.l[t][c][i]=data.get8();count+=1}for(i=0;i<16;i+=1){for(j=0;jlength){throw new Error("ERROR: Huffman table format error [count>Lh]")}this.v[t][c][i][j]=data.get8();count+=1}}}if(count!==length){throw new Error("ERROR: Huffman table format error [count!=Lf]")}for(i=0;i<4;i+=1){for(j=0;j<2;j+=1){if(this.tc[i][j]!==0){this.buildHuffTable(HuffTab[i][j],this.l[i][j],this.v[i][j])}}}return 1};jpeg.lossless.HuffmanTable.prototype.buildHuffTable=function(tab,L,V){var currentTable,temp,k,i,j,n;temp=256;k=0;for(i=0;i<8;i+=1){for(j=0;j>i+1;n+=1){tab[k]=V[i][j]|i+1<<8;k+=1}}}for(i=1;k<256;i+=1,k+=1){tab[k]=i|jpeg.lossless.HuffmanTable.MSB}currentTable=1;k=0;for(i=8;i<16;i+=1){for(j=0;j>i-7;n+=1){tab[currentTable*256+k]=V[i][j]|i+1<<8;k+=1}if(k>=256){if(k>256){throw new Error("ERROR: Huffman table error(1)!")}k=0;currentTable+=1}}}};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.HuffmanTable}},{"./data-stream.js":2,"./utils.js":10}],6:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.ComponentSpec=jpeg.lossless.ComponentSpec||(typeof require!=="undefined"?require("./component-spec.js"):null);jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.Decoder=jpeg.lossless.Decoder||(typeof require!=="undefined"?require("./decoder.js"):null);jpeg.lossless.FrameHeader=jpeg.lossless.FrameHeader||(typeof require!=="undefined"?require("./frame-header.js"):null);jpeg.lossless.HuffmanTable=jpeg.lossless.HuffmanTable||(typeof require!=="undefined"?require("./huffman-table.js"):null);jpeg.lossless.QuantizationTable=jpeg.lossless.QuantizationTable||(typeof require!=="undefined"?require("./quantization-table.js"):null);jpeg.lossless.ScanComponent=jpeg.lossless.ScanComponent||(typeof require!=="undefined"?require("./scan-component.js"):null);jpeg.lossless.ScanHeader=jpeg.lossless.ScanHeader||(typeof require!=="undefined"?require("./scan-header.js"):null);jpeg.lossless.Utils=jpeg.lossless.Utils||(typeof require!=="undefined"?require("./utils.js"):null);var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg}},{"./component-spec.js":1,"./data-stream.js":2,"./decoder.js":3,"./frame-header.js":4,"./huffman-table.js":5,"./quantization-table.js":7,"./scan-component.js":8,"./scan-header.js":9,"./utils.js":10}],7:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.Utils=jpeg.lossless.Utils||(typeof require!=="undefined"?require("./utils.js"):null);jpeg.lossless.QuantizationTable=jpeg.lossless.QuantizationTable||function(){this.precision=[];this.tq=[];this.quantTables=jpeg.lossless.Utils.createArray(4,64);this.tq[0]=0;this.tq[1]=0;this.tq[2]=0;this.tq[3]=0};jpeg.lossless.QuantizationTable.enhanceQuantizationTable=function(qtab,table){var i;for(i=0;i<8;i+=1){qtab[table[0*8+i]]*=90;qtab[table[4*8+i]]*=90;qtab[table[2*8+i]]*=118;qtab[table[6*8+i]]*=49;qtab[table[5*8+i]]*=71;qtab[table[1*8+i]]*=126;qtab[table[7*8+i]]*=25;qtab[table[3*8+i]]*=106}for(i=0;i<8;i+=1){qtab[table[0+8*i]]*=90;qtab[table[4+8*i]]*=90;qtab[table[2+8*i]]*=118;qtab[table[6+8*i]]*=49;qtab[table[5+8*i]]*=71;qtab[table[1+8*i]]*=126;qtab[table[7+8*i]]*=25;qtab[table[3+8*i]]*=106}for(i=0;i<64;i+=1){qtab[i]>>=6}};jpeg.lossless.QuantizationTable.prototype.read=function(data,table){var count=0,length,temp,t,i;length=data.get16();count+=2;while(count3){throw new Error("ERROR: Quantization table ID > 3")}this.precision[t]=temp>>4;if(this.precision[t]===0){this.precision[t]=8}else if(this.precision[t]===1){this.precision[t]=16}else{throw new Error("ERROR: Quantization table precision error")}this.tq[t]=1;if(this.precision[t]===8){for(i=0;i<64;i+=1){if(count>length){throw new Error("ERROR: Quantization table format error")}this.quantTables[t][i]=data.get8();count+=1}jpeg.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t],table)}else{for(i=0;i<64;i+=1){if(count>length){throw new Error("ERROR: Quantization table format error")}this.quantTables[t][i]=data.get16();count+=2}jpeg.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t],table)}}if(count!==length){throw new Error("ERROR: Quantization table error [count!=Lq]")}return 1};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.QuantizationTable}},{"./data-stream.js":2,"./utils.js":10}],8:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.ScanComponent=jpeg.lossless.ScanComponent||function(){this.acTabSel=0;this.dcTabSel=0;this.scanCompSel=0};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.ScanComponent}},{}],9:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.ScanComponent=jpeg.lossless.ScanComponent||(typeof require!=="undefined"?require("./scan-component.js"):null);jpeg.lossless.ScanHeader=jpeg.lossless.ScanHeader||function(){this.ah=0;this.al=0;this.numComp=0;this.selection=0;this.spectralEnd=0;this.components=[]};jpeg.lossless.ScanHeader.prototype.read=function(data){var count=0,length,i,temp;length=data.get16();count+=2;this.numComp=data.get8();count+=1;for(i=0;ilength){throw new Error("ERROR: scan header format error")}this.components[i].scanCompSel=data.get8();count+=1;temp=data.get8();count+=1;this.components[i].dcTabSel=temp>>4;this.components[i].acTabSel=temp&15}this.selection=data.get8();count+=1;this.spectralEnd=data.get8();count+=1;temp=data.get8();this.ah=temp>>4;this.al=temp&15;count+=1;if(count!==length){throw new Error("ERROR: scan header format error [count!=Ns]")}return 1};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.ScanHeader}},{"./data-stream.js":2,"./scan-component.js":8}],10:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.Utils=jpeg.lossless.Utils||{};jpeg.lossless.Utils.createArray=function(length){var arr=new Array(length||0),i=length;if(arguments.length>1){var args=Array.prototype.slice.call(arguments,1);while(i--)arr[length-1-i]=jpeg.lossless.Utils.createArray.apply(this,args)}return arr};jpeg.lossless.Utils.makeCRCTable=function(){var c;var crcTable=[];for(var n=0;n<256;n++){c=n;for(var k=0;k<8;k++){c=c&1?3988292384^c>>>1:c>>>1}crcTable[n]=c}return crcTable};jpeg.lossless.Utils.crc32=function(dataView){var uint8view=new Uint8Array(dataView.buffer);var crcTable=jpeg.lossless.Utils.crcTable||(jpeg.lossless.Utils.crcTable=jpeg.lossless.Utils.makeCRCTable());var crc=0^-1;for(var i=0;i>>8^crcTable[(crc^uint8view[i])&255]}return(crc^-1)>>>0};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.Utils}},{}]},{},[6])(6)});/*! image-JPEG2000 - v0.3.1 - 2015-08-26 | https://github.com/OHIF/image-JPEG2000 */ "use strict";function info(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.infos&&console.log("Info: "+a)}function warn(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.warnings&&console.log("Warning: "+a)}function error(a){if(arguments.length>1){var b=["Error:"];b.push.apply(b,arguments),console.log.apply(console,b),a=[].join.call(arguments," ")}else console.log("Error: "+a);throw console.log(backtrace()),UnsupportedManager.notify(UNSUPPORTED_FEATURES.unknown),new Error(a)}function backtrace(){try{throw new Error}catch(a){return a.stack?a.stack.split("\n").slice(2).join("\n"):""}}function assert(a,b){a||error(b)}function combineUrl(a,b){if(!b)return a;if(/^[a-z][a-z0-9+\-.]*:/i.test(b))return b;var c;if("/"===b.charAt(0))return c=a.indexOf("://"),"/"===b.charAt(1)?++c:c=a.indexOf("/",c+3),a.substring(0,c)+b;var d=a.length;c=a.lastIndexOf("#"),d=c>=0?c:d,c=a.lastIndexOf("?",d),d=c>=0?c:d;var e=a.lastIndexOf("/",d);return a.substring(0,e+1)+b}function isValidUrl(a,b){if(!a)return!1;var c=/^[a-z][a-z0-9+\-.]*(?=:)/i.exec(a);if(!c)return b;switch(c=c[0].toLowerCase()){case"http":case"https":case"ftp":case"mailto":case"tel":return!0;default:return!1}}function shadow(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!1}),c}function bytesToString(a){assert(null!==a&&"object"==typeof a&&void 0!==a.length,"Invalid argument for bytesToString");var b=a.length,c=8192;if(c>b)return String.fromCharCode.apply(null,a);for(var d=[],e=0;b>e;e+=c){var f=Math.min(e+c,b),g=a.subarray(e,f);d.push(String.fromCharCode.apply(null,g))}return d.join("")}function stringToBytes(a){assert("string"==typeof a,"Invalid argument for stringToBytes");for(var b=a.length,c=new Uint8Array(b),d=0;b>d;++d)c[d]=255&a.charCodeAt(d);return c}function string32(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,255&a)}function log2(a){for(var b=1,c=0;a>b;)b<<=1,c++;return c}function readInt8(a,b){return a[b]<<24>>24}function readUint16(a,b){return a[b]<<8|a[b+1]}function readUint32(a,b){return(a[b]<<24|a[b+1]<<16|a[b+2]<<8|a[b+3])>>>0}function isLittleEndian(){var a=new Uint8Array(2);a[0]=1;var b=new Uint16Array(a.buffer);return 1===b[0]}function hasCanvasTypedArrays(){var a=document.createElement("canvas");a.width=a.height=1;var b=a.getContext("2d"),c=b.createImageData(1,1);return"undefined"!=typeof c.data.buffer}function stringToPDFString(a){var b,c=a.length,d=[];if("þ"===a[0]&&"ÿ"===a[1])for(b=2;c>b;b+=2)d.push(String.fromCharCode(a.charCodeAt(b)<<8|a.charCodeAt(b+1)));else for(b=0;c>b;++b){var e=PDFStringTranslateTable[a.charCodeAt(b)];d.push(e?String.fromCharCode(e):a.charAt(b))}return d.join("")}function stringToUTF8String(a){return decodeURIComponent(escape(a))}function isEmptyObj(a){for(var b in a)return!1;return!0}function isBool(a){return"boolean"==typeof a}function isInt(a){return"number"==typeof a&&(0|a)===a}function isNum(a){return"number"==typeof a}function isString(a){return"string"==typeof a}function isNull(a){return null===a}function isName(a){return a instanceof Name}function isCmd(a,b){return a instanceof Cmd&&(void 0===b||a.cmd===b)}function isDict(a,b){if(!(a instanceof Dict))return!1;if(!b)return!0;var c=a.get("Type");return isName(c)&&c.name===b}function isArray(a){return a instanceof Array}function isStream(a){return"object"==typeof a&&null!==a&&void 0!==a.getBytes}function isArrayBuffer(a){return"object"==typeof a&&null!==a&&void 0!==a.byteLength}function isRef(a){return a instanceof Ref}function createPromiseCapability(){var a={};return a.promise=new Promise(function(b,c){a.resolve=b,a.reject=c}),a}function MessageHandler(a,b){this.name=a,this.comObj=b,this.callbackIndex=1,this.postMessageTransfers=!0;var c=this.callbacksCapabilities={},d=this.actionHandler={};d.console_log=[function(a){console.log.apply(console,a)}],d.console_error=[function(a){console.error.apply(console,a)}],d._unsupported_feature=[function(a){UnsupportedManager.notify(a)}],b.onmessage=function(a){var e=a.data;if(e.isReply){var f=e.callbackId;if(e.callbackId in c){var g=c[f];delete c[f],"error"in e?g.reject(e.error):g.resolve(e.data)}else error("Cannot resolve callback "+f)}else if(e.action in d){var h=d[e.action];e.callbackId?Promise.resolve().then(function(){return h[0].call(h[1],e.data)}).then(function(a){b.postMessage({isReply:!0,callbackId:e.callbackId,data:a})},function(a){b.postMessage({isReply:!0,callbackId:e.callbackId,error:a})}):h[0].call(h[1],e.data)}else error("Unknown action from worker: "+e.action)}}function loadJpegStream(a,b,c){var d=new Image;d.onload=function(){c.resolve(a,d)},d.onerror=function(){c.resolve(a,null),warn("Error during JPEG image loading")},d.src=b}var JpxImage=function(){function a(){this.failOnCorruptedImage=!1}function b(a,b){a.x0=Math.ceil(b.XOsiz/a.XRsiz),a.x1=Math.ceil(b.Xsiz/a.XRsiz),a.y0=Math.ceil(b.YOsiz/a.YRsiz),a.y1=Math.ceil(b.Ysiz/a.YRsiz),a.width=a.x1-a.x0,a.height=a.y1-a.y0}function c(a,b){for(var c,d=a.SIZ,e=[],f=Math.ceil((d.Xsiz-d.XTOsiz)/d.XTsiz),g=Math.ceil((d.Ysiz-d.YTOsiz)/d.YTsiz),h=0;g>h;h++)for(var i=0;f>i;i++)c={},c.tx0=Math.max(d.XTOsiz+i*d.XTsiz,d.XOsiz),c.ty0=Math.max(d.YTOsiz+h*d.YTsiz,d.YOsiz),c.tx1=Math.min(d.XTOsiz+(i+1)*d.XTsiz,d.Xsiz),c.ty1=Math.min(d.YTOsiz+(h+1)*d.YTsiz,d.Ysiz),c.width=c.tx1-c.tx0,c.height=c.ty1-c.ty0,c.components=[],e.push(c);a.tiles=e;for(var j=d.Csiz,k=0,l=j;l>k;k++)for(var m=b[k],n=0,o=e.length;o>n;n++){var p={};c=e[n],p.tcx0=Math.ceil(c.tx0/m.XRsiz),p.tcy0=Math.ceil(c.ty0/m.YRsiz),p.tcx1=Math.ceil(c.tx1/m.XRsiz),p.tcy1=Math.ceil(c.ty1/m.YRsiz),p.width=p.tcx1-p.tcx0,p.height=p.tcy1-p.tcy0,c.components[k]=p}}function d(a,b,c){var d=b.codingStyleParameters,e={};return d.entropyCoderWithCustomPrecincts?(e.PPx=d.precinctsSizes[c].PPx,e.PPy=d.precinctsSizes[c].PPy):(e.PPx=15,e.PPy=15),e.xcb_=c>0?Math.min(d.xcb,e.PPx-1):Math.min(d.xcb,e.PPx),e.ycb_=c>0?Math.min(d.ycb,e.PPy-1):Math.min(d.ycb,e.PPy),e}function e(a,b,c){var d=1<b.trx0?Math.ceil(b.trx1/d)-Math.floor(b.trx0/d):0,j=b.try1>b.try0?Math.ceil(b.try1/e)-Math.floor(b.try0/e):0,k=i*j;b.precinctParameters={precinctWidth:d,precinctHeight:e,numprecinctswide:i,numprecinctshigh:j,numprecincts:k,precinctWidthInSubband:g,precinctHeightInSubband:h}}function f(a,b,c){var d,e,f,g,h=c.xcb_,i=c.ycb_,j=1<>h,m=b.tby0>>i,n=b.tbx1+j-1>>h,o=b.tby1+k-1>>i,p=b.resolution.precinctParameters,q=[],r=[];for(e=m;o>e;e++)for(d=l;n>d;d++){f={cbx:d,cby:e,tbx0:j*d,tby0:k*e,tbx1:j*(d+1),tby1:k*(e+1)},f.tbx0_=Math.max(b.tbx0,f.tbx0),f.tby0_=Math.max(b.tby0,f.tby0),f.tbx1_=Math.min(b.tbx1,f.tbx1),f.tby1_=Math.min(b.tby1,f.tby1);var s=Math.floor((f.tbx0_-b.tbx0)/p.precinctWidthInSubband),t=Math.floor((f.tby0_-b.tby0)/p.precinctHeightInSubband);if(g=s+t*p.numprecinctswide,f.precinctNumber=g,f.subbandType=b.type,f.Lblock=3,!(f.tbx1_<=f.tbx0_||f.tby1_<=f.tby0_)){q.push(f);var u=r[g];void 0!==u?(du.cbxMax&&(u.cbxMax=d),eu.cbyMax&&(u.cbyMax=e)):r[g]=u={cbxMin:d,cbyMin:e,cbxMax:d,cbyMax:e},f.precinct=u}}b.codeblockParameters={codeblockWidth:h,codeblockHeight:i,numcodeblockwide:n-l+1,numcodeblockhigh:o-m+1},b.codeblocks=q,b.precincts=r}function g(a,b,c){for(var d=[],e=a.subbands,f=0,g=e.length;g>f;f++)for(var h=e[f],i=h.codeblocks,j=0,k=i.length;k>j;j++){var l=i[j];l.precinctNumber===b&&d.push(l)}return{layerNumber:c,codeblocks:d}}function h(a){for(var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=0,i=0;f>i;i++)h=Math.max(h,d.components[i].codingStyleParameters.decompositionLevelsCount);var j=0,k=0,l=0,m=0;this.nextPacket=function(){for(;e>j;j++){for(;h>=k;k++){for(;f>l;l++){var a=d.components[l];if(!(k>a.codingStyleParameters.decompositionLevelsCount)){for(var b=a.resolutions[k],c=b.precinctParameters.numprecincts;c>m;){var i=g(b,m,j);return m++,i}m=0}}l=0}k=0}}}function i(a){for(var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=0,i=0;f>i;i++)h=Math.max(h,d.components[i].codingStyleParameters.decompositionLevelsCount);var j=0,k=0,l=0,m=0;this.nextPacket=function(){for(;h>=j;j++){for(;e>k;k++){for(;f>l;l++){var a=d.components[l];if(!(j>a.codingStyleParameters.decompositionLevelsCount)){for(var b=a.resolutions[j],c=b.precinctParameters.numprecincts;c>m;){var i=g(b,m,k);return m++,i}m=0}}l=0}k=0}}}function j(a){var b,c,d,e,f=a.SIZ,h=a.currentTile.index,i=a.tiles[h],j=i.codingStyleDefaultParameters.layersCount,k=f.Csiz,l=0;for(d=0;k>d;d++){var m=i.components[d];l=Math.max(l,m.codingStyleParameters.decompositionLevelsCount)}var n=new Int32Array(l+1);for(c=0;l>=c;++c){var o=0;for(d=0;k>d;++d){var p=i.components[d].resolutions;c=c;c++){for(;ed;d++){var a=i.components[d];if(!(c>a.codingStyleParameters.decompositionLevelsCount)){var f=a.resolutions[c],h=f.precinctParameters.numprecincts;if(!(e>=h)){for(;j>b;){var m=g(f,e,b);return b++,m}b=0}}}d=0}e=0}}}function k(a){var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=n(d),i=h,j=0,k=0,l=0,o=0,p=0;this.nextPacket=function(){for(;pl;l++){for(var a=d.components[l],b=a.codingStyleParameters.decompositionLevelsCount;b>=k;k++){var c=a.resolutions[k],n=h.components[l].resolutions[k],q=m(o,p,n,i,c);if(null!==q){for(;e>j;){var r=g(c,q,j);return j++,r}j=0}}k=0}l=0}o=0}}}function l(a){var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=n(d),i=0,j=0,k=0,l=0,o=0;this.nextPacket=function(){for(;f>k;++k){for(var a=d.components[k],b=h.components[k],c=a.codingStyleParameters.decompositionLevelsCount;o=j;j++){var n=a.resolutions[j],p=b.resolutions[j],q=m(l,o,p,b,n);if(null!==q){for(;e>i;){var r=g(n,q,i);return i++,r}i=0}}j=0}l=0}o=0}}}function m(a,b,c,d,e){var f=a*d.minWidth,g=b*d.minHeight;if(f%c.width!==0||g%c.height!==0)return null;var h=g/c.width*e.precinctParameters.numprecinctswide;return f/c.height+h}function n(a){for(var b=a.components.length,c=Number.MAX_VALUE,d=Number.MAX_VALUE,e=0,f=0,g=new Array(b),h=0;b>h;h++){for(var i=a.components[h],j=i.codingStyleParameters.decompositionLevelsCount,k=new Array(j+1),l=Number.MAX_VALUE,m=Number.MAX_VALUE,n=0,o=0,p=1,q=j;q>=0;--q){var r=i.resolutions[q],s=p*r.precinctParameters.precinctWidth,t=p*r.precinctParameters.precinctHeight;l=Math.min(l,s),m=Math.min(m,t),n=Math.max(n,r.precinctParameters.numprecinctswide),o=Math.max(o,r.precinctParameters.numprecinctshigh),k[q]={width:s,height:t},p<<=1}c=Math.min(c,l),d=Math.min(d,m),e=Math.max(e,n),f=Math.max(f,o),g[h]={resolutions:k,minWidth:l,minHeight:m,maxNumWide:n,maxNumHigh:o}}return{components:g,minWidth:c,minHeight:d,maxNumWide:e,maxNumHigh:f}}function o(a){for(var b=a.SIZ,c=a.currentTile.index,g=a.tiles[c],m=b.Csiz,n=0;m>n;n++){for(var o=g.components[n],p=o.codingStyleParameters.decompositionLevelsCount,q=[],r=[],s=0;p>=s;s++){var t=d(a,o,s),u={},v=1<l;){if(c+k>=b.length)throw new Error("Unexpected EOF");var d=b[c+k];k++,m?(j=j<<7|d,l+=7,m=!1):(j=j<<8|d,l+=8),255===d&&(m=!0)}return l-=a,j>>>l&(1<a?a+3:(a=e(5),31>a?a+6:(a=e(7),a+37))}for(var j,k=0,l=0,m=!1,n=a.currentTile.index,o=a.tiles[n],p=a.COD.sopMarkerUsed,q=a.COD.ephMarkerUsed,r=o.packetsIterator;d>k;)try{h(),p&&f(145)&&g(4);var s=r.nextPacket();if(void 0===s)return;if(!e(1))continue;for(var t,u=s.layerNumber,x=[],y=0,z=s.codeblocks.length;z>y;y++){t=s.codeblocks[y];var A,B=t.precinct,C=t.cbx-B.cbxMin,D=t.cby-B.cbyMin,E=!1,F=!1;if(void 0!==t.included)E=!!e(1);else{B=t.precinct;var G,H;if(void 0!==B.inclusionTree)G=B.inclusionTree;else{var I=B.cbxMax-B.cbxMin+1,J=B.cbyMax-B.cbyMin+1;G=new w(I,J),H=new v(I,J),B.inclusionTree=G,B.zeroBitPlanesTree=H}for(G.reset(C,D,u);;){if(k>=b.length)return;if(G.isAboveThreshold())break;if(G.isKnown())G.nextLevel();else if(e(1)){if(G.setKnown(),G.isLeaf()){t.included=!0,E=F=!0;break}G.nextLevel()}else G.incrementValue()}}if(E){if(F){for(H=B.zeroBitPlanesTree,H.reset(C,D);;){if(k>=b.length)return;if(e(1)){if(A=!H.nextLevel())break}else H.incrementValue()}t.zeroBitPlanes=H.value}for(var K=i();e(1);)t.Lblock++;var L=log2(K),M=(1<K?L-1:L)+t.Lblock,N=e(M);x.push({codeblock:t,codingpasses:K,dataLength:N})}}for(h(),q&&f(146);x.length>0;){var O=x.shift();t=O.codeblock,void 0===t.data&&(t.data=[]),t.data.push({data:b,start:c+k,end:c+k+O.dataLength,codingpasses:O.codingpasses}),k+=O.dataLength}}catch(P){return}return k}function q(a,b,c,d,e,f,g,h){for(var i=d.tbx0,j=d.tby0,k=d.tbx1-d.tbx0,l=d.codeblocks,m="H"===d.type.charAt(0)?1:0,n="H"===d.type.charAt(1)?b:0,o=0,p=l.length;p>o;++o){var q=l[o],r=q.tbx1_-q.tbx0_,s=q.tby1_-q.tby0_;if(0!==r&&0!==s&&void 0!==q.data){var t,u;t=new x(r,s,q.subbandType,q.zeroBitPlanes,f),u=2;var v,w,y,z=q.data,A=0,B=0;for(v=0,w=z.length;w>v;v++)y=z[v],A+=y.end-y.start,B+=y.codingpasses;var C=new Int16Array(A),D=0;for(v=0,w=z.length;w>v;v++){y=z[v];var E=y.data.subarray(y.start,y.end);C.set(E,D),D+=E.length}var F=new ArithmeticDecoder(C,0,A);for(t.setDecoder(F),v=0;B>v;v++){switch(u){case 0:t.runSignificancePropogationPass();break;case 1:t.runMagnitudeRefinementPass();break;case 2:t.runCleanupPass(),h&&t.checkSegmentationSymbol()}u=(u+1)%3}var G,H,I,J=q.tbx0_-i+(q.tby0_-j)*k,K=t.coefficentsSign,L=t.coefficentsMagnitude,M=t.bitsDecoded,N=g?0:.5;D=0;var O="LL"!==d.type;for(v=0;s>v;v++){var P=J/k|0,Q=2*P*(b-k)+m+n;for(G=0;r>G;G++){if(H=L[D],0!==H){H=(H+N)*e,0!==K[D]&&(H=-H),I=M[D];var R=O?Q+(J<<1):J;g&&I>=f?a[R]=H:a[R]=H*(1<=r;r++){for(var s=d.resolutions[r],t=s.trx1-s.trx0,v=s.try1-s.try0,w=new Float32Array(t*v),x=0,y=s.subbands.length;y>x;x++){var B,C;i?(B=h[p].mu,C=h[p].epsilon,p++):(B=h[0].mu,C=h[0].epsilon+(r>0?1-r:0));var D=s.subbands[x],E=u[D.type],F=m?1:Math.pow(2,l+E-C)*(1+B/2048),G=j+C-1;q(w,t,v,D,F,G,m,k)}o.push({width:t,height:v,items:w})}var H=n.calculate(o,d.tcx0,d.tcy0);return{left:d.tcx0,top:d.tcy0,width:H.width,height:H.height,items:H.items}}function s(a){for(var b=a.SIZ,c=a.components,d=b.Csiz,e=[],f=0,g=a.tiles.length;g>f;f++){var h,i=a.tiles[f],j=[];for(h=0;d>h;h++)j[h]=r(a,i,h);var k=j[0],l=c[0].isSigned;if(l)var m=new Int16Array(k.items.length*d);else var m=new Uint16Array(k.items.length*d);var n,o,p,q,s,t,u,v,w,x,y,z,A,B,C,D={left:k.left,top:k.top,width:k.width,height:k.height,items:m},E=0;if(i.codingStyleDefaultParameters.multipleComponentTransform){var F=4===d,G=j[0].items,H=j[1].items,I=j[2].items,J=F?j[3].items:null;n=c[0].precision-8,o=(128<t;t++,E+=L)v=G[t]+o,w=H[t],x=I[t],z=v-(x+w>>2),y=z+x,A=z+w,m[E++]=0>=y?0:y>=p?255:y>>n,m[E++]=0>=z?0:z>=p?255:z>>n,m[E++]=0>=A?0:A>=p?255:A>>n;else for(t=0;u>t;t++,E+=L)v=G[t]+o,w=H[t],x=I[t],y=v+1.402*x,z=v-.34413*w-.71414*x,A=v+1.772*w,m[E++]=0>=y?0:y>=p?255:y>>n,m[E++]=0>=z?0:z>=p?255:z>>n,m[E++]=0>=A?0:A>=p?255:A>>n;if(F)for(t=0,E=3;u>t;t++,E+=4)B=J[t],m[E]=q>=B?0:B>=s?255:B+o>>n}else for(h=0;d>h;h++)if(8===c[h].precision){var M=j[h].items;for(n=c[h].precision-8,o=(128<t;t++)C=M[t],m[E]=q>=C?0:C>=p?255:C+o>>n,E+=d}else{var l=c[h].isSigned,M=j[h].items;if(l)for(E=h,t=0,u=M.length;u>t;t++)m[E]=M[t],E+=d;else{n=c[h].precision-8,o=(128<t;t++)C=M[t],m[E]=Math.max(Math.min(C+o,N),0),E+=d}}e.push(D)}return e}function t(a,b){for(var c=a.SIZ,d=c.Csiz,e=a.tiles[b],f=0;d>f;f++){var g=e.components[f],h=void 0!==a.currentTile.QCC[f]?a.currentTile.QCC[f]:a.currentTile.QCD;g.quantizationParameters=h;var i=void 0!==a.currentTile.COC[f]?a.currentTile.COC[f]:a.currentTile.COD;g.codingStyleParameters=i}e.codingStyleDefaultParameters=a.currentTile.COD}var u={LL:0,LH:1,HL:1,HH:2};a.prototype={parse:function(a){var b=readUint16(a,0);if(65359===b)return void this.parseCodestream(a,0,a.length);for(var c=0,d=a.length;d>c;){var e=8,f=readUint32(a,c),g=readUint32(a,c+4);if(c+=e,1===f&&(f=4294967296*readUint32(a,c)+readUint32(a,c+4),c+=8,e+=8),0===f&&(f=d-c+e),e>f)throw new Error("JPX Error: Invalid box field size");var h=f-e,i=!0;switch(g){case 1785737832:i=!1;break;case 1668246642:var j=a[c];a[c+1],a[c+2];if(1===j){var k=readUint32(a,c+3);switch(k){case 16:case 17:case 18:break;default:warn("Unknown colorspace "+k)}}else 2===j&&info("ICC profile not supported");break;case 1785737827:this.parseCodestream(a,c,c+h);break;case 1783636e3:218793738!==readUint32(a,c)&&warn("Invalid JP2 signature");break;case 1783634458:case 1718909296:case 1920099697:case 1919251232:case 1768449138:break;default:var l=String.fromCharCode(g>>24&255,g>>16&255,g>>8&255,255&g);warn("Unsupported header type "+g+" ("+l+")")}i&&(c+=h)}},parseImageProperties:function(a){for(var b=a.getByte();b>=0;){var c=b;b=a.getByte();var d=c<<8|b;if(65361===d){a.skip(4);var e=a.getInt32()>>>0,f=a.getInt32()>>>0,g=a.getInt32()>>>0,h=a.getInt32()>>>0;a.skip(16);var i=a.getUint16();return this.width=e-g,this.height=f-h,this.componentsCount=i,void(this.bitsPerComponent=8)}}throw new Error("JPX Error: No size marker found in JPX stream")},parseCodestream:function(a,d,e){var f={};try{for(var g=!1,h=d;e>h+1;){var i=readUint16(a,h);h+=2;var j,k,l,m,n,q,r=0;switch(i){case 65359:f.mainHeader=!0;break;case 65497:break;case 65361:r=readUint16(a,h);var u={};u.Xsiz=readUint32(a,h+4),u.Ysiz=readUint32(a,h+8),u.XOsiz=readUint32(a,h+12),u.YOsiz=readUint32(a,h+16),u.XTsiz=readUint32(a,h+20),u.YTsiz=readUint32(a,h+24),u.XTOsiz=readUint32(a,h+28),u.YTOsiz=readUint32(a,h+32);var v=readUint16(a,h+36);u.Csiz=v;var w=[];j=h+38;for(var x=0;v>x;x++){var y={precision:(127&a[j])+1,isSigned:!!(128&a[j]),XRsiz:a[j+1],YRsiz:a[j+1]};b(y,u),w.push(y)}f.SIZ=u,f.components=w,c(f,w),f.QCC=[],f.COC=[];break;case 65372:r=readUint16(a,h);var z={};switch(j=h+2,k=a[j++],31&k){case 0:m=8,n=!0;break;case 1:m=16,n=!1;break;case 2:m=16,n=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+k)}for(z.noQuantization=8===m,z.scalarExpounded=n,z.guardBits=k>>5,l=[];r+h>j;){var A={};8===m?(A.epsilon=a[j++]>>3,A.mu=0):(A.epsilon=a[j]>>3,A.mu=(7&a[j])<<8|a[j+1],j+=2),l.push(A)}z.SPqcds=l,f.mainHeader?f.QCD=z:(f.currentTile.QCD=z,f.currentTile.QCC=[]);break;case 65373:r=readUint16(a,h);var B={};j=h+2;var C;switch(f.SIZ.Csiz<257?C=a[j++]:(C=readUint16(a,j),j+=2),k=a[j++],31&k){case 0:m=8,n=!0;break;case 1:m=16,n=!1;break;case 2:m=16,n=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+k)}for(B.noQuantization=8===m,B.scalarExpounded=n,B.guardBits=k>>5,l=[];r+h>j;)A={},8===m?(A.epsilon=a[j++]>>3,A.mu=0):(A.epsilon=a[j]>>3,A.mu=(7&a[j])<<8|a[j+1],j+=2),l.push(A);B.SPqcds=l,f.mainHeader?f.QCC[C]=B:f.currentTile.QCC[C]=B;break;case 65362:r=readUint16(a,h);var D={};j=h+2;var E=a[j++];D.entropyCoderWithCustomPrecincts=!!(1&E),D.sopMarkerUsed=!!(2&E),D.ephMarkerUsed=!!(4&E),D.progressionOrder=a[j++],D.layersCount=readUint16(a,j),j+=2,D.multipleComponentTransform=a[j++],D.decompositionLevelsCount=a[j++],D.xcb=(15&a[j++])+2,D.ycb=(15&a[j++])+2;var F=a[j++];if(D.selectiveArithmeticCodingBypass=!!(1&F),D.resetContextProbabilities=!!(2&F),D.terminationOnEachCodingPass=!!(4&F),D.verticalyStripe=!!(8&F),D.predictableTermination=!!(16&F),D.segmentationSymbolUsed=!!(32&F),D.reversibleTransformation=a[j++],D.entropyCoderWithCustomPrecincts){for(var G=[];r+h>j;){var H=a[j++];G.push({PPx:15&H,PPy:H>>4})}D.precinctsSizes=G}var I=[];if(D.selectiveArithmeticCodingBypass&&I.push("selectiveArithmeticCodingBypass"),D.resetContextProbabilities&&I.push("resetContextProbabilities"),D.terminationOnEachCodingPass&&I.push("terminationOnEachCodingPass"),D.verticalyStripe&&I.push("verticalyStripe"),D.predictableTermination&&I.push("predictableTermination"),I.length>0)throw g=!0,new Error("JPX Error: Unsupported COD options ("+I.join(", ")+")");f.mainHeader?f.COD=D:(f.currentTile.COD=D,f.currentTile.COC=[]);break;case 65424:r=readUint16(a,h),q={},q.index=readUint16(a,h+2),q.length=readUint32(a,h+4),q.dataEnd=q.length+h-2,q.partIndex=a[h+8],q.partsCount=a[h+9],f.mainHeader=!1,0===q.partIndex&&(q.COD=f.COD,q.COC=f.COC.slice(0),q.QCD=f.QCD,q.QCC=f.QCC.slice(0)),f.currentTile=q;break;case 65427:q=f.currentTile,0===q.partIndex&&(t(f,q.index),o(f)),r=q.dataEnd-h,p(f,a,h,r);break;case 65365:case 65367:case 65368:case 65380:r=readUint16(a,h);break;case 65363:throw new Error("JPX Error: Codestream code 0xFF53 (COC) is not implemented");default:throw new Error("JPX Error: Unknown codestream code: "+i.toString(16))}h+=r}}catch(J){if(g||this.failOnCorruptedImage)throw J;warn("Trying to recover from "+J.message)}this.tiles=s(f),this.width=f.SIZ.Xsiz-f.SIZ.XOsiz,this.height=f.SIZ.Ysiz-f.SIZ.YOsiz,this.componentsCount=f.SIZ.Csiz}};var v=function(){function a(a,b){var c=log2(Math.max(a,b))+1;this.levels=[];for(var d=0;c>d;d++){var e={width:a,height:b,items:[]};this.levels.push(e),a=Math.ceil(a/2),b=Math.ceil(b/2)}}return a.prototype={reset:function(a,b){for(var c,d=0,e=0;d>=1,b>>=1,d++}d--,c=this.levels[d],c.items[c.index]=e,this.currentLevel=d,delete this.value},incrementValue:function(){var a=this.levels[this.currentLevel];a.items[a.index]++},nextLevel:function(){var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];return a--,0>a?(this.value=c,!1):(this.currentLevel=a,b=this.levels[a],b.items[b.index]=c,!0)}},a}(),w=function(){function a(a,b){var c=log2(Math.max(a,b))+1;this.levels=[];for(var d=0;c>d;d++){for(var e=new Uint8Array(a*b),f=new Uint8Array(a*b),g=0,h=e.length;h>g;g++)e[g]=0,f[g]=0;var i={width:a,height:b,items:e,status:f};this.levels.push(i),a=Math.ceil(a/2),b=Math.ceil(b/2)}}return a.prototype={reset:function(a,b,c){this.currentStopValue=c;for(var d=0;d>=1,b>>=1,d++}this.currentLevel=this.levels.length-1,this.minValue=this.levels[this.currentLevel].items[0]},incrementValue:function(){var a=this.levels[this.currentLevel];a.items[a.index]=a.items[a.index]+1,a.items[a.index]>this.minValue&&(this.minValue=a.items[a.index])},nextLevel:function(){var a=this.currentLevel;if(a--,0>a)return!1;this.currentLevel=a;var b=this.levels[a];return b.items[b.index]this.minValue&&(this.minValue=b.items[b.index]),!0},isLeaf:function(){return 0===this.currentLevel},isAboveThreshold:function(){var a=this.currentLevel,b=this.levels[a];return b.items[b.index]>this.currentStopValue},isKnown:function(){var a=this.currentLevel,b=this.levels[a];return b.status[b.index]>0},setKnown:function(){var a=this.currentLevel,b=this.levels[a];b.status[b.index]=1}},a}(),x=function(){function a(a,b,c,g,h){this.width=a,this.height=b,this.contextLabelTable="HH"===c?f:"HL"===c?e:d;var i=a*b;this.neighborsSignificance=new Uint8Array(i),this.coefficentsSign=new Uint8Array(i),this.coefficentsMagnitude=h>14?new Uint32Array(i):h>6?new Uint16Array(i):new Uint8Array(i),this.processingFlags=new Uint8Array(i);var j=new Uint8Array(i);if(0!==g)for(var k=0;i>k;k++)j[k]=g;this.bitsDecoded=j,this.reset()}var b=17,c=18,d=new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8]),e=new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8]),f=new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8]);return a.prototype={setDecoder:function(a){this.decoder=a},reset:function(){this.contexts=new Int8Array(19),this.contexts[0]=8,this.contexts[b]=92,this.contexts[c]=6},setNeighborsSignificance:function(a,b,c){var d,e=this.neighborsSignificance,f=this.width,g=this.height,h=b>0,i=f>b+1;a>0&&(d=c-f,h&&(e[d-1]+=16),i&&(e[d+1]+=16),e[d]+=4),g>a+1&&(d=c+f,h&&(e[d-1]+=16),i&&(e[d+1]+=16),e[d]+=4),h&&(e[c-1]+=1),i&&(e[c+1]+=1),e[c]|=128},runSignificancePropogationPass:function(){for(var a=this.decoder,b=this.width,c=this.height,d=this.coefficentsMagnitude,e=this.coefficentsSign,f=this.neighborsSignificance,g=this.processingFlags,h=this.contexts,i=this.contextLabelTable,j=this.bitsDecoded,k=-2,l=1,m=2,n=0;c>n;n+=4)for(var o=0;b>o;o++)for(var p=n*b+o,q=0;4>q;q++,p+=b){var r=n+q;if(r>=c)break;if(g[p]&=k,!d[p]&&f[p]){var s=i[f[p]],t=a.readBit(h,s);if(t){var u=this.decodeSignBit(r,o,p);e[p]=u,d[p]=1,this.setNeighborsSignificance(r,o,p),g[p]|=m}j[p]++,g[p]|=l}}},decodeSignBit:function(a,b,c){var d,e,f,g,h,i,j=this.width,k=this.height,l=this.coefficentsMagnitude,m=this.coefficentsSign;g=b>0&&0!==l[c-1],j>b+1&&0!==l[c+1]?(f=m[c+1],g?(e=m[c-1],d=1-f-e):d=1-f-f):g?(e=m[c-1],d=1-e-e):d=0;var n=3*d;return g=a>0&&0!==l[c-j],k>a+1&&0!==l[c+j]?(f=m[c+j],g?(e=m[c-j],d=1-f-e+n):d=1-f-f+n):g?(e=m[c-j],d=1-e-e+n):d=n,d>=0?(h=9+d,i=this.decoder.readBit(this.contexts,h)):(h=9-d,i=1^this.decoder.readBit(this.contexts,h)),i},runMagnitudeRefinementPass:function(){for(var a,b=this.decoder,c=this.width,d=this.height,e=this.coefficentsMagnitude,f=this.neighborsSignificance,g=this.contexts,h=this.bitsDecoded,i=this.processingFlags,j=1,k=2,l=c*d,m=4*c,n=0;l>n;n=a){a=Math.min(l,n+m);for(var o=0;c>o;o++)for(var p=n+o;a>p;p+=c)if(e[p]&&0===(i[p]&j)){var q=16;if(0!==(i[p]&k)){i[p]^=k;var r=127&f[p];q=0===r?15:14}var s=b.readBit(g,q);e[p]=e[p]<<1|s,h[p]++,i[p]|=j}}},runCleanupPass:function(){for(var a,d=this.decoder,e=this.width,f=this.height,g=this.neighborsSignificance,h=this.coefficentsMagnitude,i=this.coefficentsSign,j=this.contexts,k=this.contextLabelTable,l=this.bitsDecoded,m=this.processingFlags,n=1,o=2,p=e,q=2*e,r=3*e,s=0;f>s;s=a){a=Math.min(s+4,f);for(var t=s*e,u=f>s+3,v=0;e>v;v++){var w,x=t+v,y=u&&0===m[x]&&0===m[x+p]&&0===m[x+q]&&0===m[x+r]&&0===g[x]&&0===g[x+p]&&0===g[x+q]&&0===g[x+r],z=0,A=x,B=s;if(y){var C=d.readBit(j,c);if(!C){l[x]++,l[x+p]++,l[x+q]++,l[x+r]++;continue}z=d.readBit(j,b)<<1|d.readBit(j,b),0!==z&&(B=s+z,A+=z*e),w=this.decodeSignBit(B,v,A),i[A]=w,h[A]=1,this.setNeighborsSignificance(B,v,A),m[A]|=o,A=x;for(var D=s;B>=D;D++,A+=e)l[A]++;z++}for(B=s+z;a>B;B++,A+=e)if(!h[A]&&0===(m[A]&n)){var E=k[g[A]],F=d.readBit(j,E);1===F&&(w=this.decodeSignBit(B,v,A),i[A]=w,h[A]=1,this.setNeighborsSignificance(B,v,A),m[A]|=o),l[A]++}}}},checkSegmentationSymbol:function(){var a=this.decoder,c=this.contexts,d=a.readBit(c,b)<<3|a.readBit(c,b)<<2|a.readBit(c,b)<<1|a.readBit(c,b);if(10!==d)throw new Error("JPX Error: Invalid segmentation symbol")}},a}(),y=function(){function a(){}return a.prototype.calculate=function(a,b,c){for(var d=a[0],e=1,f=a.length;f>e;e++)d=this.iterate(d,a[e],b,c);return d},a.prototype.extend=function(a,b,c){var d=b-1,e=b+1,f=b+c-2,g=b+c;a[d--]=a[e++],a[g++]=a[f--],a[d--]=a[e++],a[g++]=a[f--],a[d--]=a[e++],a[g++]=a[f--],a[d]=a[e],a[g]=a[f]},a.prototype.iterate=function(a,b,c,d){var e,f,g,h,i,j,k=a.width,l=a.height,m=a.items,n=b.width,o=b.height,p=b.items;for(g=0,e=0;l>e;e++)for(h=2*e*n,f=0;k>f;f++,g++,h+=2)p[h]=m[g];m=a.items=null;var q=4,r=new Float32Array(n+2*q);if(1===n){if(0!==(1&c))for(j=0,g=0;o>j;j++,g+=n)p[g]*=.5}else for(j=0,g=0;o>j;j++,g+=n)r.set(p.subarray(g,g+n),q),this.extend(r,q,n),this.filter(r,q,n),p.set(r.subarray(q,q+n),g);var s=16,t=[];for(e=0;s>e;e++)t.push(new Float32Array(o+2*q));var u,v=0;if(a=q+o,1===o){if(0!==(1&d))for(i=0;n>i;i++)p[i]*=.5}else for(i=0;n>i;i++){if(0===v){for(s=Math.min(n-i,s),g=i,h=q;a>h;g+=n,h++)for(u=0;s>u;u++)t[u][h]=p[g+u];v=s}v--;var w=t[v];if(this.extend(w,q,o),this.filter(w,q,o),0===v)for(g=i-s+1,h=q;a>h;g+=n,h++)for(u=0;s>u;u++)p[g+u]=t[u][h]}return{width:n,height:o,items:p}},a}(),z=function(){function a(){y.call(this)}return a.prototype=Object.create(y.prototype),a.prototype.filter=function(a,b,c){var d=c>>1;b=0|b;var e,f,g,h,i=-1.586134342059924,j=-.052980118572961,k=.882911075530934,l=.443506852043971,m=1.230174104914001,n=1/m;for(e=b-3,f=d+4;f--;e+=2)a[e]*=n;for(e=b-2,g=l*a[e-1],f=d+3;f--&&(h=l*a[e+1],a[e]=m*a[e]-g-h,f--);e+=2)e+=2,g=l*a[e+1],a[e]=m*a[e]-g-h;for(e=b-1,g=k*a[e-1],f=d+2;f--&&(h=k*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=k*a[e+1],a[e]-=g+h;for(e=b,g=j*a[e-1],f=d+1;f--&&(h=j*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=j*a[e+1],a[e]-=g+h;if(0!==d)for(e=b+1,g=i*a[e-1],f=d;f--&&(h=i*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=i*a[e+1],a[e]-=g+h},a}(),A=function(){function a(){y.call(this)}return a.prototype=Object.create(y.prototype),a.prototype.filter=function(a,b,c){var d=c>>1;b=0|b;var e,f;for(e=b,f=d+1;f--;e+=2)a[e]-=a[e-1]+a[e+1]+2>>2;for(e=b+1,f=d;f--;e+=2)a[e]+=a[e-1]+a[e+1]>>1},a}();return a}(),ArithmeticDecoder=function(){function a(a,b,c){this.data=a,this.bp=b,this.dataEnd=c,this.chigh=a[b],this.clow=0,this.byteIn(),this.chigh=this.chigh<<7&65535|this.clow>>9&127,this.clow=this.clow<<7&65535,this.ct-=7,this.a=32768}var b=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];return a.prototype={byteIn:function(){var a=this.data,b=this.bp;if(255===a[b]){var c=a[b+1];c>143?(this.clow+=65280,this.ct=8):(b++,this.clow+=a[b]<<9,this.ct=7,this.bp=b)}else b++,this.clow+=b65535&&(this.chigh+=this.clow>>16,this.clow&=65535)},readBit:function(a,c){var d,e=a[c]>>1,f=1&a[c],g=b[e],h=g.qe,i=this.a-h;if(this.chighi?(i=h,d=f,e=g.nmps):(i=h,d=1^f,1===g.switchFlag&&(f=d),e=g.nlps);else{if(this.chigh-=h,0!==(32768&i))return this.a=i,f;h>i?(d=1^f,1===g.switchFlag&&(f=d),e=g.nlps):(d=f,e=g.nmps)}do{0===this.ct&&this.byteIn(),i<<=1,this.chigh=this.chigh<<1&65535|this.clow>>15&1,this.clow=this.clow<<1&65535,this.ct--}while(0===(32768&i));return this.a=i,a[c]=e<<1|f,d}},a}(),globalScope="undefined"==typeof window?this:window,isWorker="undefined"==typeof window,FONT_IDENTITY_MATRIX=[.001,0,0,.001,0,0],TextRenderingMode={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},ImageKind={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},AnnotationType={WIDGET:1,TEXT:2,LINK:3},StreamType={UNKNOWN:0,FLATE:1,LZW:2,DCT:3,JPX:4,JBIG:5,A85:6,AHX:7,CCF:8,RL:9},FontType={UNKNOWN:0,TYPE1:1,TYPE1C:2,CIDFONTTYPE0:3,CIDFONTTYPE0C:4,TRUETYPE:5,CIDFONTTYPE2:6,TYPE3:7,OPENTYPE:8,TYPE0:9,MMTYPE1:10};globalScope.PDFJS||(globalScope.PDFJS={}),globalScope.PDFJS.pdfBug=!1,PDFJS.VERBOSITY_LEVELS={errors:0,warnings:1,infos:5};var OPS=PDFJS.OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91},UNSUPPORTED_FEATURES=PDFJS.UNSUPPORTED_FEATURES={unknown:"unknown",forms:"forms",javaScript:"javaScript",smask:"smask",shadingPattern:"shadingPattern",font:"font"},UnsupportedManager=PDFJS.UnsupportedManager=function(){var a=[];return{listen:function(b){a.push(b)},notify:function(b){warn('Unsupported feature "'+b+'"');for(var c=0,d=a.length;d>c;c++)a[c](b)}}}();PDFJS.isValidUrl=isValidUrl,PDFJS.shadow=shadow;var PasswordResponses=PDFJS.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},PasswordException=function(){function a(a,b){this.name="PasswordException",this.message=a,this.code=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.PasswordException=PasswordException;var UnknownErrorException=function(){function a(a,b){this.name="UnknownErrorException",this.message=a,this.details=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnknownErrorException=UnknownErrorException;var InvalidPDFException=function(){function a(a){this.name="InvalidPDFException",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.InvalidPDFException=InvalidPDFException;var MissingPDFException=function(){function a(a){this.name="MissingPDFException",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.MissingPDFException=MissingPDFException;var UnexpectedResponseException=function(){function a(a,b){this.name="UnexpectedResponseException",this.message=a,this.status=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnexpectedResponseException=UnexpectedResponseException;var NotImplementedException=function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name="NotImplementedException",a.constructor=a,a}(),MissingDataException=function(){function a(a,b){this.begin=a,this.end=b,this.message="Missing data ["+a+", "+b+")"}return a.prototype=new Error,a.prototype.name="MissingDataException",a.constructor=a,a}(),XRefParseException=function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name="XRefParseException",a.constructor=a,a}();Object.defineProperty(PDFJS,"isLittleEndian",{configurable:!0,get:function(){return shadow(PDFJS,"isLittleEndian",isLittleEndian())}}),Object.defineProperty(PDFJS,"hasCanvasTypedArrays",{configurable:!0,get:function(){return shadow(PDFJS,"hasCanvasTypedArrays",hasCanvasTypedArrays())}});var Uint32ArrayView=function(){function a(a,b){this.buffer=a,this.byteLength=a.length,this.length=void 0===b?this.byteLength>>2:b,c(this.length)}function b(a){return{get:function(){var b=this.buffer,c=a<<2;return(b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24)>>>0},set:function(b){var c=this.buffer,d=a<<2;c[d]=255&b,c[d+1]=b>>8&255,c[d+2]=b>>16&255,c[d+3]=b>>>24&255}}}function c(c){for(;c>d;)Object.defineProperty(a.prototype,d,b(d)),d++}a.prototype=Object.create(null);var d=0;return a}(),IDENTITY_MATRIX=[1,0,0,1,0,0],Util=PDFJS.Util=function(){function a(){}var b=["rgb(",0,",",0,",",0,")"];return a.makeCssRgb=function(a,c,d){return b[1]=a,b[3]=c,b[5]=d,b.join("")},a.transform=function(a,b){return[a[0]*b[0]+a[2]*b[1],a[1]*b[0]+a[3]*b[1],a[0]*b[2]+a[2]*b[3],a[1]*b[2]+a[3]*b[3],a[0]*b[4]+a[2]*b[5]+a[4],a[1]*b[4]+a[3]*b[5]+a[5]]},a.applyTransform=function(a,b){var c=a[0]*b[0]+a[1]*b[2]+b[4],d=a[0]*b[1]+a[1]*b[3]+b[5];return[c,d]},a.applyInverseTransform=function(a,b){var c=b[0]*b[3]-b[1]*b[2],d=(a[0]*b[3]-a[1]*b[2]+b[2]*b[5]-b[4]*b[3])/c,e=(-a[0]*b[1]+a[1]*b[0]+b[4]*b[1]-b[5]*b[0])/c;return[d,e]},a.getAxialAlignedBoundingBox=function(b,c){var d=a.applyTransform(b,c),e=a.applyTransform(b.slice(2,4),c),f=a.applyTransform([b[0],b[3]],c),g=a.applyTransform([b[2],b[1]],c);return[Math.min(d[0],e[0],f[0],g[0]),Math.min(d[1],e[1],f[1],g[1]),Math.max(d[0],e[0],f[0],g[0]),Math.max(d[1],e[1],f[1],g[1])]},a.inverseTransform=function(a){var b=a[0]*a[3]-a[1]*a[2];return[a[3]/b,-a[1]/b,-a[2]/b,a[0]/b,(a[2]*a[5]-a[4]*a[3])/b,(a[4]*a[1]-a[5]*a[0])/b]},a.apply3dTransform=function(a,b){return[a[0]*b[0]+a[1]*b[1]+a[2]*b[2],a[3]*b[0]+a[4]*b[1]+a[5]*b[2],a[6]*b[0]+a[7]*b[1]+a[8]*b[2]]},a.singularValueDecompose2dScale=function(a){var b=[a[0],a[2],a[1],a[3]],c=a[0]*b[0]+a[1]*b[2],d=a[0]*b[1]+a[1]*b[3],e=a[2]*b[0]+a[3]*b[2],f=a[2]*b[1]+a[3]*b[3],g=(c+f)/2,h=Math.sqrt((c+f)*(c+f)-4*(c*f-e*d))/2,i=g+h||1,j=g-h||1;return[Math.sqrt(i),Math.sqrt(j)]},a.normalizeRect=function(a){var b=a.slice(0);return a[0]>a[2]&&(b[0]=a[2],b[2]=a[0]),a[1]>a[3]&&(b[1]=a[3],b[3]=a[1]),b},a.intersect=function(b,c){function d(a,b){return a-b}var e=[b[0],b[2],c[0],c[2]].sort(d),f=[b[1],b[3],c[1],c[3]].sort(d),g=[];return b=a.normalizeRect(b),c=a.normalizeRect(c),e[0]===b[0]&&e[1]===c[0]||e[0]===c[0]&&e[1]===b[0]?(g[0]=e[1],g[2]=e[2],f[0]===b[1]&&f[1]===c[1]||f[0]===c[1]&&f[1]===b[1]?(g[1]=f[1],g[3]=f[2],g):!1):!1},a.sign=function(a){return 0>a?-1:1},a.appendToArray=function(a,b){Array.prototype.push.apply(a,b)},a.prependToArray=function(a,b){Array.prototype.unshift.apply(a,b)},a.extendObj=function(a,b){for(var c in b)a[c]=b[c]},a.getInheritableProperty=function(a,b){for(;a&&!a.has(b);)a=a.get("Parent");return a?a.get(b):null},a.inherit=function(a,b,c){a.prototype=Object.create(b.prototype),a.prototype.constructor=a;for(var d in c)a.prototype[d]=c[d]},a.loadScript=function(a,b){var c=document.createElement("script"),d=!1;c.setAttribute("src",a),b&&(c.onload=function(){d||b(),d=!0}),document.getElementsByTagName("head")[0].appendChild(c)},a}(),PageViewport=PDFJS.PageViewport=function(){function a(a,b,c,d,e,f){this.viewBox=a,this.scale=b,this.rotation=c,this.offsetX=d,this.offsetY=e;var g,h,i,j,k=(a[2]+a[0])/2,l=(a[3]+a[1])/2;switch(c%=360,c=0>c?c+360:c){case 180:g=-1,h=0,i=0,j=1;break;case 90:g=0,h=1,i=1,j=0;break;case 270:g=0,h=-1,i=-1,j=0;break;default:g=1,h=0,i=0,j=-1}f&&(i=-i,j=-j);var m,n,o,p;0===g?(m=Math.abs(l-a[1])*b+d,n=Math.abs(k-a[0])*b+e,o=Math.abs(a[3]-a[1])*b,p=Math.abs(a[2]-a[0])*b):(m=Math.abs(k-a[0])*b+d,n=Math.abs(l-a[1])*b+e,o=Math.abs(a[2]-a[0])*b,p=Math.abs(a[3]-a[1])*b),this.transform=[g*b,h*b,i*b,j*b,m-g*b*k-i*b*l,n-h*b*k-j*b*l],this.width=o,this.height=p,this.fontScale=b}return a.prototype={clone:function(b){b=b||{};var c="scale"in b?b.scale:this.scale,d="rotation"in b?b.rotation:this.rotation;return new a(this.viewBox.slice(),c,d,this.offsetX,this.offsetY,b.dontFlip)},convertToViewportPoint:function(a,b){return Util.applyTransform([a,b],this.transform)},convertToViewportRectangle:function(a){var b=Util.applyTransform([a[0],a[1]],this.transform),c=Util.applyTransform([a[2],a[3]],this.transform);return[b[0],b[1],c[0],c[1]]},convertToPdfPoint:function(a,b){return Util.applyInverseTransform([a,b],this.transform)}},a}(),PDFStringTranslateTable=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364];PDFJS.createPromiseCapability=createPromiseCapability,function(){function a(a){this._status=b,this._handlers=[];try{a.call(this,this._resolve.bind(this),this._reject.bind(this))}catch(c){this._reject(c)}}if(globalScope.Promise)return"function"!=typeof globalScope.Promise.all&&(globalScope.Promise.all=function(a){var b,c,d=0,e=[],f=new globalScope.Promise(function(a,d){b=a,c=d});return a.forEach(function(a,f){d++,a.then(function(a){e[f]=a,d--,0===d&&b(e)},c)}),0===d&&b(e),f}),"function"!=typeof globalScope.Promise.resolve&&(globalScope.Promise.resolve=function(a){return new globalScope.Promise(function(b){b(a)})}),"function"!=typeof globalScope.Promise.reject&&(globalScope.Promise.reject=function(a){return new globalScope.Promise(function(b,c){c(a)})}),void("function"!=typeof globalScope.Promise.prototype["catch"]&&(globalScope.Promise.prototype["catch"]=function(a){return globalScope.Promise.prototype.then(void 0,a)}));var b=0,c=1,d=2,e=500,f={handlers:[],running:!1,unhandledRejections:[],pendingRejectionCheck:!1,scheduleHandlers:function(a){a._status!==b&&(this.handlers=this.handlers.concat(a._handlers),a._handlers=[],this.running||(this.running=!0,setTimeout(this.runHandlers.bind(this),0)))},runHandlers:function(){for(var a=1,b=Date.now()+a;this.handlers.length>0;){var e=this.handlers.shift(),f=e.thisPromise._status,g=e.thisPromise._value;try{f===c?"function"==typeof e.onResolve&&(g=e.onResolve(g)):"function"==typeof e.onReject&&(g=e.onReject(g),f=c,e.thisPromise._unhandledRejection&&this.removeUnhandeledRejection(e.thisPromise))}catch(h){f=d,g=h}if(e.nextPromise._updateStatus(f,g),Date.now()>=b)break}return this.handlers.length>0?void setTimeout(this.runHandlers.bind(this),0):void(this.running=!1)},addUnhandledRejection:function(a){this.unhandledRejections.push({promise:a,time:Date.now()}),this.scheduleRejectionCheck()},removeUnhandeledRejection:function(a){a._unhandledRejection=!1;for(var b=0;be){var c=this.unhandledRejections[b].promise._value,d="Unhandled rejection: "+c;c.stack&&(d+="\n"+c.stack),warn(d),this.unhandledRejections.splice(b),b--}this.unhandledRejections.length&&this.scheduleRejectionCheck()}.bind(this),e))}};a.all=function(b){function c(a){g._status!==d&&(i=[],f(a))}var e,f,g=new a(function(a,b){e=a,f=b}),h=b.length,i=[];if(0===h)return e(i),g;for(var j=0,k=b.length;k>j;++j){var l=b[j],m=function(a){return function(b){g._status!==d&&(i[a]=b,h--,0===h&&e(i))}}(j);a.isPromise(l)?l.then(m,c):m(l)}return g},a.isPromise=function(a){return a&&"function"==typeof a.then},a.resolve=function(b){return new a(function(a){a(b)})},a.reject=function(b){return new a(function(a,c){c(b)})},a.prototype={_status:null,_value:null,_handlers:null,_unhandledRejection:null,_updateStatus:function(b,e){if(this._status!==c&&this._status!==d){if(b===c&&a.isPromise(e))return void e.then(this._updateStatus.bind(this,c),this._updateStatus.bind(this,d));this._status=b,this._value=e,b===d&&0===this._handlers.length&&(this._unhandledRejection=!0,f.addUnhandledRejection(this)),f.scheduleHandlers(this)}},_resolve:function(a){this._updateStatus(c,a)},_reject:function(a){this._updateStatus(d,a)},then:function(b,c){var d=new a(function(a,b){this.resolve=a,this.reject=b});return this._handlers.push({thisPromise:this,onResolve:b,onReject:c,nextPromise:d}),f.scheduleHandlers(this),d},catch:function(a){return this.then(void 0,a)}},globalScope.Promise=a}();var StatTimer=function(){function a(a,b,c){for(;a.lengthb;++b){var g=d[b].name;g.length>f&&(f=g.length)}for(b=0,c=d.length;c>b;++b){var h=d[b],i=h.end-h.start;e+=a(h.name," ",f)+" "+i+"ms\n"}return e}},b}();PDFJS.createBlob=function(a,b){if("undefined"!=typeof Blob)return new Blob([a],{type:b});var c=new MozBlobBuilder;return c.append(a),c.getBlob(b)},PDFJS.createObjectURL=function(){var a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return function(b,c){if(!PDFJS.disableCreateObjectURL&&"undefined"!=typeof URL&&URL.createObjectURL){var d=PDFJS.createBlob(b,c);return URL.createObjectURL(d)}for(var e="data:"+c+";base64,",f=0,g=b.length;g>f;f+=3){var h=255&b[f],i=255&b[f+1],j=255&b[f+2],k=h>>2,l=(3&h)<<4|i>>4,m=g>f+1?(15&i)<<2|j>>6:64,n=g>f+2?63&j:64;e+=a[k]+a[l]+a[m]+a[n]}return e}}(),MessageHandler.prototype={on:function(a,b,c){var d=this.actionHandler;d[a]&&error('There is already an actionName called "'+a+'"'),d[a]=[b,c]},send:function(a,b,c){var d={action:a,data:b};this.postMessage(d,c)},sendWithPromise:function(a,b,c){var d=this.callbackIndex++,e={action:a,data:b,callbackId:d},f=createPromiseCapability();this.callbacksCapabilities[d]=f;try{this.postMessage(e,c)}catch(g){f.reject(g)}return f.promise},postMessage:function(a,b){b&&this.postMessageTransfers?this.comObj.postMessage(a,b):this.comObj.postMessage(a)}};/*! OpenJPEG.js - v0.2.0 - 2016-06-07 | (c) 2016 Chris Hafey | https://github.com/chafey/openjpeg */ -var OpenJPEG=function(Module){Module=Module||{};var Module;if(!Module)Module=(typeof OpenJPEG!=="undefined"?OpenJPEG:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?function(x){dump(x)}:function(x){}}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=function(title){document.title=title}}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=function(){}}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:function(value){tempRet0=value},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(stackTop){STACKTOP=stackTop},getNativeTypeSize:function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}},getNativeFieldSize:function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr},getAlignSize:function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)},dynCall:function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}},functionPointers:[],addFunction:function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret},alignMemory:function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret},makeBigInt:function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret},stringToC:function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret}};var toC={string:JSfuncs["stringToC"],array:JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||4e8;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32};Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+25664;__ATINIT__.push();allocate([131,192,202,161,69,182,251,63,127,251,58,112,206,136,234,63,127,251,58,112,206,136,234,63,131,192,202,161,69,182,251,63,225,122,20,174,71,225,252,63,94,186,73,12,2,43,249,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,6,64,0,0,0,0,0,128,21,64,92,143,194,245,40,92,37,64,215,163,112,61,10,87,53,64,246,40,92,143,194,85,69,64,133,235,81,184,30,85,85,64,102,102,102,102,102,86,101,64,205,204,204,204,204,84,117,64,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,173,250,92,109,197,254,230,63,86,125,174,182,98,127,237,63,199,75,55,137,65,96,249,63,242,210,77,98,16,88,8,64,250,126,106,188,116,19,24,64,133,235,81,184,30,5,40,64,0,0,0,0,0,0,56,64,92,143,194,245,40,252,71,64,236,81,184,30,133,251,87,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,113,61,10,215,163,112,255,63,104,145,237,124,63,181,16,64,117,147,24,4,86,206,32,64,102,102,102,102,102,230,48,64,236,81,184,30,133,235,64,64,92,143,194,245,40,236,80,64,154,153,153,153,153,233,96,64,154,153,153,153,153,233,112,64,51,51,51,51,51,231,128,64,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,164,112,61,10,215,163,0,64,236,81,184,30,133,235,14,64,119,190,159,26,47,157,32,64,174,71,225,122,20,46,49,64,123,20,174,71,225,90,65,64,246,40,92,143,194,101,81,64,154,153,153,153,153,105,97,64,154,153,153,153,153,105,113,64,154,153,153,153,153,105,129,64,0,0,0,0,0,0,0,0,4,0,0,0,67,80,82,76,0,0,0,0,0,0,0,0,76,82,67,80,0,0,0,0,3,0,0,0,80,67,82,76,0,0,0,0,1,0,0,0,82,76,67,80,0,0,0,0,2,0,0,0,82,80,67,76,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,144,255,0,0,12,0,0,0,1,0,0,0,82,255,0,0,20,0,0,0,2,0,0,0,83,255,0,0,20,0,0,0,3,0,0,0,94,255,0,0,20,0,0,0,4,0,0,0,92,255,0,0,20,0,0,0,5,0,0,0,93,255,0,0,20,0,0,0,6,0,0,0,95,255,0,0,20,0,0,0,7,0,0,0,81,255,0,0,2,0,0,0,8,0,0,0,85,255,0,0,4,0,0,0,9,0,0,0,87,255,0,0,4,0,0,0,10,0,0,0,88,255,0,0,16,0,0,0,11,0,0,0,96,255,0,0,4,0,0,0,12,0,0,0,97,255,0,0,16,0,0,0,13,0,0,0,145,255,0,0,0,0,0,0,0,0,0,0,99,255,0,0,4,0,0,0,14,0,0,0,100,255,0,0,20,0,0,0,15,0,0,0,116,255,0,0,20,0,0,0,16,0,0,0,120,255,0,0,4,0,0,0,17,0,0,0,117,255,0,0,20,0,0,0,18,0,0,0,119,255,0,0,20,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,32,32,80,106,20,0,0,0,112,121,116,102,21,0,0,0,104,50,112,106,22,0,0,0,114,100,104,105,23,0,0,0,114,108,111,99,24,0,0,0,99,99,112,98,25,0,0,0,114,108,99,112,26,0,0,0,112,97,109,99,27,0,0,0,102,101,100,99,28,0,0,0,1,86,0,0,0,0,0,0,164,4,0,0,180,4,0,0,1,86,0,0,1,0,0,0,180,4,0,0,164,4,0,0,1,52,0,0,0,0,0,0,196,4,0,0,68,5,0,0,1,52,0,0,1,0,0,0,212,4,0,0,84,5,0,0,1,24,0,0,0,0,0,0,228,4,0,0,164,5,0,0,1,24,0,0,1,0,0,0,244,4,0,0,180,5,0,0,193,10,0,0,0,0,0,0,4,5,0,0,4,6,0,0,193,10,0,0,1,0,0,0,20,5,0,0,20,6,0,0,33,5,0,0,0,0,0,0,36,5,0,0,36,8,0,0,33,5,0,0,1,0,0,0,52,5,0,0,52,8,0,0,33,2,0,0,0,0,0,0,68,9,0,0,164,8,0,0,33,2,0,0,1,0,0,0,84,9,0,0,180,8,0,0,1,86,0,0,0,0,0,0,100,5,0,0,84,5,0,0,1,86,0,0,1,0,0,0,116,5,0,0,68,5,0,0,1,84,0,0,0,0,0,0,132,5,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,5,0,0,84,6,0,0,1,72,0,0,0,0,0,0,164,5,0,0,68,6,0,0,1,72,0,0,1,0,0,0,180,5,0,0,84,6,0,0,1,56,0,0,0,0,0,0,196,5,0,0,68,6,0,0,1,56,0,0,1,0,0,0,212,5,0,0,84,6,0,0,1,48,0,0,0,0,0,0,228,5,0,0,164,6,0,0,1,48,0,0,1,0,0,0,244,5,0,0,180,6,0,0,1,36,0,0,0,0,0,0,4,6,0,0,196,6,0,0,1,36,0,0,1,0,0,0,20,6,0,0,212,6,0,0,1,28,0,0,0,0,0,0,36,6,0,0,4,7,0,0,1,28,0,0,1,0,0,0,52,6,0,0,20,7,0,0,1,22,0,0,0,0,0,0,36,8,0,0,36,7,0,0,1,22,0,0,1,0,0,0,52,8,0,0,52,7,0,0,1,86,0,0,0,0,0,0,100,6,0,0,84,6,0,0,1,86,0,0,1,0,0,0,116,6,0,0,68,6,0,0,1,84,0,0,0,0,0,0,132,6,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,6,0,0,84,6,0,0,1,81,0,0,0,0,0,0,164,6,0,0,100,6,0,0,1,81,0,0,1,0,0,0,180,6,0,0,116,6,0,0,1,72,0,0,0,0,0,0,196,6,0,0,132,6,0,0,1,72,0,0,1,0,0,0,212,6,0,0,148,6,0,0,1,56,0,0,0,0,0,0,228,6,0,0,164,6,0,0,1,56,0,0,1,0,0,0,244,6,0,0,180,6,0,0,1,52,0,0,0,0,0,0,4,7,0,0,196,6,0,0,1,52,0,0,1,0,0,0,20,7,0,0,212,6,0,0,1,48,0,0,0,0,0,0,36,7,0,0,228,6,0,0,1,48,0,0,1,0,0,0,52,7,0,0,244,6,0,0,1,40,0,0,0,0,0,0,68,7,0,0,228,6,0,0,1,40,0,0,1,0,0,0,84,7,0,0,244,6,0,0,1,36,0,0,0,0,0,0,100,7,0,0,4,7,0,0,1,36,0,0,1,0,0,0,116,7,0,0,20,7,0,0,1,34,0,0,0,0,0,0,132,7,0,0,36,7,0,0,1,34,0,0,1,0,0,0,148,7,0,0,52,7,0,0,1,28,0,0,0,0,0,0,164,7,0,0,68,7,0,0,1,28,0,0,1,0,0,0,180,7,0,0,84,7,0,0,1,24,0,0,0,0,0,0,196,7,0,0,100,7,0,0,1,24,0,0,1,0,0,0,212,7,0,0,116,7,0,0,1,22,0,0,0,0,0,0,228,7,0,0,132,7,0,0,1,22,0,0,1,0,0,0,244,7,0,0,148,7,0,0,1,20,0,0,0,0,0,0,4,8,0,0,164,7,0,0,1,20,0,0,1,0,0,0,20,8,0,0,180,7,0,0,1,18,0,0,0,0,0,0,36,8,0,0,196,7,0,0,1,18,0,0,1,0,0,0,52,8,0,0,212,7,0,0,1,17,0,0,0,0,0,0,68,8,0,0,228,7,0,0,1,17,0,0,1,0,0,0,84,8,0,0,244,7,0,0,193,10,0,0,0,0,0,0,100,8,0,0,4,8,0,0,193,10,0,0,1,0,0,0,116,8,0,0,20,8,0,0,193,9,0,0,0,0,0,0,132,8,0,0,36,8,0,0,193,9,0,0,1,0,0,0,148,8,0,0,52,8,0,0,161,8,0,0,0,0,0,0,164,8,0,0,68,8,0,0,161,8,0,0,1,0,0,0,180,8,0,0,84,8,0,0,33,5,0,0,0,0,0,0,196,8,0,0,100,8,0,0,33,5,0,0,1,0,0,0,212,8,0,0,116,8,0,0,65,4,0,0,0,0,0,0,228,8,0,0,132,8,0,0,65,4,0,0,1,0,0,0,244,8,0,0,148,8,0,0,161,2,0,0,0,0,0,0,4,9,0,0,164,8,0,0,161,2,0,0,1,0,0,0,20,9,0,0,180,8,0,0,33,2,0,0,0,0,0,0,36,9,0,0,196,8,0,0,33,2,0,0,1,0,0,0,52,9,0,0,212,8,0,0,65,1,0,0,0,0,0,0,68,9,0,0,228,8,0,0,65,1,0,0,1,0,0,0,84,9,0,0,244,8,0,0,17,1,0,0,0,0,0,0,100,9,0,0,4,9,0,0,17,1,0,0,1,0,0,0,116,9,0,0,20,9,0,0,133,0,0,0,0,0,0,0,132,9,0,0,36,9,0,0,133,0,0,0,1,0,0,0,148,9,0,0,52,9,0,0,73,0,0,0,0,0,0,0,164,9,0,0,68,9,0,0,73,0,0,0,1,0,0,0,180,9,0,0,84,9,0,0,37,0,0,0,0,0,0,0,196,9,0,0,100,9,0,0,37,0,0,0,1,0,0,0,212,9,0,0,116,9,0,0,21,0,0,0,0,0,0,0,228,9,0,0,132,9,0,0,21,0,0,0,1,0,0,0,244,9,0,0,148,9,0,0,9,0,0,0,0,0,0,0,4,10,0,0,164,9,0,0,9,0,0,0,1,0,0,0,20,10,0,0,180,9,0,0,5,0,0,0,0,0,0,0,36,10,0,0,196,9,0,0,5,0,0,0,1,0,0,0,52,10,0,0,212,9,0,0,1,0,0,0,0,0,0,0,36,10,0,0,228,9,0,0,1,0,0,0,1,0,0,0,52,10,0,0,244,9,0,0,1,86,0,0,0,0,0,0,68,10,0,0,68,10,0,0,1,86,0,0,1,0,0,0,84,10,0,0,84,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,11,0,0,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,38,94,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,64,4,32,0,32,2,128,0,128,8,16,0,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,0,3,128,4,0,6,128,7,0,9,128,10,0,12,128,13,0,15,128,16,0,18,128,19,0,21,128,22,0,24,128,25,0,27,128,28,0,30,128,31,0,33,128,34,0,36,128,37,0,39,128,40,0,42,128,43,0,45,128,46,0,48,128,49,0,51,128,52,0,54,128,55,0,57,128,58,0,60,128,61,0,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,0,81,128,82,0,84,128,85,0,87,128,88,0,90,128,91,0,93,128,94,0,96,128,97,0,99,128,100,0,102,128,103,0,105,128,106,0,108,128,109,0,111,128,112,0,114,128,115,0,117,128,118,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,128,38,128,39,128,40,128,41,0,43,0,44,0,45,128,46,128,47,0,49,0,50,128,51,128,52,0,54,0,55,128,56,0,58,0,59,128,60,0,62,128,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,128,81,0,83,128,84,0,86,0,88,128,89,0,91,0,93,128,94,128,96,0,98,0,100,128,101,128,103,0,105,0,107,0,109,128,110,128,112,128,114,128,116,0,118,0,120,0,122,0,124,0,126,0,24,128,23,0,23,128,22,0,22,128,21,0,21,128,20,0,20,128,19,0,19,128,18,0,18,128,17,0,17,128,16,0,16,128,15,0,15,128,14,0,14,128,13,0,13,128,12,0,12,128,11,0,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,0,5,128,4,0,4,128,3,0,3,128,2,0,2,128,1,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,1,128,1,0,2,128,2,0,3,128,3,0,4,128,4,0,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,0,11,128,11,0,12,128,12,0,13,128,13,0,14,128,14,0,15,128,15,0,16,128,16,0,17,128,17,0,18,128,18,0,19,128,19,0,20,128,20,0,21,128,21,0,22,128,22,0,23,128,23,0,32,0,31,0,30,0,29,0,28,0,27,128,26,128,25,128,24,128,23,0,23,0,22,0,21,128,20,128,19,0,19,0,18,128,17,128,16,0,16,0,15,128,14,0,14,0,13,128,12,0,12,128,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,128,5,0,5,128,4,0,4,0,4,128,3,0,3,0,3,128,2,128,2,0,2,0,2,128,1,128,1,0,1,0,1,0,1,128,0,128,0,128,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,116,104,101,32,100,101,99,111,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,104,101,97,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,33,0,91,69,82,82,79,82,93,32,37,115,0,83,116,114,101,97,109,32,114,101,97,99,104,101,100,32,105,116,115,32,101,110,100,32,33,10,0,69,114,114,111,114,32,111,110,32,119,114,105,116,105,110,103,32,115,116,114,101,97,109,33,10,0,83,116,114,101,97,109,32,101,114,114,111,114,33,10,0,50,46,49,46,48,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,115,101,116,117,112,95,100,101,99,111,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,114,101,97,100,95,104,101,97,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,119,98,0,114,98,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,44,37,100,93,10,0,68,101,112,114,101,99,97,116,101,100,32,102,105,101,108,100,115,32,99,112,95,99,105,110,101,109,97,32,111,114,32,99,112,95,114,115,105,122,32,97,114,101,32,117,115,101,100,10,80,108,101,97,115,101,32,99,111,110,115,105,100,101,114,32,117,115,105,110,103,32,111,110,108,121,32,116,104,101,32,114,115,105,122,32,102,105,101,108,100,10,83,101,101,32,111,112,101,110,106,112,101,103,46,104,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,10,0,84,104,101,32,100,101,115,105,114,101,100,32,109,97,120,105,109,117,109,32,99,111,100,101,115,116,114,101,97,109,32,115,105,122,101,32,104,97,115,32,108,105,109,105,116,101,100,10,97,116,32,108,101,97,115,116,32,111,110,101,32,111,102,32,116,104,101,32,100,101,115,105,114,101,100,32,113,117,97,108,105,116,121,32,108,97,121,101,114,115,10,0,74,80,69,71,32,50,48,48,48,32,83,99,97,108,97,98,108,101,32,68,105,103,105,116,97,108,32,67,105,110,101,109,97,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,49,32,115,105,110,103,108,101,32,113,117,97,108,105,116,121,32,108,97,121,101,114,45,62,32,78,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,45,62,32,82,97,116,101,32,111,102,32,116,104,101,32,108,97,115,116,32,108,97,121,101,114,32,40,37,51,46,49,102,41,32,119,105,108,108,32,98,101,32,117,115,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,60,61,32,53,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,53,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,54,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,51,48,50,48,56,51,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,48,52,49,54,54,54,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,51,32,99,111,109,112,111,110,101,110,116,115,45,62,32,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,115,105,103,110,101,100,0,117,110,115,105,103,110,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,80,114,101,99,105,115,105,111,110,32,111,102,32,101,97,99,104,32,99,111,109,112,111,110,101,110,116,32,115,104,97,108,108,32,98,101,32,49,50,32,98,105,116,115,32,117,110,115,105,103,110,101,100,45,62,32,65,116,32,108,101,97,115,116,32,99,111,109,112,111,110,101,110,116,32,37,100,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,32,98,105,116,115,44,32,37,115,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,50,48,52,56,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,49,48,56,48,10,45,62,32,73,110,112,117,116,32,105,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,52,48,57,54,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,50,49,54,48,10,45,62,32,73,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,52,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,76,111,110,103,32,84,101,114,109,32,83,116,111,114,97,103,101,32,112,114,111,102,105,108,101,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,66,114,111,97,100,99,97,115,116,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,73,77,70,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,97,114,116,45,50,32,112,114,111,102,105,108,101,32,100,101,102,105,110,101,100,10,98,117,116,32,110,111,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,46,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,85,110,115,117,112,112,111,114,116,101,100,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,117,115,101,114,32,101,110,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,37,115,37,115,0,67,114,101,97,116,101,100,32,98,121,32,79,112,101,110,74,80,69,71,32,118,101,114,115,105,111,110,32,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,104,101,99,107,105,110,103,32,116,104,101,32,112,111,99,32,118,97,108,117,101,115,46,10,0,77,105,115,115,105,110,103,32,112,97,99,107,101,116,115,32,112,111,115,115,105,98,108,101,32,108,111,115,115,32,111,102,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,101,109,112,32,98,117,102,102,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,70,97,105,108,101,100,32,116,111,32,105,110,118,101,114,115,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,110,111,114,109,115,32,10,0,70,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,106,50,107,32,109,99,116,32,101,110,99,111,100,105,110,103,10,0,67,97,110,110,111,116,32,112,101,114,102,111,114,109,32,77,67,84,32,111,110,32,99,111,109,112,111,110,101,110,116,115,32,119,105,116,104,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,46,32,68,105,115,97,98,108,105,110,103,32,77,67,84,46,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,10,0,73,110,99,111,110,115,105,115,116,101,110,116,32,109,97,114,107,101,114,32,115,105,122,101,10,0,77,97,114,107,101,114,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,32,119,105,116,104,32,105,116,115,32,112,111,115,105,116,105,111,110,10,0,77,97,114,107,101,114,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,104,101,97,100,101,114,10,0,78,111,116,32,115,117,114,101,32,104,111,119,32,116,104,97,116,32,104,97,112,112,101,110,101,100,46,10,0,70,97,105,108,32,116,111,32,114,101,97,100,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,40,37,35,120,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,116,108,32,109,97,114,107,101,114,10,0,84,105,108,101,32,112,97,114,116,32,108,101,110,103,116,104,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,79,84,32,109,97,114,107,101,114,10,0,111,112,106,95,106,50,107,95,97,112,112,108,121,95,110,98,95,116,105,108,101,95,112,97,114,116,115,95,99,111,114,114,101,99,116,105,111,110,32,101,114,114,111,114,10,0,78,111,110,32,99,111,110,102,111,114,109,97,110,116,32,99,111,100,101,115,116,114,101,97,109,32,84,80,115,111,116,61,61,84,78,115,111,116,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,84,32,109,97,114,107,101,114,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,84,32,100,97,116,97,10,0,67,97,110,110,111,116,32,100,101,99,111,100,101,32,116,105,108,101,44,32,109,101,109,111,114,121,32,101,114,114,111,114,10,0,72,101,97,100,101,114,32,111,102,32,116,105,108,101,32,37,100,32,47,32,37,100,32,104,97,115,32,98,101,101,110,32,114,101,97,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,46,10,0,78,111,32,69,79,67,32,109,97,114,107,101,114,46,32,80,111,115,115,105,98,108,121,32,97,32,116,114,117,110,99,97,116,101,100,32,115,116,114,101,97,109,10,0,83,116,114,101,97,109,32,100,111,101,115,32,110,111,116,32,101,110,100,32,119,105,116,104,32,69,79,67,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,44,32,101,120,112,101,99,116,101,100,32,83,79,84,10,0,78,101,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,98,101,102,111,114,101,32,98,101,103,105,110,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,99,111,100,101,115,116,114,101,97,109,0,78,111,32,100,101,99,111,100,101,100,32,97,114,101,97,32,112,97,114,97,109,101,116,101,114,115,44,32,115,101,116,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,116,111,32,116,104,101,32,119,104,111,108,101,32,105,109,97,103,101,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,83,105,122,101,32,120,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,119,61,37,100,41,46,10,0,83,105,122,101,32,121,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,104,61,37,100,41,46,10,0,83,101,116,116,105,110,103,32,100,101,99,111,100,105,110,103,32,97,114,101,97,32,116,111,32,37,100,44,37,100,44,37,100,44,37,100,10,0,87,114,111,110,103,32,102,108,97,103,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,102,111,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,116,120,48,61,37,100,44,32,116,121,48,61,37,100,10,0,9,32,116,100,120,61,37,100,44,32,116,100,121,61,37,100,10,0,9,32,116,119,61,37,100,44,32,116,104,61,37,100,10,0,125,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,100,101,120,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,77,97,105,110,32,104,101,97,100,101,114,32,115,116,97,114,116,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,9,32,77,97,105,110,32,104,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([97,100,101,114,32,101,110,100,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,0,9,32,77,97,114,107,101,114,32,108,105,115,116,58,32,123,10,0,9,9,32,116,121,112,101,61,37,35,120,44,32,112,111,115,61,37,108,108,105,44,32,108,101,110,61,37,100,10,0,9,32,125,10,0,9,32,84,105,108,101,32,105,110,100,101,120,58,32,123,10,0,9,9,32,110,98,32,111,102,32,116,105,108,101,45,112,97,114,116,32,105,110,32,116,105,108,101,32,91,37,100,93,61,37,100,10,0,9,9,9,32,116,105,108,101,45,112,97,114,116,91,37,100,93,58,32,115,116,97,114,95,112,111,115,61,37,108,108,105,44,32,101,110,100,95,104,101,97,100,101,114,61,37,108,108,105,44,32,101,110,100,95,112,111,115,61,37,108,108,105,46,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,73,109,97,103,101,32,105,110,102,111,32,123,10,0,37,115,32,120,48,61,37,100,44,32,121,48,61,37,100,10,0,37,115,32,120,49,61,37,100,44,32,121,49,61,37,100,10,0,37,115,32,110,117,109,99,111,109,112,115,61,37,100,10,0,37,115,9,32,99,111,109,112,111,110,101,110,116,32,37,100,32,123,10,0,37,115,125,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,99,111,109,112,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,37,115,32,100,120,61,37,100,44,32,100,121,61,37,100,10,0,37,115,32,112,114,101,99,61,37,100,10,0,37,115,32,115,103,110,100,61,37,100,10,0,87,101,32,110,101,101,100,32,97,110,32,105,109,97,103,101,32,112,114,101,118,105,111,117,115,108,121,32,99,114,101,97,116,101,100,46,10,0,84,105,108,101,32,105,110,100,101,120,32,112,114,111,118,105,100,101,100,32,98,121,32,116,104,101,32,117,115,101,114,32,105,115,32,105,110,99,111,114,114,101,99,116,32,37,100,32,40,109,97,120,32,61,32,37,100,41,32,10,0,82,101,115,111,108,117,116,105,111,110,32,102,97,99,116,111,114,32,105,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,116,104,101,32,109,97,120,105,109,117,109,32,114,101,115,111,108,117,116,105,111,110,32,105,110,32,116,104,101,32,99,111,109,112,111,110,101,110,116,46,10,0,84,104,101,32,103,105,118,101,110,32,116,105,108,101,32,105,110,100,101,120,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,46,0,116,105,108,101,32,110,117,109,98,101,114,32,37,100,32,47,32,37,100,10,0,69,114,114,111,114,32,97,108,108,111,99,97,116,105,110,103,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,100,97,116,97,46,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,101,110,99,111,100,101,32,97,108,108,32,116,105,108,101,115,10,0,83,105,122,101,32,109,105,115,109,97,116,99,104,32,98,101,116,119,101,101,110,32,116,105,108,101,32,100,97,116,97,32,97,110,100,32,115,101,110,116,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,105,109,97,103,101,32,104,101,97,100,101,114,46,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,114,101,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,111,115,116,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,105,108,101,32,67,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,66,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,84,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,79,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,116,104,101,32,67,79,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,80,79,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,84,76,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,81,99,100,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,104,101,32,83,73,90,32,109,97,114,107,101,114,10,0,78,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,105,115,32,116,111,111,32,104,105,103,104,32,105,110,32,99,111,109,112,97,114,105,115,111,110,32,116,111,32,116,104,101,32,115,105,122,101,32,111,102,32,116,105,108,101,115,10,0,67,97,110,110,111,116,32,101,110,99,111,100,101,32,116,105,108,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,111,110,101,32,116,105,108,101,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,101,101,107,32,102,117,110,99,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,84,105,108,101,32,37,100,47,37,100,32,104,97,115,32,98,101,101,110,32,100,101,99,111,100,101,100,46,10,0,73,109,97,103,101,32,100,97,116,97,32,104,97,115,32,98,101,101,110,32,117,112,100,97,116,101,100,32,119,105,116,104,32,116,105,108,101,32,37,100,46,10,10,0,84,105,108,101,32,114,101,97,100,44,32,100,101,99,111,100,101,100,32,97,110,100,32,117,112,100,97,116,101,100,32,105,115,32,110,111,116,32,116,104,101,32,100,101,115,105,114,101,100,32,111,110,101,32,40,37,100,32,118,115,32,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,115,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,9,32,100,101,102,97,117,108,116,32,116,105,108,101,32,123,10,0,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,32,112,114,103,61,37,35,120,10,0,9,9,32,110,117,109,108,97,121,101,114,115,61,37,100,10,0,9,9,32,109,99,116,61,37,120,10,0,9,9,32,99,111,109,112,32,37,100,32,123,10,0,9,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,9,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,61,37,100,10,0,9,9,9,32,99,98,108,107,119,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,104,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,115,116,121,61,37,35,120,10,0,9,9,9,32,113,109,102,98,105,100,61,37,100,10,0,9,9,9,32,112,114,101,99,99,105,110,116,115,105,122,101,32,40,119,44,104,41,61,0,40,37,100,44,37,100,41,32,0,9,9,9,32,113,110,116,115,116,121,61,37,100,10,0,9,9,9,32,110,117,109,103,98,105,116,115,61,37,100,10,0,9,9,9,32,115,116,101,112,115,105,122,101,115,32,40,109,44,101,41,61,0,9,9,9,32,114,111,105,115,104,105,102,116,61,37,100,10,0,9,9,32,125,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,79,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,115,116,97,103,101,115,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,100,97,116,97,32,115,112,97,110,110,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,99,111,108,108,101,99,116,105,111,110,115,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,111,116,104,101,114,32,116,104,97,110,32,97,114,114,97,121,32,100,101,99,111,114,114,101,108,97,116,105,111,110,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,32,105,110,100,105,120,32,115,104,117,102,102,108,101,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,111,117,116,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,105,110,100,105,120,101,115,10,0,67,114,114,111,114,32,114,101,97,100,105,110,103,32,67,66,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,99,116,32,100,97,116,97,32,119,105,116,104,105,110,32,109,117,108,116,105,112,108,101,32,77,67,84,32,114,101,99,111,114,100,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,77,67,84,32,109,97,114,107,101,114,115,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,82,71,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,58,32,112,97,99,107,101,116,32,104,101,97,100,101,114,32,104,97,118,101,32,98,101,101,110,32,112,114,101,118,105,111,117,115,108,121,32,102,111,117,110,100,32,105,110,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,40,80,80,77,32,109,97,114,107,101,114,41,46,10,0,90,112,112,116,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,77,32,109,97,114,107,101,114,10,0,90,112,112,109,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,84,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,105,108,108,101,103,97,108,32,45,62,32,37,100,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,110,111,116,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,110,117,109,98,101,114,32,111,102,32,112,97,114,97,109,101,116,101,114,115,32,40,32,37,100,32,118,115,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,101,103,97,116,105,118,101,32,111,114,32,122,101,114,111,32,105,109,97,103,101,32,115,105,122,101,32,40,37,100,32,120,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,110,118,97,108,105,100,32,116,105,108,101,32,115,105,122,101,32,40,116,100,120,58,32,37,100,44,32,116,100,121,58,32,37,100,41,10,0,80,114,101,118,101,110,116,32,98,117,102,102,101,114,32,111,118,101,114,102,108,111,119,32,40,120,49,58,32,37,100,44,32,121,49,58,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,108,108,101,103,97,108,32,116,105,108,101,32,111,102,102,115,101,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,83,73,90,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,115,32,102,111,114,32,99,111,109,112,32,61,32,37,100,32,58,32,100,120,61,37,117,32,100,121,61,37,117,10,32,40,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,50,53,53,32,97,99,99,111,114,100,105,110,103,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,41,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,115,32,58,32,37,117,32,120,32,37,117,32,40,109,97,120,105,109,117,109,32,102,105,120,101,100,32,98,121,32,106,112,101,103,50,48,48,48,32,110,111,114,109,32,105,115,32,54,53,53,51,53,32,116,105,108,101,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,79,67,32,109,97,114,107,101,114,10,0,84,111,111,32,109,97,110,121,32,80,79,67,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,67,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,58,32,37,100,44,32,114,101,103,97,114,100,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,81,99,100,32,111,114,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,87,104,105,108,101,32,114,101,97,100,105,110,103,32,67,67,80,95,81,78,84,83,84,89,32,101,108,101,109,101,110,116,32,105,110,115,105,100,101,32,81,67,68,32,111,114,32,81,67,67,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,44,32,110,117,109,98,101,114,32,111,102,32,115,117,98,98,97,110,100,115,32,40,37,100,41,32,105,115,32,103,114,101,97,116,101,114,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,46,32,83,111,32,119,101,32,108,105,109,105,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,115,116,111,114,101,100,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,32,97,110,100,32,115,107,105,112,32,116,104,101,32,114,101,115,116,46,32,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,82,71,78,32,109,97,114,107,101,114,10,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,32,105,110,32,82,71,78,32,40,37,100,32,119,104,101,110,32,116,104,101,114,101,32,97,114,101,32,111,110,108,121,32,37,100,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,32,40,98,97,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,102,111,114,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,44,32,109,97,120,32,118,97,108,117,101,32,105,115,32,115,101,116,32,105,110,32,111,112,101,110,106,112,101,103,46,104,32,97,116,32,37,100,10,0,69,114,114,111,114,32,100,101,99,111,100,105,110,103,32,99,111,109,112,111,110,101,110,116,32,37,100,46,10,84,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,116,111,32,114,101,109,111,118,101,32,105,115,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,111,102,32,116,104,105,115,32,99,111,109,112,111,110,101,110,116,10,77,111,100,105,102,121,32,116,104,101,32,99,112,95,114,101,100,117,99,101,32,112,97,114,97,109,101,116,101,114,46,10,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,44,32,73,110,118,97,108,105,100,32,99,98,108,107,119,47,99,98,108,107,104,32,99,111,109,98,105,110,97,116,105,111,110,10,0,73,110,118,97,108,105,100,32,112,114,101,99,105,110,99,116,32,115,105,122,101,10,0,67,79,68,32,109,97,114,107,101,114,32,97,108,114,101,97,100,121,32,114,101,97,100,46,32,78,111,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,67,79,68,32,109,97,114,107,101,114,32,112,101,114,32,116,105,108,101,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,83,99,111,100,32,118,97,108,117,101,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,112,114,111,103,114,101,115,115,105,111,110,32,111,114,100,101,114,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,105,110,32,67,79,68,32,109,97,114,107,101,114,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,45,54,53,53,51,53,93,10,0,73,110,118,97,108,105,100,32,116,105,108,101,32,110,117,109,98,101,114,32,37,100,10,0,69,109,112,116,121,32,83,79,84,32,109,97,114,107,101,114,32,100,101,116,101,99,116,101,100,58,32,80,115,111,116,61,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,105,115,32,110,111,116,32,99,111,114,114,101,99,116,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,58,32,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,108,101,45,112,97,114,116,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,44,32,119,101,32,97,115,115,117,109,105,110,103,32,105,116,32,105,115,32,116,104,101,32,108,97,115,116,32,116,105,108,101,45,112,97,114,116,32,111,102,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,46,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,104,101,97,100,101,114,41,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,83,79,84,32,109,97,114,107,101,114,46,32,84,105,108,101,32,105,110,100,101,120,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,10,0,83,116,97,114,116,32,116,111,32,114,101,97,100,32,106,50,107,32,109,97,105,110,32,104,101,97,100,101,114,32,40,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,109,104,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,97,32,83,79,67,32,109,97,114,107,101,114,32,10,0,65,32,109,97,114,107,101,114,32,73,68,32,119,97,115,32,101,120,112,101,99,116,101,100,32,40,48,120,102,102,45,45,41,32,105,110,115,116,101,97,100,32,111,102,32,37,46,56,120,10,0,85,110,107,110,111,119,110,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,32,109,97,114,107,101,114,32,104,97,118,101,32,98,101,101,110,32,100,101,116,101,99,116,101,100,32,97,110,100,32,103,101,110,101,114,97,116,101,100,32,101,114,114,111,114,46,10,0,77,97,114,107,101,114,32,104,97,110,100,108,101,114,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,10,0,114,101,113,117,105,114,101,100,32,83,73,90,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,67,79,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,81,67,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,98,121,116,101,115,32,116,111,32,114,101,97,100,32,78,112,112,109,10,0,67,111,114,114,117,112,116,101,100,32,80,80,77,32,109,97,114,107,101,114,115,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,77,32,100,97,116,97,10,0,77,97,105,110,32,104,101,97,100,101,114,32,104,97,115,32,98,101,101,110,32,99,111,114,114,101,99,116,108,121,32,100,101,99,111,100,101,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,105,110,32,116,104,101,32,74,80,50,32,102,105,108,101,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,115,112,101,99,105,102,105,101,100,32,119,104,105,108,101,32,115,101,116,116,105,110,103,32,117,112,32,74,80,50,32,101,110,99,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,104,101,110,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,117,110,107,110,111,119,110,32,101,110,117,109,99,115,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,110,111,116,32,101,110,111,117,103,104,32,105,109,97,103,101,32,99,111,109,112,111,110,101,110,116,115,32,102,111,114,32,97,110,32,97,117,116,111,109,97,116,105,99,32,99,100,101,102,32,98,111,120,32,99,114,101,97,116,105,111,110,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,112,111,115,105,116,105,111,110,32,99,111,110,102,108,105,99,116,115,32,119,105,116,104,32,99,111,108,111,114,32,99,104,97,110,110,101,108,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,77,117,108,116,105,112,108,101,32,97,108,112,104,97,32,99,104,97,110,110,101,108,115,32,115,112,101,99,105,102,105,101,100,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,74,80,50,32,98,111,120,32,119,104,105,99,104,32,97,114,101,32,97,102,116,101,114,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,110,111,116,32,98,101,32,114,101,97,100,32,98,121,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,111,108,100,32,74,80,50,32,72,101,97,100,101,114,32,100,97,116,97,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,102,116,121,112,32,100,97,116,97,10,0,69,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,102,116,121,112,32,100,97,116,97,32,116,111,32,115,116,114,101,97,109,10,0,70,97,105,108,101,100,32,116,111,32,115,101,101,107,32,105,110,32,116,104,101,32,115,116,114,101,97,109,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,102,105,108,101,32,104,101,97,100,101,114,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,115,105,122,101,115,32,104,105,103,104,101,114,32,116,104,97,110,32,50,94,51,50,10,0,98,97,100,32,112,108,97,99,101,100,32,106,112,101,103,32,99,111,100,101,115,116,114,101,97,109,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,117,110,100,101,102,105,110,101,100,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,40,37,120,41,10,0,70,111,117,110,100,32,97,32,109,105,115,112,108,97,99,101,100,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,111,117,116,115,105,100,101,32,106,112,50,104,32,98,111,120,10,0,74,80,69,71,50,48,48,48,32,72,101,97,100,101,114,32,98,111,120,32,110,111,116,32,114,101,97,100,32,121,101,116,44,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,107,105,112,112,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,73,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,102,111,114,32,98,111,120,32,39,37,99,37,99,37,99,37,99,39,46,32,78,101,101,100,32,37,100,32,98,121,116,101,115,44,32,37,100,32,98,121,116,101,115,32,114,101,109,97,105,110,105,110,103,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,98,111,120,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,114,101,97,100,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,102,105,114,115,116,32,98,111,120,32,109,117,115,116,32,98,101,32,74,80,69,71,32,50,48,48,48,32,115,105,103,110,97,116,117,114,101,32,98,111,120,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,115,101,99,111,110,100,32,98,111,120,32,109,117,115,116,32,98,101,32,102,105,108,101,32,116,121,112,101,32,98,111,120,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,68,69,70,32,98,111,120,46,10,0,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,32,100,101,115,99,114,105,112,116,105,111,110,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,32,105,110,32,67,68,69,70,32,98,111,120,46,10,0,78,101,101,100,32,116,111,32,114,101,97,100,32,97,32,80,67,76,82,32,98,111,120,32,98,101,102,111,114,101,32,116,104,101,32,67,77,65,80,32,98,111,120,46,10,0,79,110,108,121,32,111,110,101,32,67,77,65,80,32,98,111,120,32,105,115,32,97,108,108,111,119,101,100,46,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,77,65,80,32,98,111,120,46,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,37,100,32,101,110,116,114,105,101,115,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,48,32,112,97,108,101,116,116,101,32,99,111,108,117,109,110,115,10,0,65,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,105,115,32,97,118,97,105,108,97,98,108,101,32,97,108,116,104,111,117,103,104,32,66,80,67,32,103,105,118,101,110,32,98,121,32,116,104,101,32,73,72,68,82,32,98,111,120,32,40,37,100,41,32,105,110,100,105,99,97,116,101,32,99,111,109,112,111,110,101,110,116,115,32,98,105,116,32,100,101,112,116,104,32,105,115,32,99,111,110,115,116,97,110,116,10,0,66,97,100,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,65,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,114,101,97,100,101,114,32,115,104,97,108,108,32,105,103,110,111,114,101,32,97,108,108,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,101,115,32,97,102,116,101,114,32,116,104,101,32,102,105,114,115,116,44,32,115,111,32,119,101,32,105,103,110,111,114,101,32,116,104,105,115,32,111,110,101,46,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,67,73,69,76,97,98,44,32,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,67,79,76,82,32,66,79,88,32,109,101,116,104,32,118,97,108,117,101,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,118,97,108,117,101,32,40,37,100,41,44,32,115,111,32,119,101,32,119,105,108,108,32,105,103,110,111,114,101,32,116,104,101,32,101,110,116,105,114,101,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,46,32,10,0,66,97,100,32,105,109,97,103,101,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,105,109,97,103,101,32,104,101,97,100,101,114,32,40,105,104,100,114,41,10,0,74,80,50,32,73,72,68,82,32,98,111,120,58,32,99,111,109,112,114,101,115,115,105,111,110,32,116,121,112,101,32,105,110,100,105,99,97,116,101,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,97,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,102,105,108,101,32,40,37,100,41,32,10,0,84,104,101,32,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,56,32,98,121,116,101,115,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,88,76,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,49,54,32,98,121,116,101,115,10,0,66,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,98,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,110,111,32,39,105,104,100,114,39,32,98,111,120,46,10,0,84,104,101,32,102,116,121,112,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,115,101,99,111,110,100,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,70,84,89,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,105,116,104,32,70,84,89,80,32,66,111,120,10,0,84,104,101,32,115,105,103,110,97,116,117,114,101,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,83,105,103,110,97,116,117,114,101,32,58,32,98,97,100,32,109,97,103,105,99,32,110,117,109,98,101,114,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,97,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,105,110,100,101,120,32,37,100,32,40,62,61,32,37,100,41,46,10,0,73,110,99,111,109,112,108,101,116,101,32,99,104,97,110,110,101,108,32,100,101,102,105,110,105,116,105,111,110,115,46,10,0,85,110,101,120,112,101,99,116,101,100,32,79,79,77,46,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,47,112,97,108,101,116,116,101,32,105,110,100,101,120,32,102,111,114,32,100,105,114,101,99,116,32,109,97,112,112,105,110,103,32,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,105,115,32,109,97,112,112,101,100,32,116,119,105,99,101,46,10,0,68,105,114,101,99,116,32,117,115,101,32,97,116,32,35,37,100,32,104,111,119,101,118,101,114,32,112,99,111,108,61,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,100,111,101,115,110,39,116,32,104,97,118,101,32,97,32,109,97,112,112,105,110,103,46,10,0,67,111,109,112,111,110,101,110,116,32,109,97,112,112,105,110,103,32,115,101,101,109,115,32,119,114,111,110,103,46,32,84,114,121,105,110,103,32,116,111,32,99,111,114,114,101,99,116,46,10,0,84,105,108,101,115,32,100,111,110,39,116,32,97,108,108,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,100,105,109,101,110,115,105,111,110,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,40,37,100,41,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,97,32,77,67,84,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,116,105,108,101,115,32,114,101,113,117,105,114,101,32,97,116,32,108,101,97,115,116,32,111,110,101,32,114,101,115,111,108,117,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,114,101,115,111,108,117,116,105,111,110,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,98,97,110,100,32,112,114,101,99,105,110,116,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,117,114,114,101,110,116,32,112,114,101,99,105,110,99,116,32,99,111,100,101,98,108,111,99,107,32,101,108,101,109,101,110,116,10,0,78,111,32,105,110,99,108,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,32,105,109,115,98,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,10,0,116,103,116,95,99,114,101,97,116,101,32,116,114,101,101,45,62,110,117,109,110,111,100,101,115,32,61,61,32,48,44,32,110,111,32,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,32,110,111,100,101,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,116,97,103,32,116,114,101,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,97,32,110,101,119,32,118,97,108,105,100,97,116,105,111,110,32,112,114,111,99,101,100,117,114,101,10,0,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,3,3,6,3,6,6,8,3,6,6,8,6,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,1,0,1,1,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,1,1,0,0,1,1,1,0,0,1,0,0,1,1,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,99,117,114,114,101,110,116,32,115,105,122,101,32,40,37,100,32,62,32,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,115,107,105,112,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+25118);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}Module["_i64Subtract"]=_i64Subtract;var _floorf=Math_floor;Module["_bitshift64Ashr"]=_bitshift64Ashr;var _SItoF=true;Module["_memset"]=_memset;var _BDtoILow=true;var _ceilf=Math_ceil;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}Module["_i64Add"]=_i64Add;var _floor=Math_floor;var _sqrt=Math_sqrt;var PATH=undefined;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}});if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||function(){};canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){Module["noExitRuntime"]=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){Module["noExitRuntime"]=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},xhrLoad:function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)},asyncLoad:function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(!noRunDep)addRunDependency("al "+url)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];return ret},getStr:function(){var ret=Pointer_stringify(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push(function(){Runtime.dynCall("vi",routine,[arg])});_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _llvm_pow_f64=Math_pow;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")}}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}var _BItoD=true;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer)___syscall146.buffer=[];var buffer=___syscall146.buffer;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE>2]=d;if((c[a+8>>2]|0)==16)k=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else k=c[a+12>>2]|0;g=(c[a+80>>2]|0)+16|0;h=(c[g>>2]|0)>>>0<257?1:2;j=h+1|0;if(j>>>0>d>>>0){Ub(e,1,14585,m)|0;e=0;i=m;return e|0}c[f>>2]=d-j;qb(b,l,h);d=c[l>>2]|0;if(d>>>0>=(c[g>>2]|0)>>>0){Ub(e,1,14611,m+8|0)|0;e=0;i=m;return e|0}qb(b+h|0,(c[k+5584>>2]|0)+(d*1080|0)|0,1);if(!(Fe(a,c[l>>2]|0,b+j|0,f,e)|0)){Ub(e,1,14585,m+16|0)|0;e=0;i=m;return e|0}if(!(c[f>>2]|0)){e=1;i=m;return e|0}Ub(e,1,14585,m+24|0)|0;e=0;i=m;return e|0}function ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+8|0;f=k+20|0;h=c[(c[a+80>>2]|0)+16>>2]|0;g=h>>>0<257?1:2;if((g+2|0)!=(d|0)){Ub(e,1,14502,k)|0;j=0;i=k;return j|0}if((c[a+8>>2]|0)==16)a=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else a=c[a+12>>2]|0;qb(b,f,g);qb(b+g|0,k+16|0,1);d=c[f>>2]|0;if(d>>>0>>0){qb(b+(g+1)|0,(c[a+5584>>2]|0)+(d*1080|0)+808|0,1);j=1;i=k;return j|0}else{c[j>>2]=d;c[j+4>>2]=h;Ub(e,1,14528,j)|0;j=0;i=k;return j|0}return 0}function he(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+12|0;c[f>>2]=d;if(!(Ee(a,0,b,f,e)|0)){Ub(e,1,14476,h)|0;g=0;i=h;return g|0}if(c[f>>2]|0){Ub(e,1,14476,h+8|0)|0;g=0;i=h;return g|0}if((c[a+8>>2]|0)==16)f=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else f=c[a+12>>2]|0;f=c[f+5584>>2]|0;d=a+80|0;if((c[(c[d>>2]|0)+16>>2]|0)>>>0<=1){g=1;i=h;return g|0}e=f+24|0;a=f+804|0;g=f+28|0;b=1;while(1){c[f+1104>>2]=c[e>>2];c[f+1884>>2]=c[a>>2];Ui(f+1108|0,g|0,776)|0;b=b+1|0;if(b>>>0>=(c[(c[d>>2]|0)+16>>2]|0)>>>0){f=1;break}else f=f+1080|0}i=h;return f|0}function ie(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o+32|0;m=o+24|0;l=o+16|0;g=o+8|0;f=o;k=o+40|0;h=o+36|0;c[k>>2]=d;j=a+80|0;do{if((c[(c[j>>2]|0)+16>>2]|0)>>>0<257){if(d){qb(b,h,1);g=b+1|0;b=d+-1|0;break}Ub(e,1,14129,f)|0;n=0;i=o;return n|0}else{if(d>>>0>=2){qb(b,h,2);g=b+2|0;b=d+-2|0;break}Ub(e,1,14129,g)|0;n=0;i=o;return n|0}}while(0);c[k>>2]=b;f=c[h>>2]|0;b=c[(c[j>>2]|0)+16>>2]|0;if(f>>>0>=b>>>0){c[l>>2]=f;c[l+4>>2]=b;Ub(e,1,14155,l)|0;n=0;i=o;return n|0}if(!(Ee(a,f,g,k,e)|0)){Ub(e,1,14129,m)|0;n=0;i=o;return n|0}if(!(c[k>>2]|0)){n=1;i=o;return n|0}Ub(e,1,14129,n)|0;n=0;i=o;return n|0}function je(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+16|0;h=t+8|0;s=t+12|0;r=c[(c[b+80>>2]|0)+16>>2]|0;q=r>>>0<257?1:2;p=(q<<1)+5|0;g=(e>>>0)/(p>>>0)|0;if((g|0)==0|((e>>>0)%(p>>>0)|0|0)!=0){Ub(f,1,14085,t)|0;s=0;i=t;return s|0}if((c[b+8>>2]|0)==16)p=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else p=c[b+12>>2]|0;e=p+5636|0;b=a[e>>0]|0;if(!(b&4))o=0;else o=(c[p+420>>2]|0)+1|0;n=o+g|0;if(n>>>0>31){c[h>>2]=n;Ub(f,1,14111,h)|0;s=0;i=t;return s|0}a[e>>0]=b|4;if(o>>>0>>0){f=q+1|0;m=p+8|0;h=q+3|0;j=q|4;k=j+q|0;l=k+1|0;b=d;g=o;e=p+424+(o*148|0)|0;while(1){qb(b,e,1);qb(b+1|0,e+4|0,q);d=e+8|0;qb(b+f|0,d,2);u=c[d>>2]|0;o=c[m>>2]|0;c[d>>2]=u>>>0>>0?u:o;qb(b+h|0,e+12|0,1);d=e+16|0;qb(b+j|0,d,q);qb(b+k|0,s,1);c[e+36>>2]=c[s>>2];o=c[d>>2]|0;c[d>>2]=o>>>0>>0?o:r;g=g+1|0;if(g>>>0>=n>>>0)break;else{b=b+l|0;e=e+148|0}}}c[p+420>>2]=n+-1;u=1;i=t;return u|0}function ke(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+144|0;L=M+128|0;H=M+120|0;G=M+112|0;F=M+104|0;E=M+96|0;D=M+88|0;A=M+72|0;t=M+64|0;r=M+56|0;q=M+48|0;p=M+40|0;s=M+32|0;l=M+24|0;j=M+16|0;h=M+136|0;w=M+132|0;J=c[d+80>>2]|0;K=d+88|0;if(f>>>0<36){Ub(g,1,13440,M)|0;g=0;i=M;return g|0}I=f+-36|0;o=(I>>>0)/3|0;if((I>>>0)%3|0){Ub(g,1,13440,M+8|0)|0;g=0;i=M;return g|0}qb(e,h,2);b[K>>1]=c[h>>2];x=J+8|0;qb(e+2|0,x,4);B=J+12|0;qb(e+6|0,B,4);qb(e+10|0,J,4);n=J+4|0;qb(e+14|0,n,4);v=d+100|0;qb(e+18|0,v,4);z=d+104|0;qb(e+22|0,z,4);u=d+92|0;qb(e+26|0,u,4);y=d+96|0;qb(e+30|0,y,4);qb(e+34|0,h,2);k=e+36|0;f=c[h>>2]|0;if(f>>>0>=16385){c[j>>2]=f;Ub(g,1,13468,j)|0;g=0;i=M;return g|0}f=f&65535;I=J+16|0;c[I>>2]=f;if((f|0)!=(o|0)){c[l>>2]=f;c[l+4>>2]=o;Ub(g,1,13529,l)|0;g=0;i=M;return g|0}l=c[J>>2]|0;m=c[x>>2]|0;if(m>>>0>l>>>0){f=c[n>>2]|0;e=c[B>>2]|0;if(f>>>0>>0){h=c[v>>2]|0;j=c[z>>2]|0;if(!(_(j,h)|0)){c[p>>2]=h;c[p+4>>2]=j;Ub(g,1,13705,p)|0;g=0;i=M;return g|0}s=Zi(e|0,0,m|0,0)|0;if(!((s|0)==(_(e,m)|0)&(C|0)==0)){c[q>>2]=m;c[q+4>>2]=e;Ub(g,1,13766,q)|0;g=0;i=M;return g|0}m=c[u>>2]|0;p=Si(m|0,0,h|0,0)|0;q=C;n=c[y>>2]|0;s=Si(n|0,0,j|0,0)|0;if(m>>>0<=l>>>0?n>>>0<=f>>>0&(p|0-q)>>>0>l>>>0&(s|0-C)>>>0>f>>>0:0){e=Qc(o,52)|0;o=J+24|0;c[o>>2]=e;if(!e){c[I>>2]=0;Ub(g,1,13852,t)|0;g=0;i=M;return g|0}a:do{if(c[I>>2]|0){l=d+168|0;f=0;j=e;while(1){qb(k,w,1);c[j+24>>2]=(c[w>>2]&127)+1;c[j+32>>2]=(c[w>>2]|0)>>>7;qb(k+1|0,w,1);c[j>>2]=c[w>>2];qb(k+2|0,w,1);h=c[w>>2]|0;c[j+4>>2]=h;e=c[j>>2]|0;if((h+-1|0)>>>0>254|(e+-1|0)>>>0>254)break;c[j+36>>2]=0;c[j+40>>2]=c[l>>2];f=f+1|0;if(f>>>0>=(c[I>>2]|0)>>>0)break a;else{k=k+3|0;j=j+52|0}}c[A>>2]=f;c[A+4>>2]=e;c[A+8>>2]=h;Ub(g,1,13900,A)|0;g=0;i=M;return g|0}}while(0);m=c[u>>2]|0;l=c[v>>2]|0;k=((c[x>>2]|0)+-1-m+l|0)/(l|0)|0;c[d+112>>2]=k;j=c[y>>2]|0;h=c[z>>2]|0;e=((c[B>>2]|0)+-1-j+h|0)/(h|0)|0;c[d+116>>2]=e;if(!((e|0)==0|(k|0)==0)?k>>>0<=(65535/(e>>>0)|0)>>>0:0){n=_(k,e)|0;f=d+28|0;if(!(a[d+76>>0]&2)){c[f>>2]=0;c[d+32>>2]=0;c[d+36>>2]=k;c[d+40>>2]=e}else{c[f>>2]=(((c[f>>2]|0)-m|0)>>>0)/(l>>>0)|0;D=d+32|0;c[D>>2]=(((c[D>>2]|0)-j|0)>>>0)/(h>>>0)|0;D=d+36|0;c[D>>2]=((c[D>>2]|0)+-1-m+l|0)/(l|0)|0;D=d+40|0;c[D>>2]=((c[D>>2]|0)+-1-j+h|0)/(h|0)|0}D=Qc(n,5640)|0;k=d+164|0;c[k>>2]=D;if(!D){Ub(g,1,13852,E)|0;g=0;i=M;return g|0}E=Qc(c[I>>2]|0,1080)|0;e=d+12|0;c[(c[e>>2]|0)+5584>>2]=E;if(!E){Ub(g,1,13852,F)|0;g=0;i=M;return g|0}F=Qc(10,20)|0;f=c[e>>2]|0;c[f+5612>>2]=F;if(!F){Ub(g,1,13852,G)|0;g=0;i=M;return g|0}c[f+5620>>2]=10;G=Qc(10,20)|0;f=c[e>>2]|0;c[f+5624>>2]=G;if(!G){Ub(g,1,13852,H)|0;g=0;i=M;return g|0}c[f+5632>>2]=10;j=c[I>>2]|0;if(j){h=c[o>>2]|0;f=f+5584|0;e=0;do{if(!(c[h+(e*52|0)+32>>2]|0))c[(c[f>>2]|0)+(e*1080|0)+1076>>2]=1<<(c[h+(e*52|0)+24>>2]|0)+-1;e=e+1|0}while(e>>>0>>0)}b:do{if(n){f=c[k>>2]|0;H=Qc(j,1080)|0;c[f+5584>>2]=H;if(H){e=0;while(1){e=e+1|0;if(e>>>0>=n>>>0)break b;H=Qc(c[I>>2]|0,1080)|0;c[f+11224>>2]=H;if(!H)break;else f=f+5640|0}}Ub(g,1,13852,L)|0;g=0;i=M;return g|0}}while(0);c[d+8>>2]=4;_b(J,K);g=1;i=M;return g|0}c[D>>2]=k;c[D+4>>2]=e;Ub(g,1,14002,D)|0;g=0;i=M;return g|0}Ub(g,1,13808,r)|0;g=0;i=M;return g|0}}else{e=c[B>>2]|0;f=c[n>>2]|0}c[s>>2]=m-l;c[s+4>>2]=e-f;Ub(g,1,13643,s)|0;g=0;i=M;return g|0}function le(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+32|0;a=f+12|0;if(d>>>0<2){Ub(e,1,13414,f)|0;e=0;i=f;return e|0}qb(b,f+16|0,1);qb(b+1|0,a,1);b=c[a>>2]|0;if(!(((d+-2|0)>>>0)%(((b>>>5&2)+2+(b>>>4&3)|0)>>>0)|0)){e=1;i=f;return e|0}Ub(e,1,13414,f+8|0)|0;e=0;i=f;return e|0}function me(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=i;i=i+16|0;if(!c){Ub(d,1,13388,a)|0;b=0}else b=1;i=a;return b|0}function ne(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+8|0;h=k+12|0;if(!d){Ub(e,1,13362,k)|0;e=0;i=k;return e|0}qb(b,k+16|0,1);f=d+-1|0;if(!f){e=1;i=k;return e|0}else{g=0;a=0}do{b=b+1|0;qb(b,h,1);d=c[h>>2]|0;if(!(d&128))a=0;else a=(d&127|a)<<7;g=g+1|0}while((g|0)!=(f|0));if(!a){e=1;i=k;return e|0}Ub(e,1,13362,j)|0;e=0;i=k;return e|0}function oe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;o=p+32|0;l=p+24|0;h=p+16|0;g=p+8|0;n=p+36|0;if(e>>>0<2){Ub(f,1,13276,p)|0;o=0;i=p;return o|0}m=b+184|0;a[m>>0]=a[m>>0]|1;qb(d,n,1);m=d+1|0;k=e+-1|0;j=b+124|0;e=c[j>>2]|0;do{if(e){g=b+120|0;d=c[n>>2]|0;if((c[g>>2]|0)>>>0<=d>>>0){b=d+1|0;d=Tc(e,b<<3)|0;if(d){c[j>>2]=d;e=c[g>>2]|0;Qi(d+(e<<3)|0,0,b-e<<3|0)|0;c[g>>2]=b;e=c[j>>2]|0;break}Ub(f,1,13302,h)|0;o=0;i=p;return o|0}}else{d=(c[n>>2]|0)+1|0;e=Qc(d,8)|0;c[j>>2]=e;if(e){c[b+120>>2]=d;break}Ub(f,1,13302,g)|0;o=0;i=p;return o|0}}while(0);d=c[n>>2]|0;if(c[e+(d<<3)>>2]|0){c[l>>2]=d;Ub(f,1,13340,l)|0;o=0;i=p;return o|0}l=Pc(k)|0;e=c[n>>2]|0;d=c[j>>2]|0;c[d+(e<<3)>>2]=l;if(!l){Ub(f,1,13302,o)|0;o=0;i=p;return o|0}else{c[d+(e<<3)+4>>2]=k;Ui(c[d+(c[n>>2]<<3)>>2]|0,m|0,k|0)|0;o=1;i=p;return o|0}return 0}function pe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+40|0;o=r+32|0;k=r+24|0;j=r+16|0;p=r+44|0;if(e>>>0<2){Ub(f,1,13127,r)|0;q=0;i=r;return q|0}if(a[b+184>>0]&1){Ub(f,1,13153,r+8|0)|0;q=0;i=r;return q|0}h=c[b+200>>2]|0;g=c[b+164>>2]|0;n=g+(h*5640|0)+5636|0;a[n>>0]=a[n>>0]|2;qb(d,p,1);n=d+1|0;m=e+-1|0;l=g+(h*5640|0)+5164|0;d=c[l>>2]|0;do{if(d){g=g+(h*5640|0)+5160|0;b=c[p>>2]|0;if((c[g>>2]|0)>>>0<=b>>>0){e=b+1|0;b=Tc(d,e<<3)|0;if(b){c[l>>2]=b;d=c[g>>2]|0;Qi(b+(d<<3)|0,0,e-d<<3|0)|0;c[g>>2]=e;d=c[l>>2]|0;break}Ub(f,1,8775,k)|0;q=0;i=r;return q|0}}else{b=(c[p>>2]|0)+1|0;d=Qc(b,8)|0;c[l>>2]=d;if(d){c[g+(h*5640|0)+5160>>2]=b;break}Ub(f,1,8775,j)|0;q=0;i=r;return q|0}}while(0);b=c[p>>2]|0;if(c[d+(b<<3)>>2]|0){c[o>>2]=b;Ub(f,1,13254,o)|0;q=0;i=r;return q|0}o=Pc(m)|0;d=c[p>>2]|0;b=c[l>>2]|0;c[b+(d<<3)>>2]=o;if(!o){Ub(f,1,8775,q)|0;q=0;i=r;return q|0}else{c[b+(d<<3)+4>>2]=m;Ui(c[b+(c[p>>2]<<3)>>2]|0,n|0,m|0)|0;q=1;i=r;return q|0}return 0}function qe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=i;i=i+16|0;if((c[(c[a+80>>2]|0)+16>>2]<<2|0)==(d|0)){e=1;i=b;return e|0}Ub(e,1,13101,b)|0;e=0;i=b;return e|0}function re(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 1}function se(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;r=s+40|0;q=s+32|0;l=s+24|0;p=s+44|0;if((c[a+8>>2]|0)==16)j=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else j=c[a+12>>2]|0;if(d>>>0<2){Ub(e,1,12933,s)|0;r=0;i=s;return r|0}qb(b,p,2);if(c[p>>2]|0){Ub(e,2,12959,s+8|0)|0;r=1;i=s;return r|0}if(d>>>0<7){Ub(e,1,12933,s+16|0)|0;r=0;i=s;return r|0}qb(b+2|0,p,2);n=b+4|0;o=c[p>>2]&255;k=j+5612|0;f=c[k>>2]|0;m=j+5616|0;a=c[m>>2]|0;a:do{if(!a){g=0;h=f}else{g=0;h=f;do{if((c[h+8>>2]|0)==(o|0))break a;h=h+20|0;g=g+1|0}while(g>>>0>>0)}}while(0);if((g|0)==(a|0)){g=j+5620|0;do{if((a|0)==(c[g>>2]|0)){a=a+10|0;c[g>>2]=a;a=Tc(f,a*20|0)|0;if(a){c[k>>2]=a;f=c[m>>2]|0;Qi(a+(f*20|0)|0,0,((c[g>>2]|0)-f|0)*20|0)|0;f=c[k>>2]|0;a=c[m>>2]|0;break}Uc(c[k>>2]|0);c[k>>2]=0;c[g>>2]=0;c[m>>2]=0;Ub(e,1,13019,l)|0;r=0;i=s;return r|0}}while(0);c[m>>2]=a+1;h=f+(a*20|0)|0}g=h+12|0;a=c[g>>2]|0;if(a){Uc(a);c[g>>2]=0}c[h+8>>2]=o;o=c[p>>2]|0;c[h+4>>2]=o>>>8&3;c[h>>2]=o>>>10&3;qb(n,p,2);if(c[p>>2]|0){Ub(e,2,13057,q)|0;r=1;i=s;return r|0}a=d+-6|0;f=Pc(a)|0;c[g>>2]=f;if(!f){Ub(e,1,12933,r)|0;r=0;i=s;return r|0}else{Ui(f|0,b+6|0,a|0)|0;c[h+16>>2]=a;r=1;i=s;return r|0}return 0}function te(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;h=j+12|0;a=a+80|0;g=c[(c[a>>2]|0)+16>>2]|0;if((g+2|0)!=(d|0)){Ub(e,1,12907,j)|0;h=0;i=j;return h|0}qb(b,f,2);if((c[f>>2]|0)!=(g|0)){Ub(e,1,12907,j+8|0)|0;h=0;i=j;return h|0}if(!g){h=1;i=j;return h|0}f=b+2|0;b=0;a=c[(c[a>>2]|0)+24>>2]|0;while(1){qb(f,h,1);c[a+32>>2]=(c[h>>2]|0)>>>7&1;c[a+24>>2]=(c[h>>2]&127)+1;b=b+1|0;if((b|0)==(g|0)){a=1;break}else{f=f+1|0;a=a+52|0}}i=j;return a|0}function ue(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+144|0;I=J+120|0;H=J+112|0;G=J+104|0;F=J+96|0;E=J+88|0;D=J+80|0;C=J+72|0;B=J+64|0;A=J+56|0;z=J+48|0;p=J+40|0;o=J+32|0;m=J+24|0;x=J+136|0;u=J+132|0;v=J+128|0;w=J+124|0;if((c[b+8>>2]|0)==16)q=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else q=c[b+12>>2]|0;if(e>>>0<2){Ub(f,1,12567,J)|0;I=0;i=J;return I|0}qb(d,x,2);if(c[x>>2]|0){Ub(f,2,12593,J+8|0)|0;I=1;i=J;return I|0}if(e>>>0<7){Ub(f,1,12567,J+16|0)|0;I=0;i=J;return I|0}qb(d+2|0,u,1);n=d+3|0;l=q+5624|0;g=c[l>>2]|0;y=q+5628|0;b=c[y>>2]|0;a:do{if(!b){j=0;h=g}else{k=c[u>>2]|0;j=0;h=g;do{if((c[h>>2]|0)==(k|0))break a;h=h+20|0;j=j+1|0}while(j>>>0>>0)}}while(0);if((j|0)==(b|0)){h=q+5632|0;do{if((b|0)==(c[h>>2]|0)){b=b+10|0;c[h>>2]=b;b=Tc(g,b*20|0)|0;if(b){c[l>>2]=b;g=c[y>>2]|0;Qi(b+(g*20|0)|0,0,((c[h>>2]|0)-g|0)*20|0)|0;g=c[l>>2]|0;b=c[y>>2]|0;break}Uc(c[l>>2]|0);c[l>>2]=0;c[h>>2]=0;c[y>>2]=0;Ub(f,1,12639,m)|0;I=0;i=J;return I|0}}while(0);h=g+(b*20|0)|0}c[h>>2]=c[u>>2];qb(n,x,2);if(c[x>>2]|0){Ub(f,2,12593,o)|0;I=1;i=J;return I|0}qb(d+5|0,v,2);g=c[v>>2]|0;if(g>>>0>1){Ub(f,2,12677,p)|0;I=1;i=J;return I|0}b=e+-7|0;b:do{if(g){r=h+4|0;s=h+16|0;t=h+8|0;e=h+12|0;p=q+5612|0;o=q+5616|0;m=d+7|0;n=0;c:while(1){if(b>>>0<3){g=27;break}qb(m,x,1);if((c[x>>2]|0)!=1){g=29;break}qb(m+1|0,w,2);g=b+-3|0;j=c[w>>2]|0;k=(j>>>15)+1|0;j=j&32767;c[r>>2]=j;h=(_(k,j)|0)+2|0;if(g>>>0>>0){g=31;break}b=m+3|0;l=g-h|0;if(j){g=0;do{qb(b,x,k);if((c[x>>2]|0)!=(g|0)){g=34;break c}b=b+k|0;g=g+1|0}while(g>>>0<(c[r>>2]|0)>>>0)}qb(b,w,2);g=b+2|0;h=c[w>>2]|0;j=(h>>>15)+1|0;h=h&32767;c[w>>2]=h;if((h|0)!=(c[r>>2]|0)){g=37;break}b=(_(j,h)|0)+3|0;if(l>>>0>>0){g=39;break}b=l-b|0;if(h){h=0;do{qb(g,x,j);if((c[x>>2]|0)!=(h|0)){g=42;break c}g=g+j|0;h=h+1|0}while(h>>>0<(c[r>>2]|0)>>>0)}qb(g,x,3);m=g+3|0;a[s>>0]=((c[x>>2]|0)>>>16^1)&1|a[s>>0]&-2;c[t>>2]=0;c[e>>2]=0;l=c[x>>2]|0;h=l&255;c[u>>2]=h;if(h){j=c[o>>2]|0;if(!j){g=50;break}k=0;g=c[p>>2]|0;while(1){if((c[g+8>>2]|0)==(h|0))break;k=k+1|0;if(k>>>0>=j>>>0){g=50;break c}else g=g+20|0}c[t>>2]=g}h=l>>>8&255;c[u>>2]=h;if(h){j=c[o>>2]|0;if(!j){g=57;break}k=0;g=c[p>>2]|0;while(1){if((c[g+8>>2]|0)==(h|0))break;k=k+1|0;if(k>>>0>=j>>>0){g=57;break c}else g=g+20|0}c[e>>2]=g}n=n+1|0;if(n>>>0>=(c[v>>2]|0)>>>0)break b}if((g|0)==27){Ub(f,1,12567,z)|0;I=0;i=J;return I|0}else if((g|0)==29){Ub(f,2,12721,A)|0;I=1;i=J;return I|0}else if((g|0)==31){Ub(f,1,12567,B)|0;I=0;i=J;return I|0}else if((g|0)==34){Ub(f,2,12787,C)|0;I=1;i=J;return I|0}else if((g|0)==37){Ub(f,2,12841,D)|0;I=1;i=J;return I|0}else if((g|0)==39){Ub(f,1,12567,E)|0;I=0;i=J;return I|0}else if((g|0)==42){Ub(f,2,12787,F)|0;I=1;i=J;return I|0}else if((g|0)==50){Ub(f,1,12567,G)|0;I=0;i=J;return I|0}else if((g|0)==57){Ub(f,1,12567,H)|0;I=0;i=J;return I|0}}}while(0);if(!b){c[y>>2]=(c[y>>2]|0)+1;I=1;i=J;return I|0}else{Ub(f,1,12567,I)|0;I=0;i=J;return I|0}return 0}function ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;r=s+24|0;q=s+20|0;n=a+80|0;f=c[n>>2]|0;if((c[a+8>>2]|0)==16)g=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else g=c[a+12>>2]|0;if(!d){Ub(e,1,12486,s)|0;r=0;i=s;return r|0}qb(b,q,1);a=c[q>>2]|0;if(a>>>0>1){Ub(e,2,12512,s+8|0)|0;r=1;i=s;return r|0}if((a+1|0)!=(d|0)){Ub(e,2,12486,s+16|0)|0;r=0;i=s;return r|0}m=g+5584|0;a=c[f+16>>2]|0;if(a){d=0;e=c[m>>2]|0;while(1){c[e+1076>>2]=0;d=d+1|0;if(d>>>0>=a>>>0)break;else e=e+1080|0}}l=g+5604|0;a=c[l>>2]|0;if(a){Uc(a);c[l>>2]=0}if(!(c[q>>2]|0)){r=1;i=s;return r|0}k=g+5624|0;h=g+5628|0;j=0;while(1){b=b+1|0;qb(b,r,1);a=c[n>>2]|0;f=c[k>>2]|0;g=c[h>>2]|0;if(((g|0)!=0?!((g|0)==0?1:(c[f>>2]|0)!=(c[r>>2]|0)):0)?(o=c[f+4>>2]|0,p=a+16|0,(o|0)==(c[p>>2]|0)):0){a=c[f+8>>2]|0;if(a){d=_(o,o)|0;g=_(c[1036+(c[a>>2]<<2)>>2]|0,d)|0;if((c[a+16>>2]|0)!=(g|0)){a=0;d=32;break}e=Pc(d<<2)|0;c[l>>2]=e;if(!e){a=0;d=32;break}Xa[c[1052+(c[a>>2]<<2)>>2]&15](c[a+12>>2]|0,e,d)}a=c[f+12>>2]|0;if(a){d=c[p>>2]|0;g=_(d,c[1036+(c[a>>2]<<2)>>2]|0)|0;if((c[a+16>>2]|0)!=(g|0)){a=0;d=32;break}g=Pc(d<<2)|0;if(!g){a=0;d=32;break}Xa[c[1068+(c[a>>2]<<2)>>2]&15](c[a+12>>2]|0,g,d);a=c[p>>2]|0;if(a){d=0;e=g;f=c[m>>2]|0;while(1){c[f+1076>>2]=c[e>>2];d=d+1|0;if((d|0)==(a|0))break;else{e=e+4|0;f=f+1080|0}}}Uc(g)}}j=j+1|0;if(j>>>0>=(c[q>>2]|0)>>>0){a=1;d=32;break}}if((d|0)==32){i=s;return a|0}return 0}function we(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){qb(a,f,2);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+2|0}}i=g;return}function xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){qb(a,f,4);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=g;return}function ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){ub(a,f);c[b>>2]=~~+g[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=h;return}function ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){sb(a,f);c[b>>2]=~~+h[f>>3];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+8|0}}i=g;return}function Ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){qb(a,f,2);g[b>>2]=+((c[f>>2]|0)>>>0);e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+2|0}}i=h;return}function Be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){qb(a,f,4);g[b>>2]=+((c[f>>2]|0)>>>0);e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=h;return}function Ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){ub(a,f);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=g;return}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;if(!c){i=f;return}d=0;while(1){sb(a,e);g[b>>2]=+h[e>>3];d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+8|0}}i=f;return}function Ee(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+8|0;k=n+20|0;if((c[a+8>>2]|0)==16)a=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else a=c[a+12>>2]|0;m=c[a+5584>>2]|0;a=c[e>>2]|0;if(!a){Ub(f,1,14224,n)|0;b=0;i=n;return b|0}c[e>>2]=a+-1;qb(d,k,1);d=d+1|0;g=c[k>>2]&31;j=m+(b*1080|0)+24|0;c[j>>2]=g;c[m+(b*1080|0)+804>>2]=(c[k>>2]|0)>>>5;do{if((g|0)==1){a=1;l=8}else{a=(c[e>>2]|0)>>>((g|0)!=0&1);if(a>>>0>97){c[h>>2]=a;c[h+4>>2]=97;c[h+8>>2]=97;Ub(f,2,14260,h)|0;g=c[j>>2]|0}f=(a|0)==0;if(g)if(f){a=0;l=20;break}else{l=8;break}if(!f){g=0;while(1){qb(d,k,1);if(g>>>0<97){c[m+(b*1080|0)+28+(g<<3)>>2]=(c[k>>2]|0)>>>3;c[m+(b*1080|0)+28+(g<<3)+4>>2]=0}g=g+1|0;if((g|0)==(a|0))break;else d=d+1|0}}a=(c[e>>2]|0)-a|0}}while(0);if((l|0)==8){g=0;while(1){qb(d,k,2);if(g>>>0<97){c[m+(b*1080|0)+28+(g<<3)>>2]=(c[k>>2]|0)>>>11;c[m+(b*1080|0)+28+(g<<3)+4>>2]=c[k>>2]&2047}g=g+1|0;if((g|0)==(a|0)){l=20;break}else d=d+2|0}}if((l|0)==20)a=(c[e>>2]|0)-(a<<1)|0;c[e>>2]=a;if((c[j>>2]|0)!=1){b=1;i=n;return b|0}a=m+(b*1080|0)+28|0;d=m+(b*1080|0)+32|0;g=1;do{e=(c[a>>2]|0)-(((g+-1|0)>>>0)/3|0)|0;c[m+(b*1080|0)+28+(g<<3)>>2]=(e|0)>0?e:0;c[m+(b*1080|0)+28+(g<<3)+4>>2]=c[d>>2];g=g+1|0}while((g|0)!=97);a=1;i=n;return a|0}function Fe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r+40|0;l=r+32|0;k=r+16|0;j=r+8|0;o=r+44|0;h=a+8|0;if((c[h>>2]|0)==16)g=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else g=c[a+12>>2]|0;m=c[g+5584>>2]|0;if((c[e>>2]|0)>>>0<5){Ub(f,1,14664,r)|0;e=0;i=r;return e|0}n=m+(b*1080|0)+4|0;qb(d,n,1);g=(c[n>>2]|0)+1|0;c[n>>2]=g;if(g>>>0>33){c[j>>2]=g;c[j+4>>2]=33;Ub(f,1,14699,j)|0;e=0;i=r;return e|0}if((c[a+168>>2]|0)>>>0>=g>>>0){c[k>>2]=b;Ub(f,1,14776,k)|0;c[h>>2]=c[h>>2]|32768;e=0;i=r;return e|0}j=m+(b*1080|0)+8|0;qb(d+1|0,j,1);c[j>>2]=(c[j>>2]|0)+2;a=m+(b*1080|0)+12|0;qb(d+2|0,a,1);k=(c[a>>2]|0)+2|0;c[a>>2]=k;j=c[j>>2]|0;if(j>>>0>10|k>>>0>10|(j+k|0)>>>0>12){Ub(f,1,14934,r+24|0)|0;e=0;i=r;return e|0}qb(d+3|0,m+(b*1080|0)+16|0,1);qb(d+4|0,m+(b*1080|0)+20|0,1);h=(c[e>>2]|0)+-5|0;c[e>>2]=h;g=c[n>>2]|0;if(!(c[m+(b*1080|0)>>2]&1)){if(!g){e=1;i=r;return e|0}else g=0;do{c[m+(b*1080|0)+812+(g<<2)>>2]=15;c[m+(b*1080|0)+944+(g<<2)>>2]=15;g=g+1|0}while(g>>>0<(c[n>>2]|0)>>>0);g=1;i=r;return g|0}if(h>>>0>>0){Ub(f,1,14664,l)|0;e=0;i=r;return e|0}do{if(!g)g=0;else{a=0;h=d+5|0;while(1){qb(h,o,1);h=h+1|0;g=c[o>>2]|0;if((a|0)!=0?g>>>0<16|(g&15|0)==0:0)break;c[m+(b*1080|0)+812+(a<<2)>>2]=g&15;c[m+(b*1080|0)+944+(a<<2)>>2]=(c[o>>2]|0)>>>4;a=a+1|0;g=c[n>>2]|0;if(a>>>0>=g>>>0){q=22;break}}if((q|0)==22){h=c[e>>2]|0;break}Ub(f,1,15002,p)|0;e=0;i=r;return e|0}}while(0);c[e>>2]=h-g;e=1;i=r;return e|0}function Ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){pb(b,~~+g[a>>2]>>>0,2);d=d+1|0;if((d|0)==(c|0))break;else{b=b+2|0;a=a+4|0}}return}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){pb(b,~~+g[a>>2]>>>0,4);d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+4|0}}return}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){tb(b,+g[a>>2]);d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+4|0}}return}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){rb(b,+g[a>>2]);d=d+1|0;if((d|0)==(c|0))break;else{b=b+8|0;a=a+4|0}}return}function Ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;if(!d){d=0;i=j;return d|0}if(!(ld(c[a>>2]|0,b,d,e)|0)){Ub(e,1,16303,j)|0;d=0;i=j;return d|0}if(c[a+128>>2]|0){d=1;i=j;return d|0}h=a+108|0;if(!(bf(d,h,e)|0)){d=0;i=j;return d|0}b=c[a+48>>2]|0;a:do{switch(b|0){case 16:{c[d+20>>2]=1;break}case 17:{c[d+20>>2]=2;break}case 18:{c[d+20>>2]=3;break}case 24:{c[d+20>>2]=4;break}default:{f=d+20|0;if((b|0)==12){c[f>>2]=5;break a}else{c[f>>2]=-1;break a}}}}while(0);g=a+120|0;b=c[g>>2]|0;do{if(b){if(c[b+12>>2]|0){cf(d,h);break}Uc(c[b+4>>2]|0);Uc(c[(c[g>>2]|0)+8>>2]|0);Uc(c[c[g>>2]>>2]|0);b=c[g>>2]|0;f=c[b+12>>2]|0;if(f){Uc(f);b=c[g>>2]|0}Uc(b);c[g>>2]=0}}while(0);if(c[a+116>>2]|0)df(d,h,e);b=c[h>>2]|0;if(!b){d=1;i=j;return d|0}c[d+28>>2]=b;c[d+32>>2]=c[a+112>>2];c[h>>2]=0;d=1;i=j;return d|0}function Le(b,d){b=b|0;d=d|0;Wc(c[b>>2]|0,d);a[b+124>>0]=0;c[b+128>>2]=c[d+8248>>2]&1;return}function Me(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;v=w+64|0;s=w+56|0;o=w+48|0;r=w+40|0;q=w+32|0;p=w+24|0;if(!((a|0)!=0&(d|0)!=0&(e|0)!=0)){d=0;i=w;return d|0}t=e+16|0;if(((c[t>>2]|0)+-1|0)>>>0>16383){Ub(f,1,16352,w)|0;d=0;i=w;return d|0}if(!(Zc(c[a>>2]|0,d,e,f)|0)){d=0;i=w;return d|0}c[a+56>>2]=1785737760;c[a+60>>2]=0;c[a+64>>2]=1;g=Pc(4)|0;h=a+68|0;c[h>>2]=g;if(!g){c[h>>2]=0;Ub(f,1,16421,w+8|0)|0;d=0;i=w;return d|0}c[g>>2]=1785737760;l=c[t>>2]|0;c[a+20>>2]=l;l=Pc(l*12|0)|0;g=a+72|0;c[g>>2]=l;if(!l){c[g>>2]=0;Ub(f,1,16421,w+16|0)|0;d=0;i=w;return d|0}c[a+16>>2]=(c[e+12>>2]|0)-(c[e+4>>2]|0);c[a+12>>2]=(c[e+8>>2]|0)-(c[e>>2]|0);u=e+24|0;m=c[u>>2]|0;j=c[m+24>>2]|0;k=c[m+32>>2]|0;g=a+24|0;c[g>>2]=j+-1+(k<<7);n=c[t>>2]|0;if(n>>>0>1){h=1;do{if((j|0)!=(c[m+(h*52|0)+24>>2]|0))c[g>>2]=255;h=h+1|0}while(h>>>0>>0)}c[a+28>>2]=7;c[a+32>>2]=0;c[a+36>>2]=0;h=(n|0)==0;if(!h?(c[l+8>>2]=j+-1+(k<<7),n>>>0>1):0){g=1;do{c[l+(g*12|0)+8>>2]=(c[m+(g*52|0)+24>>2]|0)+-1+(c[m+(g*52|0)+32>>2]<<7);g=g+1|0}while(g>>>0>>0)}g=a+40|0;a:do{if(!(c[e+32>>2]|0)){c[g>>2]=1;switch(c[e+20>>2]|0){case 1:{c[a+48>>2]=16;break a}case 2:{c[a+48>>2]=17;break a}case 3:{c[a+48>>2]=18;break a}default:break a}}else{c[g>>2]=2;c[a+48>>2]=0}}while(0);b:do{if(!h){h=0;g=0;j=0;do{e=(b[m+(j*52|0)+48>>1]|0)==0;g=(e&1^1)+g|0;h=e?h:j;j=j+1|0}while(j>>>0>>0);j=h;if((g|0)!=1){if(g>>>0<=1)break;Ub(f,2,16717,o)|0;break}switch(c[a+48>>2]|0){case 18:case 16:{h=3;break}case 17:{h=1;break}default:{Ub(f,2,16467,p)|0;break b}}if(n>>>0<(h+1|0)>>>0){Ub(f,2,16541,q)|0;break}if(j>>>0>>0){Ub(f,2,16634,r)|0;break}r=Pc(8)|0;g=a+116|0;c[g>>2]=r;if(!r){Ub(f,1,16782,s)|0;d=0;i=w;return d|0}s=Pc((c[t>>2]|0)*6|0)|0;e=c[g>>2]|0;c[e>>2]=s;if(!s){Ub(f,1,16782,v)|0;d=0;i=w;return d|0}l=c[t>>2]|0;b[e+4>>1]=l;k=c[e>>2]|0;g=0;do{b[k+(g*6|0)>>1]=g;b[k+(g*6|0)+2>>1]=0;v=g;g=g+1|0;b[k+(v*6|0)+4>>1]=g}while((g|0)!=(h|0));if(h>>>0>>0){j=c[u>>2]|0;do{v=(b[j+(h*52|0)+48>>1]|0)==0;b[k+(h*6|0)>>1]=h;g=k+(h*6|0)+2|0;if(v){b[g>>1]=-1;b[k+(h*6|0)+4>>1]=-1}else{b[g>>1]=1;b[(c[e>>2]|0)+(h*6|0)+4>>1]=0}h=h+1|0}while(h>>>0>>0)}}}while(0);c[a+52>>2]=0;c[a+44>>2]=0;c[a+96>>2]=c[d+18692>>2];d=1;i=w;return d|0}function Ne(a,b,d){a=a|0;b=b|0;d=d|0;return od(c[a>>2]|0,b,d)|0}function Oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+8|0;if(!(sg(c[e>>2]|0,52,d)|0)){d=0;return d|0}g=c[e>>2]|0;h=tg(g)|0;e=ug(g)|0;if(h){i=0;f=1;while(1){if(!f)f=0;else f=(Ra[c[e>>2]&63](a,b,d)|0)!=0;i=i+1|0;if((i|0)==(h|0))break;else{e=e+4|0;f=f&1}}vg(g);if(!f){d=0;return d|0}}else vg(g);d=$c(c[a>>2]|0,b,d)|0;return d|0}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+8|0;if(!(sg(c[e>>2]|0,53,d)|0)){d=0;return d|0}if(!(pd(c[a>>2]|0,b,d)|0)){d=0;return d|0}i=c[e>>2]|0;g=tg(i)|0;e=ug(i)|0;if(!g)e=1;else{h=0;f=e;e=1;while(1){if(!e)e=0;else e=(Ra[c[f>>2]&63](a,b,d)|0)!=0;e=e&1;h=h+1|0;if((h|0)==(g|0))break;else f=f+4|0}}vg(i);d=e;return d|0}function Qe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+4|0;if(!(sg(c[f>>2]|0,54,e)|0)){b=0;return b|0}h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){b=0;return b|0}}else vg(h);f=a+8|0;if(!(sg(c[f>>2]|0,55,e)|0)){b=0;return b|0}if(!(sg(c[f>>2]|0,56,e)|0)){b=0;return b|0}if(!(sg(c[f>>2]|0,57,e)|0)){b=0;return b|0}if((c[a+96>>2]|0)!=0?(sg(c[f>>2]|0,58,e)|0)==0:0){b=0;return b|0}if(!(sg(c[f>>2]|0,59,e)|0)){b=0;return b|0}h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){b=0;return b|0}}else vg(h);b=qd(c[a>>2]|0,b,d,e)|0;return b|0}function Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=b+8|0;if(!(sg(c[k>>2]|0,52,e)|0)){a=0;return a|0}h=c[b+4>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){a=0;return a|0}}else vg(h);h=c[k>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){a=0;return a|0}}else vg(h);a=ad(a,c[b>>2]|0,d,e)|0;return a|0}function Se(a,b,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return cd(c[a>>2]|0,b,d,e,f,g,h,i,j,k,l)|0}function Te(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;return rd(c[a>>2]|0,b,d,e,f,g)|0}function Ue(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;return dd(c[a>>2]|0,b,d,e,f,g)|0}function Ve(a){a=a|0;var b=0,d=0,e=0;if(!a)return;Yc(c[a>>2]|0);c[a>>2]=0;b=a+72|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+68|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+108|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}e=a+116|0;b=c[e>>2]|0;if(b){d=c[b>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b>>2]=0}Uc(b);c[e>>2]=0}e=a+120|0;b=c[e>>2]|0;if(b){d=c[b+12>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+12>>2]=0}d=c[b+4>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+4>>2]=0}d=c[b+8>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+8>>2]=0}d=c[b>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b>>2]=0}Uc(b);c[e>>2]=0}b=a+4|0;d=c[b>>2]|0;if(d){rg(d);c[b>>2]=0}b=a+8|0;d=c[b>>2]|0;if(d){rg(d);c[b>>2]=0}Uc(a);return}function We(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ed(c[a>>2]|0,b,d,e,f,g,h)|0}function Xe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;if(!d){a=0;i=j;return a|0}Ub(e,2,16826,j)|0;if(!(md(c[a>>2]|0,b,d,e,f)|0)){Ub(e,1,16303,j+8|0)|0;a=0;i=j;return a|0}h=a+108|0;if(!(bf(d,h,e)|0)){a=0;i=j;return a|0}f=c[a+48>>2]|0;a:do{switch(f|0){case 16:{c[d+20>>2]=1;break}case 17:{c[d+20>>2]=2;break}case 18:{c[d+20>>2]=3;break}case 24:{c[d+20>>2]=4;break}default:{b=d+20|0;if((f|0)==12){c[b>>2]=5;break a}else{c[b>>2]=-1;break a}}}}while(0);g=a+120|0;b=c[g>>2]|0;do{if(b){if(c[b+12>>2]|0){cf(d,h);break}Uc(c[b+4>>2]|0);Uc(c[(c[g>>2]|0)+8>>2]|0);Uc(c[c[g>>2]>>2]|0);b=c[g>>2]|0;f=c[b+12>>2]|0;if(f){Uc(f);b=c[g>>2]|0}Uc(b);c[g>>2]=0}}while(0);if(c[a+116>>2]|0)df(d,h,e);b=c[h>>2]|0;if(!b){a=1;i=j;return a|0}c[d+28>>2]=b;c[d+32>>2]=c[a+112>>2];c[h>>2]=0;a=1;i=j;return a|0}function Ye(b){b=b|0;var d=0;d=Qc(1,136)|0;if(!d)return d|0;if(!b){b=Xc()|0;c[d>>2]=b}else{b=fd()|0;c[d>>2]=b}if(!b){Ve(d);d=0;return d|0}b=d+108|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=0;b=qg()|0;c[d+4>>2]=b;if(!b){Ve(d);d=0;return d|0}b=qg()|0;c[d+8>>2]=b;if(b)return d|0;Ve(d);d=0;return d|0}function Ze(a,b,d){a=a|0;b=b|0;d=d|0;gd(c[a>>2]|0,b,d);return}function _e(a){a=a|0;return kd(c[a>>2]|0)|0}function $e(a){a=a|0;return jd(c[a>>2]|0)|0}function af(a,b,d){a=a|0;b=b|0;d=d|0;return nd(c[a>>2]|0,b,d)|0}function bf(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;A=B+72|0;z=B+64|0;y=B+56|0;x=B+48|0;w=B+40|0;v=B+32|0;u=B+24|0;s=B+16|0;o=B+8|0;n=B;j=c[g+8>>2]|0;a:do{if(j){r=c[j>>2]|0;q=b[j+4>>1]|0;j=c[f+16>>2]|0;p=c[g+12>>2]|0;if((p|0)!=0?(c[p+12>>2]|0)!=0:0)g=d[p+18>>0]|0;else g=j;m=q<<16>>16==0;b:do{if(!m){l=0;c:while(1){k=l&65535;j=e[r+(k*6|0)>>1]|0;if(j>>>0>=g>>>0){k=15;break}j=b[r+(k*6|0)+4>>1]|0;switch(j<<16>>16){case 0:case-1:break;default:{j=(j&65535)+-1|0;if(j>>>0>=g>>>0){k=18;break c}}}l=l+1<<16>>16;if((l&65535)>=(q&65535))break b}if((k|0)==15){c[n>>2]=j;c[n+4>>2]=g;Ub(h,1,19343,n)|0;h=0;i=B;return h|0}else if((k|0)==18){c[o>>2]=j;c[o+4>>2]=g;Ub(h,1,19343,o)|0;h=0;i=B;return h|0}}}while(0);if(!g)j=p;else{d:do{if(!m)while(1){g=g+-1|0;j=0;do{if((e[r+((j&65535)*6|0)>>1]|0)==(g|0))break;j=j+1<<16>>16}while((j&65535)<(q&65535));if(j<<16>>16==q<<16>>16)break d;if(!g){j=p;break a}}}while(0);Ub(h,1,19380,s)|0;h=0;i=B;return h|0}}else j=c[g+12>>2]|0}while(0);if(!j){h=1;i=B;return h|0}t=c[j+12>>2]|0;if(!t){h=1;i=B;return h|0}p=a[j+18>>0]|0;s=p&255;r=p<<24>>24==0;if(r)j=1;else{l=f+16|0;g=0;m=0;j=1;do{g=e[t+(g<<2)>>1]|0;k=c[l>>2]|0;if(g>>>0>=k>>>0){c[u>>2]=g;c[u+4>>2]=k;Ub(h,1,19343,u)|0;j=0}m=m+1<<16>>16;g=m&65535}while(g>>>0>>0)}q=Qc(s,4)|0;if(!q){Ub(h,1,19413,v)|0;h=0;i=B;return h|0}if(!r){n=0;o=0;do{k=a[t+(n<<2)+3>>0]|0;l=k&255;do{if((k&255)<(p&255)){m=q+(l<<2)|0;g=a[t+(n<<2)+2>>0]|0;if((c[m>>2]|0)!=0&g<<24>>24==1){c[x>>2]=l;Ub(h,1,19486,x)|0;j=0;break}if(g<<24>>24!=0|k<<24>>24==0){c[m>>2]=1;break}else{c[y>>2]=n;c[y+4>>2]=l;Ub(h,1,19517,y)|0;j=0;break}}else{c[w>>2]=l;Ub(h,1,19430,w)|0;j=0}}while(0);o=o+1<<16>>16;n=o&65535}while(n>>>0>>0);if(!r){g=0;k=0;do{if((c[q+(g<<2)>>2]|0)==0?(a[t+(g<<2)+2>>0]|0)!=0:0){c[z>>2]=g;Ub(h,1,19553,z)|0;j=0}k=k+1<<16>>16;g=k&65535}while(g>>>0>>0)}}if(!j){Uc(q);h=0;i=B;return h|0}e:do{if(!((c[f+16>>2]|0)!=1|r)){j=0;g=0;while(1){g=g+1<<16>>16;if(!(c[q+(j<<2)>>2]|0))break;j=g&65535;if(j>>>0>=s>>>0)break e}c[A>>2]=j;Ub(h,2,19591,A)|0;if(!r){j=0;g=0;do{a[t+(j<<2)+2>>0]=1;a[t+(j<<2)+3>>0]=g;g=g+1<<16>>16;j=g&65535}while(j>>>0>>0)}}}while(0);Uc(q);h=1;i=B;return h|0}function cf(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=g+12|0;g=c[w>>2]|0;m=c[g+8>>2]|0;o=c[g+4>>2]|0;q=c[g>>2]|0;r=c[g+12>>2]|0;g=a[g+18>>0]|0;s=f+24|0;t=c[s>>2]|0;u=g&255;v=Pc(u*52|0)|0;if(!v)return;n=g<<24>>24==0;if(!n){k=0;l=0;do{g=b[r+(k<<2)>>1]|0;if(!(a[r+(k<<2)+2>>0]|0)){g=g&65535;h=v+(k*52|0)|0;i=t+(g*52|0)|0;j=h+52|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0))}else{g=g&65535;h=v+((d[r+(k<<2)+3>>0]|0)*52|0)|0;i=t+(g*52|0)|0;j=h+52|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0))}j=Pc(_(c[t+(g*52|0)+8>>2]<<2,c[t+(g*52|0)+12>>2]|0)|0)|0;c[v+(k*52|0)+44>>2]=j;if(!j){p=7;break}c[v+(k*52|0)+24>>2]=d[m+k>>0];c[v+(k*52|0)+32>>2]=d[o+k>>0];l=l+1<<16>>16;k=l&65535}while(k>>>0>>0);if((p|0)==7){Uc(v);return}m=(e[(c[w>>2]|0)+16>>1]|0)+-1|0;if(!n){g=0;l=0;do{j=c[t+((e[r+(g<<2)>>1]|0)*52|0)+44>>2]|0;i=d[r+(g<<2)+3>>0]|0;k=_(c[v+(i*52|0)+12>>2]|0,c[v+(i*52|0)+8>>2]|0)|0;if(!(a[r+(g<<2)+2>>0]|0)){g=c[v+(g*52|0)+44>>2]|0;if(k){h=0;do{c[g+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(k|0))}}else{g=c[v+(i*52|0)+44>>2]|0;if(k){h=0;do{p=c[j+(h<<2)>>2]|0;c[g+(h<<2)>>2]=c[q+((_((p|0)<0?0:(p|0)>(m|0)?m:p,u)|0)+i<<2)>>2];h=h+1|0}while((h|0)!=(k|0))}}l=l+1<<16>>16;g=l&65535}while(g>>>0>>0)}}h=f+16|0;i=c[h>>2]|0;if(i){g=0;j=0;do{g=c[t+(g*52|0)+44>>2]|0;if(g)Uc(g);j=j+1<<16>>16;g=j&65535}while(g>>>0>>0)}Uc(t);c[s>>2]=v;c[h>>2]=u;Uc(c[(c[w>>2]|0)+4>>2]|0);Uc(c[(c[w>>2]|0)+8>>2]|0);Uc(c[c[w>>2]>>2]|0);g=c[w>>2]|0;h=c[g+12>>2]|0;if(h){Uc(h);g=c[w>>2]|0}Uc(g);c[w>>2]=0;return}function df(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;w=y+8|0;v=y;u=y+16|0;x=d+8|0;f=c[x>>2]|0;d=c[f>>2]|0;t=b[f+4>>1]|0;if(t<<16>>16){s=a+16|0;o=a+24|0;q=1;r=0;while(1){p=b[d+(r*6|0)>>1]|0;n=p&65535;a=c[s>>2]|0;a:do{if(n>>>0>>0){f=b[d+(r*6|0)+4>>1]|0;switch(f<<16>>16){case-1:case 0:{b[(c[o>>2]|0)+(n*52|0)+48>>1]=b[d+(r*6|0)+2>>1]|0;break a}default:{}}k=(f&65535)+65535|0;m=k&65535;k=k&65535;if(k>>>0>=a>>>0){c[w>>2]=k;c[w+4>>2]=a;Ub(e,2,19302,w)|0;break}l=d+(r*6|0)+2|0;if((n|0)!=(k|0)?(b[l>>1]|0)==0:0){f=c[o>>2]|0;a=f+(n*52|0)|0;g=u;h=a;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));g=a;h=f+(k*52|0)|0;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));g=(c[o>>2]|0)+(k*52|0)|0;h=u;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));if((r+1&65535)<(t&65535)){g=q;do{f=d+(g*6|0)|0;a=b[f>>1]|0;if(a<<16>>16!=p<<16>>16){if(a<<16>>16==m<<16>>16)b[f>>1]=p}else b[f>>1]=m;g=g+1|0}while((g&65535)<<16>>16!=t<<16>>16)}}b[(c[o>>2]|0)+(n*52|0)+48>>1]=b[l>>1]|0}else{c[v>>2]=n;c[v+4>>2]=a;Ub(e,2,19262,v)|0}}while(0);r=r+1|0;if((r&65535)<<16>>16==t<<16>>16)break;else q=q+1|0}d=c[x>>2]|0;f=d;d=c[d>>2]|0}if(!d){w=f;Uc(w);c[x>>2]=0;i=y;return}else{Uc(d);w=c[x>>2]|0;Uc(w);c[x>>2]=0;i=y;return}}function ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+192|0;y=I+152|0;x=I+144|0;w=I+136|0;v=I+128|0;u=I+120|0;E=I+88|0;s=I+80|0;q=I+64|0;p=I+48|0;G=I+40|0;z=I+32|0;F=I+24|0;t=I+16|0;r=I+8|0;n=I+176|0;o=I+168|0;D=I+156|0;e=Qc(1,1024)|0;if(!e){Ub(d,1,17098,I)|0;H=0;i=I;return H|0}m=n+4|0;A=D+4|0;B=a+100|0;l=1024;a:while(1){if((Mb(b,n,8,d)|0)!=8)break;while(1){qb(n,D,4);qb(m,A,4);switch(c[D>>2]|0){case 0:{f=Qb(b)|0;k=C;if((k|0)>0|(k|0)==0&f>>>0>4294967287){H=6;break a}c[D>>2]=f+8;j=8;break}case 1:{if((Mb(b,n,8,d)|0)!=8)break a;qb(n,o,4);if(c[o>>2]|0){H=10;break a}qb(m,D,4);j=16;break}default:j=8}g=c[A>>2]|0;if((g|0)==1785737827){H=13;break a}f=c[D>>2]|0;if(!f){H=17;break a}if(f>>>0>>0){H=19;break a}if((g|0)==1783636e3){h=1084;g=j;H=22;break}if((g|0)==1718909296){h=1092;g=j;H=22;break}k=(g|0)==1785737832;b:do{if((g|0)!=1768449138)if((g|0)!=1668246642)if((g|0)!=1651532643)if((g|0)!=1885564018)if((g|0)!=1668112752){h=(g|0)==1667523942?1148:0;f=f-j|0;if((g|0)<1785737832)switch(g|0){case 1667523942:{H=30;break b}default:{}}else switch(g|0){case 1785737832:{H=30;break b}default:{}}g=c[B>>2]|0;if(!(g&1)){H=45;break a}if(!(g&2)){H=47;break a}c[B>>2]=g|2147483647;k=Rb(b,f,0,d)|0;if(!((k|0)==(f|0)&(C|0)==0)){H=50;break a}}else{h=1140;H=28}else{h=1132;H=28}else{h=1124;H=28}else{h=1116;H=28}else{h=1108;H=28}}while(0);if((H|0)==28){f=f-j|0;H=30}if((H|0)==30){H=0;if(k){h=1100;break}c[p>>2]=g>>>24;c[p+4>>2]=g>>>16&255;c[p+8>>2]=g>>>8&255;c[p+12>>2]=g&255;Ub(d,2,17282,p)|0;if(c[B>>2]&4)break;k=c[A>>2]|0;c[q>>2]=k>>>24;c[q+4>>2]=k>>>16&255;c[q+8>>2]=k>>>8&255;c[q+12>>2]=k&255;Ub(d,2,17333,q)|0;c[B>>2]=c[B>>2]|2147483647;k=Rb(b,f,0,d)|0;if(!((k|0)==(f|0)&(C|0)==0)){H=33;break a}}if((Mb(b,n,8,d)|0)!=8)break a}if((H|0)==22){H=0;f=f-g|0}k=Qb(b)|0;j=C;if(0>(j|0)|0==(j|0)&f>>>0>k>>>0){H=35;break}if(f>>>0>l>>>0){g=Tc(e,f)|0;if(!g){H=38;break}else{e=g;g=f}}else g=l;if((Mb(b,e,f,d)|0)!=(f|0)){H=40;break}if(!(Za[c[h+4>>2]&63](a,e,f,d)|0)){H=43;break}else l=g}switch(H|0){case 6:{Ub(d,1,17148,r)|0;break}case 10:{Ub(d,1,17148,t)|0;break}case 13:{f=c[B>>2]|0;if(!(f&4)){Ub(d,1,17190,F)|0;Uc(e);H=0;i=I;return H|0}else{c[B>>2]=f|8;Uc(e);H=1;i=I;return H|0}}case 17:{Ub(d,1,17218,z)|0;Uc(e);H=0;i=I;return H|0}case 19:{c[G>>2]=f;c[G+4>>2]=g;Ub(d,1,17256,G)|0;Uc(e);H=0;i=I;return H|0}case 33:{Ub(d,1,17399,s)|0;Uc(e);H=0;i=I;return H|0}case 35:{F=c[D>>2]|0;G=c[A>>2]|0;H=Qb(b)|0;c[E>>2]=F;c[E+4>>2]=G>>>24;c[E+8>>2]=G>>>16&255;c[E+12>>2]=G>>>8&255;c[E+16>>2]=G&255;c[E+20>>2]=f;c[E+24>>2]=H;Ub(d,1,17449,E)|0;Uc(e);H=0;i=I;return H|0}case 38:{Uc(e);Ub(d,1,17525,u)|0;H=0;i=I;return H|0}case 40:{Ub(d,1,17567,v)|0;Uc(e);H=0;i=I;return H|0}case 43:{Uc(e);H=0;i=I;return H|0}case 45:{Ub(d,1,17616,w)|0;Uc(e);H=0;i=I;return H|0}case 47:{Ub(d,1,17686,x)|0;Uc(e);H=0;i=I;return H|0}case 50:{Ub(d,1,17399,y)|0;Uc(e);H=0;i=I;return H|0}}Uc(e);H=1;i=I;return H|0}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+24|0;e=Pb(b)|0;f=C;a=a+80|0;j=a;j=Oi(e|0,f|0,c[j>>2]|0,c[j+4>>2]|0)|0;pb(g,j,4);pb(g+4|0,1785737827,4);if(!(Sb(b,c[a>>2]|0,c[a+4>>2]|0,d)|0)){Ub(d,1,17067,h)|0;j=0;i=h;return j|0}if((Nb(b,g,8,d)|0)!=8){Ub(d,1,17067,h+8|0)|0;j=0;i=h;return j|0}if(Sb(b,e,f,d)|0){j=1;i=h;return j|0}Ub(d,1,17067,h+16|0)|0;j=0;i=h;return j|0}function gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;d=((c[a>>2]|0)!=0?(c[a+104>>2]|c[a+100>>2]|0)==0:0)&(c[a+8>>2]|0)!=0&(c[a+4>>2]|0)!=0&(c[a+64>>2]|0)!=0&(c[a+16>>2]|0)!=0&(c[a+12>>2]|0)!=0&1;e=c[a+20>>2]|0;if(!e){g=d;a=a+40|0;a=c[a>>2]|0;a=a+-1|0;a=a>>>0<2;a=a&1;b=Tb(b)|0;b=b&g;a=b&a;return a|0}f=c[a+72>>2]|0;g=0;do{d=(c[f+(g*12|0)+8>>2]&126)>>>0<38&d;g=g+1|0}while(g>>>0>>0);a=a+40|0;a=c[a>>2]|0;a=a+-1|0;a=a>>>0<2;a=a&1;b=Tb(b)|0;b=b&d;a=b&a;return a|0}function hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=i;i=i+16|0;d=a;pb(d,12,4);pb(d+4|0,1783636e3,4);pb(d+8|0,218793738,4);c=(Nb(b,d,12,c)|0)==12&1;i=a;return c|0}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l+8|0;f=a+64|0;h=(c[f>>2]<<2)+16|0;j=Qc(1,h)|0;if(!j){Ub(d,1,16987,l)|0;k=0;i=l;return k|0}pb(j,h,4);pb(j+4|0,1718909296,4);pb(j+8|0,c[a+56>>2]|0,4);pb(j+12|0,c[a+60>>2]|0,4);g=j+16|0;if(c[f>>2]|0){a=a+68|0;e=0;do{pb(g,c[(c[a>>2]|0)+(e<<2)>>2]|0,4);e=e+1|0}while(e>>>0<(c[f>>2]|0)>>>0)}a=(Nb(b,j,h,d)|0)==(h|0);if(!a)Ub(d,1,17026,k)|0;Uc(j);k=a&1;i=l;return k|0}function kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;o=q+16|0;m=q+8|0;k=q;f=q+24|0;l=q+72|0;e=f;g=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));p=(c[a+24>>2]|0)==255;c[f>>2]=2;e=f+12|0;if(p){c[e>>2]=3;c[f+24>>2]=4;e=3}else{c[e>>2]=4;e=2}if(!(c[a+116>>2]|0))p=e;else{c[f+(e*12|0)>>2]=5;p=e+1|0}pb(l+4|0,1785737832,4);h=0;j=f;e=8;while(1){g=j+8|0;r=_a[c[j>>2]&7](a,g)|0;c[j+4>>2]=r;if(!r){n=8;break}e=(c[g>>2]|0)+e|0;h=h+1|0;if((h|0)>=(p|0))break;else j=j+12|0}if((n|0)==8){Ub(d,1,16901,k)|0;g=0;while(1){e=c[f+4>>2]|0;if(e)Uc(e);g=g+1|0;if((g|0)>=(p|0)){e=0;break}else f=f+12|0}i=q;return e|0}pb(l,e,4);a:do{if((Nb(b,l,8,d)|0)==8){e=0;g=f;while(1){r=g+8|0;n=Nb(b,c[g+4>>2]|0,c[r>>2]|0,d)|0;if((n|0)!=(c[r>>2]|0))break;e=e+1|0;if((e|0)>=(p|0)){e=1;break a}else g=g+12|0}Ub(d,1,16944,o)|0;e=0}else{Ub(d,1,16944,m)|0;e=0}}while(0);h=0;while(1){g=c[f+4>>2]|0;if(g)Uc(g);h=h+1|0;if((h|0)>=(p|0))break;else f=f+12|0}i=q;return e|0}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Pb(b)|0;a=a+88|0;c[a>>2]=e;c[a+4>>2]=C;b=Rb(b,24,0,d)|0;return(b|0)==24&(C|0)==0&1|0}function mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Pb(b)|0;a=a+80|0;c[a>>2]=e;c[a+4>>2]=C;b=Rb(b,8,0,d)|0;return(b|0)==8&(C|0)==0&1|0}function nf(a,b){a=a|0;b=b|0;var d=0;d=Qc(1,22)|0;if(!d){b=0;return b|0}pb(d,22,4);pb(d+4|0,1768449138,4);pb(d+8|0,c[a+16>>2]|0,4);pb(d+12|0,c[a+12>>2]|0,4);pb(d+16|0,c[a+20>>2]|0,2);pb(d+18|0,c[a+24>>2]|0,1);pb(d+19|0,c[a+28>>2]|0,1);pb(d+20|0,c[a+32>>2]|0,1);pb(d+21|0,c[a+36>>2]|0,1);c[b>>2]=22;b=d;return b|0}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=(c[f>>2]|0)+8|0;h=Qc(1,g)|0;if(!h){b=0;return b|0}pb(h,g,4);pb(h+4|0,1651532643,4);if(c[f>>2]|0){a=a+72|0;d=0;e=h+8|0;while(1){pb(e,c[(c[a>>2]|0)+(d*12|0)+8>>2]|0,1);d=d+1|0;if(d>>>0>=(c[f>>2]|0)>>>0)break;else e=e+1|0}}c[b>>2]=g;b=h;return b|0}function pf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=a+40|0;switch(c[e>>2]|0){case 1:{j=15;break}case 2:{j=(c[a+112>>2]|0)+11|0;break}default:{b=0;return b|0}}i=Qc(1,j)|0;if(!i){b=0;return b|0}pb(i,j,4);pb(i+4|0,1668246642,4);pb(i+8|0,c[e>>2]|0,1);pb(i+9|0,c[a+52>>2]|0,1);pb(i+10|0,c[a+44>>2]|0,1);g=i+11|0;switch(c[e>>2]|0){case 1:{pb(g,c[a+48>>2]|0,4);break}case 2:{h=a+112|0;if(c[h>>2]|0){a=a+108|0;f=0;e=g;while(1){pb(e,d[(c[a>>2]|0)+f>>0]|0,1);f=f+1|0;if(f>>>0>=(c[h>>2]|0)>>>0)break;else e=e+1|0}}break}default:{}}c[b>>2]=j;b=i;return b|0}function qf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=a+116|0;j=((e[(c[i>>2]|0)+4>>1]|0)*6|0)+10|0;k=Pc(j)|0;if(!k){d=0;return d|0}pb(k,j,4);pb(k+4|0,1667523942,4);pb(k+8|0,e[(c[i>>2]|0)+4>>1]|0,2);a=c[i>>2]|0;if(b[a+4>>1]|0){g=0;f=0;h=k+10|0;while(1){pb(h,e[(c[a>>2]|0)+(g*6|0)>>1]|0,2);pb(h+2|0,e[(c[c[i>>2]>>2]|0)+(g*6|0)+2>>1]|0,2);pb(h+4|0,e[(c[c[i>>2]>>2]|0)+(g*6|0)+4>>1]|0,2);f=f+1<<16>>16;a=c[i>>2]|0;if((f&65535)>=(e[a+4>>1]|0))break;else{g=f&65535;h=h+6|0}}}c[d>>2]=j;d=k;return d|0}function rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+32|0;f=g+16|0;if((d|0)!=14){Ub(e,1,18507,g)|0;f=0;i=g;return f|0}qb(b,a+16|0,4);qb(b+4|0,a+12|0,4);d=a+20|0;qb(b+8|0,d,2);d=Qc(c[d>>2]|0,12)|0;c[a+72>>2]=d;if(!d){Ub(e,1,18540,g+8|0)|0;f=0;i=g;return f|0}qb(b+10|0,a+24|0,1);d=a+28|0;qb(b+11|0,d,1);d=c[d>>2]|0;if((d|0)!=7){c[f>>2]=d;Ub(e,4,18589,f)|0}qb(b+12|0,a+32|0,1);qb(b+13|0,a+36|0,1);f=1;i=g;return f|0}function sf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;j=x+40|0;t=x+32|0;l=x+24|0;k=x+16|0;u=x+72|0;s=x+68|0;p=x+64|0;q=x+60|0;n=x+56|0;r=x+52|0;o=x+48|0;m=x+44|0;if(e>>>0<3){Ub(f,1,18180,x)|0;w=0;i=x;return w|0}v=b+108|0;w=b+124|0;if(a[w>>0]|0){Ub(f,4,18212,x+8|0)|0;w=1;i=x;return w|0}h=b+40|0;qb(d,h,1);qb(d+1|0,b+52|0,1);qb(d+2|0,b+44|0,1);g=d+3|0;h=c[h>>2]|0;switch(h|0){case 1:{if(e>>>0<7){c[k>>2]=e;Ub(f,1,18321,k)|0;w=0;i=x;return w|0}h=b+48|0;if(e>>>0>7?(c[h>>2]|0)!=14:0){c[l>>2]=e;Ub(f,2,18321,l)|0}qb(g,h,4);if((c[h>>2]|0)==14){g=Pc(36)|0;c[g>>2]=14;c[o>>2]=0;c[n>>2]=0;c[p>>2]=0;c[r>>2]=0;c[q>>2]=0;c[s>>2]=0;c[m>>2]=4470064;h=g+4|0;c[h>>2]=1145390592;switch(e|0){case 35:{qb(d+7|0,s,4);qb(d+11|0,p,4);qb(d+15|0,q,4);qb(d+19|0,n,4);qb(d+23|0,r,4);qb(d+27|0,o,4);qb(d+31|0,m,4);c[h>>2]=0;break}case 7:break;default:{c[t>>2]=e;Ub(f,2,18357,t)|0}}c[g+8>>2]=c[s>>2];c[g+16>>2]=c[q>>2];c[g+24>>2]=c[r>>2];c[g+12>>2]=c[p>>2];c[g+20>>2]=c[n>>2];c[g+28>>2]=c[o>>2];c[g+32>>2]=c[m>>2];c[v>>2]=g;c[b+112>>2]=0}a[w>>0]=1;w=1;i=x;return w|0}case 2:{j=e+-3|0;h=b+112|0;c[h>>2]=j;b=Qc(1,j)|0;c[v>>2]=b;if(!b){c[h>>2]=0;w=0;i=x;return w|0}if((e|0)>3){h=0;while(1){qb(g,u,1);a[(c[v>>2]|0)+h>>0]=c[u>>2];h=h+1|0;if((h|0)==(j|0))break;else g=g+1|0}}a[w>>0]=1;w=1;i=x;return w|0}default:{if(h>>>0<=2){w=1;i=x;return w|0}c[j>>2]=h;Ub(f,4,18401,j)|0;w=1;i=x;return w|0}}return 0}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j;f=c[a+24>>2]|0;if((f|0)!=255){c[g>>2]=f;Ub(e,2,18034,g)|0}h=a+20|0;if((c[h>>2]|0)!=(d|0)){Ub(e,1,18148,j+8|0)|0;h=0;i=j;return h|0}if(!d){h=1;i=j;return h|0}g=a+72|0;f=0;while(1){qb(b,(c[g>>2]|0)+(f*12|0)+8|0,1);f=f+1|0;if(f>>>0>=(c[h>>2]|0)>>>0){b=1;break}else b=b+1|0}i=j;return b|0}function uf(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+16|0;j=r;q=r+12|0;k=e+120|0;if(g>>>0<3|(c[k>>2]|0)!=0){g=0;i=r;return g|0}qb(f,q,2);l=c[q>>2]|0;p=l&65535;if((p+-1|0)>>>0>1023){c[j>>2]=p;Ub(h,1,17951,j)|0;g=0;i=r;return g|0}qb(f+2|0,q,1);o=c[q>>2]&65535;if(!o){Ub(h,1,17989,r+8|0)|0;g=0;i=r;return g|0}if((o+3|0)>>>0>g>>>0){g=0;i=r;return g|0}j=Pc(_(p<<2,o)|0)|0;if(!j){g=0;i=r;return g|0}n=Pc(o)|0;if(!n){Uc(j);g=0;i=r;return g|0}m=Pc(o)|0;if(!m){Uc(j);Uc(n);g=0;i=r;return g|0}e=Pc(20)|0;if(!e){Uc(j);Uc(n);Uc(m);g=0;i=r;return g|0}c[e+4>>2]=m;c[e+8>>2]=n;c[e>>2]=j;b[e+16>>1]=l;a[e+18>>0]=c[q>>2];c[e+12>>2]=0;c[k>>2]=e;e=f+3|0;h=0;k=0;do{qb(e,q,1);e=e+1|0;a[n+h>>0]=(c[q>>2]&127)+1;a[m+h>>0]=(c[q>>2]|0)>>>7&1;k=k+1<<16>>16;h=k&65535}while(h>>>0>>0);if(!p){g=1;i=r;return g|0}h=0;a:while(1){l=0;k=j;m=0;while(1){j=((d[n+l>>0]|0)+7|0)>>>3;j=j>>>0>4?4:j;if((e-f+j|0)>(g|0)){e=0;j=22;break a}qb(e,q,j);e=e+j|0;c[k>>2]=c[q>>2];j=k+4|0;m=m+1<<16>>16;l=m&65535;if(l>>>0>=o>>>0)break;else k=j}h=h+1<<16>>16;if((h&65535)>>>0>=p>>>0){e=1;j=22;break}}if((j|0)==22){i=r;return e|0}return 0}function vf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+20|0;j=d+120|0;d=c[j>>2]|0;if(!d){Ub(g,1,17841,l)|0;k=0;i=l;return k|0}if(c[d+12>>2]|0){Ub(g,1,17887,l+8|0)|0;k=0;i=l;return k|0}h=a[d+18>>0]|0;d=(h&255)<<2;if(d>>>0>f>>>0){Ub(g,1,17918,l+16|0)|0;k=0;i=l;return k|0}g=Pc(d)|0;if(!g){k=0;i=l;return k|0}if(h<<24>>24){d=e;f=0;while(1){qb(d,k,2);b[g+(f<<2)>>1]=c[k>>2];qb(d+2|0,k,1);a[g+(f<<2)+2>>0]=c[k>>2];qb(d+3|0,k,1);a[g+(f<<2)+3>>0]=c[k>>2];f=f+1|0;if((f&255)<<24>>24==h<<24>>24)break;else d=d+4|0}}c[(c[j>>2]|0)+12>>2]=g;k=1;i=l;return k|0}function wf(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+20|0;j=a+116|0;if(c[j>>2]|0){k=0;i=l;return k|0}if(f>>>0<2){Ub(g,1,17747,l)|0;k=0;i=l;return k|0}qb(d,k,2);a=c[k>>2]|0;h=a&65535;if(!h){Ub(g,1,17780,l+8|0)|0;k=0;i=l;return k|0}if(((h*6|0)+2|0)>>>0>f>>>0){Ub(g,1,17747,l+16|0)|0;k=0;i=l;return k|0}f=Pc(a*6|0)|0;if(!f){k=0;i=l;return k|0}a=Pc(8)|0;c[j>>2]=a;if(!a){Uc(f);k=0;i=l;return k|0}c[a>>2]=f;g=c[k>>2]&65535;b[a+4>>1]=g;if(!(g<<16>>16)){k=1;i=l;return k|0}else{h=0;a=d}do{d=h&65535;qb(a+2|0,k,2);b[f+(d*6|0)>>1]=c[k>>2];qb(a+4|0,k,2);a=a+6|0;b[f+(d*6|0)+2>>1]=c[k>>2];qb(a,k,2);b[f+(d*6|0)+4>>1]=c[k>>2];h=h+1<<16>>16}while((h&65535)<(e[(c[j>>2]|0)+4>>1]|0));a=1;i=l;return a|0}function xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+32|0;f=g+20|0;a=a+100|0;if(c[a>>2]|0){Ub(e,1,19130,g)|0;e=0;i=g;return e|0}if((d|0)!=4){Ub(e,1,19184,g+8|0)|0;e=0;i=g;return e|0}qb(b,f,4);if((c[f>>2]|0)==218793738){c[a>>2]=c[a>>2]|1;e=1;i=g;return e|0}else{Ub(e,1,19218,g+16|0)|0;e=0;i=g;return e|0}return 0}function yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+32|0;g=j+24|0;h=a+100|0;if((c[h>>2]|0)!=1){Ub(e,1,19011,j)|0;h=0;i=j;return h|0}if(d>>>0<8){Ub(e,1,19061,j+8|0)|0;h=0;i=j;return h|0}qb(b,a+56|0,4);qb(b+4|0,a+60|0,4);b=b+8|0;d=d+-8|0;if(d&3){Ub(e,1,19061,j+16|0)|0;h=0;i=j;return h|0}d=d>>>2;f=a+64|0;c[f>>2]=d;if(d){d=Qc(d,4)|0;c[a+68>>2]=d;if(!d){Ub(e,1,19097,g)|0;h=0;i=j;return h|0}if(c[f>>2]|0){a=a+68|0;d=0;while(1){qb(b,(c[a>>2]|0)+(d<<2)|0,4);d=d+1|0;if(d>>>0>=(c[f>>2]|0)>>>0)break;else b=b+4|0}}}c[h>>2]=c[h>>2]|2;h=1;i=j;return h|0}function zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+96|0;y=A+72|0;s=A+64|0;r=A+56|0;q=A+48|0;w=A+40|0;v=A+32|0;u=A+24|0;t=A+16|0;p=A+8|0;n=A+80|0;o=A+76|0;x=a+100|0;if(!(c[x>>2]&2)){Ub(e,1,18679,A)|0;z=0;i=A;return z|0}m=a+104|0;c[m>>2]=0;do{if(d){k=b;b=0;a:while(1){if(d>>>0<8){z=6;break}qb(k,n,4);f=c[n>>2]|0;qb(k+4|0,n,4);j=c[n>>2]|0;switch(f|0){case 0:{z=14;break a}case 1:{if(d>>>0<16){z=9;break a}qb(k+8|0,o,4);if(c[o>>2]|0){z=11;break a}qb(k+12|0,n,4);f=c[n>>2]|0;if(!f){z=13;break a}else g=16;break}default:g=8}if(f>>>0>>0){z=16;break}if(d>>>0>>0){z=19;break}h=(j|0)==1768449138;if(!h)if((j|0)!=1668246642)if((j|0)!=1651532643)if((j|0)!=1885564018)if((j|0)!=1668112752)if((j|0)==1667523942){l=1148;z=26}else c[m>>2]=c[m>>2]|2147483647;else{l=1140;z=26}else{l=1132;z=26}else{l=1124;z=26}else{l=1116;z=26}else{l=1108;z=26}if((z|0)==26?(z=0,(Za[c[l+4>>2]&63](a,k+g|0,f-g|0,e)|0)==0):0){b=0;z=32;break}b=h?1:b;if((d|0)==(f|0)){z=29;break}else{k=k+f|0;d=d-f|0}}if((z|0)==6)Ub(e,1,18724,p)|0;else if((z|0)==9)Ub(e,1,18764,t)|0;else if((z|0)==11)Ub(e,1,17148,u)|0;else if((z|0)==13)Ub(e,1,17218,v)|0;else if((z|0)==14)Ub(e,1,17218,w)|0;else if((z|0)==16)Ub(e,1,18808,q)|0;else if((z|0)==19){Ub(e,1,18880,s)|0;z=0;i=A;return z|0}else if((z|0)==29){if(!b)break;c[x>>2]=c[x>>2]|4;z=1;i=A;return z|0}else if((z|0)==32){i=A;return b|0}Ub(e,1,18837,r)|0;z=0;i=A;return z|0}}while(0);Ub(e,1,18952,y)|0;z=0;i=A;return z|0}function Af(){return 8}function Bf(){return 32}function Cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!e)return;else f=0;do{l=a+(f<<2)|0;i=c[l>>2]|0;j=b+(f<<2)|0;h=c[j>>2]|0;g=d+(f<<2)|0;k=c[g>>2]|0;c[l>>2]=(h<<1)+i+k>>2;c[j>>2]=k-h;c[g>>2]=i-h;f=f+1|0}while((f|0)!=(e|0));return}function Df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!e)return;else f=0;do{k=a+(f<<2)|0;j=b+(f<<2)|0;h=c[j>>2]|0;g=d+(f<<2)|0;l=c[g>>2]|0;i=(c[k>>2]|0)-(l+h>>2)|0;c[k>>2]=i+l;c[j>>2]=i;c[g>>2]=i+h;f=f+1|0}while((f|0)!=(e|0));return}function Ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!e)return;else f=0;do{o=a+(f<<2)|0;u=c[o>>2]|0;k=b+(f<<2)|0;t=c[k>>2]|0;g=d+(f<<2)|0;s=c[g>>2]|0;j=((u|0)<0)<<31>>31;q=Zi(u|0,j|0,2449,0)|0;q=Si(q|0,C|0,4096,0)|0;q=Ti(q|0,C|0,13)|0;i=((t|0)<0)<<31>>31;r=Zi(t|0,i|0,4809,0)|0;r=Si(r|0,C|0,4096,0)|0;r=Ti(r|0,C|0,13)|0;h=((s|0)<0)<<31>>31;p=Zi(s|0,h|0,934,0)|0;p=Si(p|0,C|0,4096,0)|0;p=Ti(p|0,C|0,13)|0;l=Zi(u|0,j|0,1382,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=Zi(t|0,i|0,2714,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;n=Ri(s|0,h|0,12)|0;n=Si(n|0,C|0,4096,0)|0;n=Ti(n|0,C|0,13)|0;j=Ri(u|0,j|0,12)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;i=Zi(t|0,i|0,3430,0)|0;i=Si(i|0,C|0,4096,0)|0;i=Ti(i|0,C|0,13)|0;h=Zi(s|0,h|0,666,0)|0;h=Si(h|0,C|0,4096,0)|0;h=Ti(h|0,C|0,13)|0;c[o>>2]=r+q+p;c[k>>2]=n-(m+l);c[g>>2]=j-i-h;f=f+1|0}while((f|0)!=(e|0));return}function Ff(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0;if(!d)return;else e=0;do{l=a+(e<<2)|0;i=+g[l>>2];j=b+(e<<2)|0;h=+g[j>>2];f=c+(e<<2)|0;k=+g[f>>2];g[l>>2]=i+k*1.4019999504089355;g[j>>2]=i-h*.3441300094127655-k*.714139997959137;g[f>>2]=i+h*1.7719999551773071;e=e+1|0}while((e|0)!=(d|0));return}function Gf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=_(e,e)|0;o=Pc(h+e<<2)|0;if(!o){e=0;return e|0}if(h){i=0;f=a;while(1){c[o+(i+e<<2)>>2]=~~(+g[f>>2]*8192);i=i+1|0;if((i|0)==(h|0))break;else f=f+4|0}}if(b){m=(e|0)==0;n=0;do{if(!m){f=0;do{c[o+(f<<2)>>2]=c[c[d+(f<<2)>>2]>>2];f=f+1|0}while((f|0)!=(e|0));if(!m){a=0;k=o;do{k=k+(e<<2)|0;h=d+(a<<2)|0;f=c[h>>2]|0;c[f>>2]=0;i=0;j=0;l=k;while(1){p=c[l>>2]|0;q=c[o+(j<<2)>>2]|0;p=Zi(q|0,((q|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=Si(p|0,C|0,4096,0)|0;p=Ti(p|0,C|0,13)|0;i=p+i|0;c[f>>2]=i;j=j+1|0;if((j|0)==(e|0))break;else l=l+4|0}c[h>>2]=f+4;a=a+1|0}while((a|0)!=(e|0))}}n=n+1|0}while((n|0)!=(b|0))}Uc(o);q=1;return q|0}function Hf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=Pc(e<<3)|0;if(!m){e=0;return e|0}if(b){n=(e|0)==0;o=0;do{if(!n){f=0;do{c[m+(f<<2)>>2]=c[c[d+(f<<2)>>2]>>2];f=f+1|0}while((f|0)!=(e|0));if(!n){k=0;l=a;while(1){f=m+(k+e<<2)|0;g[f>>2]=0;h=0;i=0;j=l;while(1){h=h+ +g[j>>2]*+g[m+(i<<2)>>2];g[f>>2]=h;i=i+1|0;if((i|0)==(e|0))break;else j=j+4|0}i=d+(k<<2)|0;j=c[i>>2]|0;c[i>>2]=j+4;g[j>>2]=h;k=k+1|0;if((k|0)==(e|0))break;else l=l+(e<<2)|0}}}o=o+1|0}while((o|0)!=(b|0))}Uc(m);e=1;return e|0}function If(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,i=0,j=0,k=0;if(!b)return;else j=0;do{i=a+(j<<3)|0;h[i>>3]=0;d=0;e=0;f=j;while(1){k=+g[c+(f<<2)>>2];d=d+k*k;e=e+1|0;if((e|0)==(b|0))break;else f=f+b|0}h[i>>3]=+O(+d);j=j+1|0}while((j|0)!=(b|0));return}function Jf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+32|0;B=F+28|0;w=F+24|0;x=F+20|0;y=F+16|0;z=F+12|0;A=F+8|0;k=F+4|0;l=F;f=d+76|0;D=c[f>>2]|0;C=D+(e*5640|0)+420|0;E=(c[C>>2]|0)+1|0;m=b+16|0;v=Pc((c[m>>2]|0)*528|0)|0;if(!v){E=0;i=F;return E|0}u=Pc(c[m>>2]<<2)|0;if(!u){Uc(v);E=0;i=F;return E|0}f=Pf(b,c[f>>2]|0,e)|0;if(!f){Uc(v);Uc(u);E=0;i=F;return E|0}g=c[m>>2]|0;if(g){h=0;j=v;while(1){c[u+(h<<2)>>2]=j;h=h+1|0;if(h>>>0>=g>>>0)break;else j=j+528|0}}Qf(b,d,e,x,y,z,A,k,l,w,B,u);s=c[w>>2]|0;q=_(c[m>>2]|0,s)|0;r=_(c[B>>2]|0,q)|0;t=D+(e*5640|0)+8|0;p=Qc(_((c[t>>2]|0)+1|0,r)|0,2)|0;h=f+4|0;c[h>>2]=p;if(!p){Uc(v);Uc(u);g=c[h>>2]|0;if(g){Uc(g);c[h>>2]=0}if(E){b=f;n=0;while(1){m=b+196|0;g=c[m>>2]|0;if(g){d=b+192|0;h=c[d>>2]|0;if(h){l=0;while(1){j=g+12|0;k=c[j>>2]|0;if(k){Uc(k);c[j>>2]=0;h=c[d>>2]|0}l=l+1|0;if(l>>>0>=h>>>0)break;else g=g+16|0}g=c[m>>2]|0}Uc(g);c[m>>2]=0}n=n+1|0;if((n|0)==(E|0))break;else b=b+232|0}}Uc(f);E=0;i=F;return E|0}g=c[f+196>>2]|0;p=c[b+24>>2]|0;c[f+200>>2]=c[x>>2];c[f+204>>2]=c[z>>2];c[f+208>>2]=c[y>>2];c[f+212>>2]=c[A>>2];c[f+20>>2]=1;c[f+16>>2]=s;c[f+12>>2]=q;c[f+8>>2]=r;m=c[f+192>>2]|0;if(m){b=0;d=p;while(1){j=c[g+12>>2]|0;h=c[u+(b<<2)>>2]|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];l=c[g+8>>2]|0;if(l){k=0;while(1){c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];k=k+1|0;if(k>>>0>=l>>>0)break;else{h=h+16|0;j=j+16|0}}}b=b+1|0;if(b>>>0>=m>>>0)break;else{g=g+16|0;d=d+52|0}}}if(E>>>0>1){m=f;o=1;do{g=c[m+428>>2]|0;c[m+432>>2]=c[x>>2];c[m+436>>2]=c[z>>2];c[m+440>>2]=c[y>>2];c[m+444>>2]=c[A>>2];c[m+252>>2]=1;c[m+248>>2]=s;c[m+244>>2]=q;c[m+240>>2]=r;b=c[m+424>>2]|0;if(b){n=0;d=p;while(1){j=c[g+12>>2]|0;h=c[u+(n<<2)>>2]|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];l=c[g+8>>2]|0;if(l){k=0;while(1){c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];k=k+1|0;if(k>>>0>=l>>>0)break;else{h=h+16|0;j=j+16|0}}}n=n+1|0;if(n>>>0>=b>>>0)break;else{g=g+16|0;d=d+52|0}}}c[m+236>>2]=c[m+4>>2];m=m+232|0;o=o+1|0}while((o|0)!=(E|0))}Uc(v);Uc(u);m=c[w>>2]|0;if(!(a[D+(e*5640|0)+5636>>0]&4)){d=c[B>>2]|0;l=(c[C>>2]|0)+1|0;if(!l){E=f;i=F;return E|0}k=c[D+(e*5640|0)+4>>2]|0;g=c[t>>2]|0;h=f;j=0;while(1){c[h+80>>2]=k;c[h+40>>2]=1;c[h+44>>2]=0;c[h+48>>2]=0;c[h+64>>2]=0;c[h+68>>2]=0;c[h+56>>2]=d;c[h+60>>2]=c[h+192>>2];c[h+52>>2]=g;c[h+72>>2]=m;j=j+1|0;if((j|0)==(l|0))break;else h=h+232|0}i=F;return f|0}else{j=(c[C>>2]|0)+1|0;if(!j){E=f;i=F;return E|0}k=f;g=D+(e*5640|0)+424|0;h=0;while(1){c[k+80>>2]=c[g+36>>2];c[k+40>>2]=1;c[k+44>>2]=c[g>>2];c[k+48>>2]=c[g+4>>2];c[k+64>>2]=0;c[k+68>>2]=0;c[k+56>>2]=c[g+12>>2];c[k+60>>2]=c[g+16>>2];c[k+52>>2]=c[g+8>>2];c[k+72>>2]=m;h=h+1|0;if((h|0)==(j|0))break;else{k=k+232|0;g=g+148|0}}i=F;return f|0}return 0}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!a)return;d=a+4|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0}if(b){k=a;l=0;while(1){j=k+196|0;d=c[j>>2]|0;if(d){i=k+192|0;e=c[i>>2]|0;if(e){h=0;while(1){f=d+12|0;g=c[f>>2]|0;if(g){Uc(g);c[f>>2]=0;e=c[i>>2]|0}h=h+1|0;if(h>>>0>=e>>>0)break;else d=d+16|0}d=c[j>>2]|0}Uc(d);c[j>>2]=0}l=l+1|0;if((l|0)==(b|0))break;else k=k+232|0}}Uc(a);return}function Lf(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+32|0;G=L+28|0;F=L+24|0;B=L+20|0;C=L+16|0;D=L+12|0;E=L+8|0;H=L+4|0;I=L;J=f+76|0;x=c[J>>2]|0;K=(c[x+(g*5640|0)+420>>2]|0)+1|0;A=e+16|0;z=Pc((c[A>>2]|0)*528|0)|0;if(!z){g=0;i=L;return g|0}y=Pc(c[A>>2]<<2)|0;if(!y){Uc(z);g=0;i=L;return g|0}j=Pf(e,c[J>>2]|0,g)|0;if(!j){Uc(z);Uc(y);g=0;i=L;return g|0}k=c[A>>2]|0;if(k){l=0;m=z;while(1){c[y+(l<<2)>>2]=m;l=l+1|0;if(l>>>0>=k>>>0)break;else m=m+528|0}}Qf(e,f,g,B,C,D,E,H,I,F,G,y);u=c[F>>2]|0;v=_(c[A>>2]|0,u)|0;w=_(c[G>>2]|0,v)|0;a[j>>0]=(d[f+93>>0]|0)>>>3&1;t=Qc(_(c[x+(g*5640|0)+8>>2]|0,w)|0,2)|0;l=j+4|0;c[l>>2]=t;if(!t){Uc(z);Uc(y);k=c[l>>2]|0;if(k){Uc(k);c[l>>2]=0}if(K){q=j;r=0;while(1){p=q+196|0;k=c[p>>2]|0;if(k){o=q+192|0;l=c[o>>2]|0;if(l){n=0;while(1){m=k+12|0;e=c[m>>2]|0;if(e){Uc(e);c[m>>2]=0;l=c[o>>2]|0}n=n+1|0;if(n>>>0>=l>>>0)break;else k=k+16|0}k=c[p>>2]|0}Uc(k);c[p>>2]=0}r=r+1|0;if((r|0)==(K|0))break;else q=q+232|0}}Uc(j);g=0;i=L;return g|0}k=c[j+196>>2]|0;t=c[e+24>>2]|0;c[j+200>>2]=c[B>>2];c[j+204>>2]=c[D>>2];c[j+208>>2]=c[C>>2];c[j+212>>2]=c[E>>2];c[j+224>>2]=c[H>>2];c[j+228>>2]=c[I>>2];c[j+20>>2]=1;c[j+16>>2]=u;c[j+12>>2]=v;c[j+8>>2]=w;p=c[j+192>>2]|0;if(p){q=0;o=t;while(1){m=c[k+12>>2]|0;l=c[y+(q<<2)>>2]|0;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];n=c[k+8>>2]|0;if(n){e=0;while(1){c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];e=e+1|0;if(e>>>0>=n>>>0)break;else{l=l+16|0;m=m+16|0}}}q=q+1|0;if(q>>>0>=p>>>0)break;else{k=k+16|0;o=o+52|0}}}if(K>>>0>1){p=j;s=1;do{k=c[p+428>>2]|0;c[p+432>>2]=c[B>>2];c[p+436>>2]=c[D>>2];c[p+440>>2]=c[C>>2];c[p+444>>2]=c[E>>2];c[p+456>>2]=c[H>>2];c[p+460>>2]=c[I>>2];c[p+252>>2]=1;c[p+248>>2]=u;c[p+244>>2]=v;c[p+240>>2]=w;q=c[p+424>>2]|0;if(q){r=0;o=t;while(1){m=c[k+12>>2]|0;l=c[y+(r<<2)>>2]|0;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];n=c[k+8>>2]|0;if(n){e=0;while(1){c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];e=e+1|0;if(e>>>0>=n>>>0)break;else{l=l+16|0;m=m+16|0}}}r=r+1|0;if(r>>>0>=q>>>0)break;else{k=k+16|0;o=o+52|0}}}c[p+236>>2]=c[p+4>>2];p=p+232|0;s=s+1|0}while((s|0)!=(K|0))}Uc(z);Uc(y);do{if(a[x+(g*5640|0)+5636>>0]&4){k=b[f>>1]|0;if((k&65535)>2){if(!((h|0)==1|(k&65535)<7))break}else if((h|0)!=1)break;Rf(c[J>>2]|0,g,c[B>>2]|0,c[C>>2]|0,c[D>>2]|0,c[E>>2]|0,c[F>>2]|0,c[H>>2]|0,c[I>>2]|0);g=j;i=L;return g|0}}while(0);w=c[A>>2]|0;v=c[B>>2]|0;u=c[C>>2]|0;t=c[D>>2]|0;s=c[E>>2]|0;r=c[F>>2]|0;q=c[G>>2]|0;p=c[H>>2]|0;o=c[I>>2]|0;k=c[J>>2]|0;m=(c[k+(g*5640|0)+420>>2]|0)+1|0;if(!m){g=j;i=L;return g|0}e=c[k+(g*5640|0)+8>>2]|0;n=c[k+(g*5640|0)+4>>2]|0;k=k+(g*5640|0)+424|0;l=0;while(1){c[k+76>>2]=0;c[k+92>>2]=w;c[k+72>>2]=0;c[k+88>>2]=q;c[k+68>>2]=0;c[k+84>>2]=e;c[k+36>>2]=n;c[k+80>>2]=0;c[k+96>>2]=r;c[k+100>>2]=v;c[k+104>>2]=u;c[k+108>>2]=t;c[k+112>>2]=s;c[k+116>>2]=p;c[k+120>>2]=o;l=l+1|0;if((l|0)==(m|0))break;else k=k+148|0}i=L;return j|0}function Mf(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;Q=c[e+76>>2]|0;R=Q+(f*5640|0)+424+(g*148|0)+36|0;S=Vc(c[R>>2]|0)|0;c[d+(g*232|0)+40>>2]=1;T=d+(g*232|0)+44|0;c[d+(g*232|0)+80>>2]=c[R>>2];do{if(a[e+93>>0]&8){k=b[e>>1]|0;if((k&65535)>2){if(!((j|0)==1&(k&65535)>6|(k+-3&65535)<4))break}else if(!((j|0)==1|(k+-3&65535)<4))break;k=i+1|0;a:do{if((k|0)<4){j=Q+(f*5640|0)+424+(g*148|0)+72|0;l=Q+(f*5640|0)+424+(g*148|0)+88|0;m=d+(g*232|0)+56|0;n=Q+(f*5640|0)+424+(g*148|0)+76|0;o=d+(g*232|0)+48|0;p=Q+(f*5640|0)+424+(g*148|0)+92|0;q=d+(g*232|0)+60|0;r=Q+(f*5640|0)+424+(g*148|0)+68|0;s=d+(g*232|0)+64|0;t=Q+(f*5640|0)+424+(g*148|0)+84|0;u=d+(g*232|0)+52|0;v=Q+(f*5640|0)+424+(g*148|0)+80|0;w=d+(g*232|0)+68|0;x=Q+(f*5640|0)+424+(g*148|0)+96|0;y=d+(g*232|0)+72|0;z=Q+(f*5640|0)+424+(g*148|0)+100|0;A=d+(g*232|0)+96|0;B=Q+(f*5640|0)+424+(g*148|0)+108|0;C=d+(g*232|0)+104|0;D=Q+(f*5640|0)+424+(g*148|0)+104|0;E=d+(g*232|0)+100|0;F=Q+(f*5640|0)+424+(g*148|0)+112|0;G=d+(g*232|0)+108|0;while(1){b:do{switch(a[S+k>>0]|0){case 82:{c[T>>2]=c[j>>2];c[m>>2]=c[l>>2];break}case 67:{c[o>>2]=c[n>>2];c[q>>2]=c[p>>2];break}case 76:{c[s>>2]=c[r>>2];c[u>>2]=c[t>>2];break}case 80:if((c[R>>2]|0)>>>0<2){c[w>>2]=c[v>>2];c[y>>2]=c[x>>2];break b}else{c[A>>2]=c[z>>2];c[C>>2]=c[B>>2];c[E>>2]=c[D>>2];c[G>>2]=c[F>>2];break b}default:{}}}while(0);k=k+1|0;if((k|0)==4)break a}}}while(0);k=(i|0)>-1;if(!h){if(!k)return;m=Q+(f*5640|0)+424+(g*148|0)+76|0;n=Q+(f*5640|0)+424+(g*148|0)+132|0;o=d+(g*232|0)+48|0;p=d+(g*232|0)+60|0;q=Q+(f*5640|0)+424+(g*148|0)+72|0;r=Q+(f*5640|0)+424+(g*148|0)+128|0;s=d+(g*232|0)+56|0;t=Q+(f*5640|0)+424+(g*148|0)+68|0;u=Q+(f*5640|0)+424+(g*148|0)+124|0;v=d+(g*232|0)+64|0;w=d+(g*232|0)+52|0;x=Q+(f*5640|0)+424+(g*148|0)+80|0;y=Q+(f*5640|0)+424+(g*148|0)+136|0;z=d+(g*232|0)+68|0;A=d+(g*232|0)+72|0;B=Q+(f*5640|0)+424+(g*148|0)+100|0;C=Q+(f*5640|0)+424+(g*148|0)+140|0;D=Q+(f*5640|0)+424+(g*148|0)+108|0;E=Q+(f*5640|0)+424+(g*148|0)+144|0;F=d+(g*232|0)+96|0;G=Q+(f*5640|0)+424+(g*148|0)+116|0;h=d+(g*232|0)+100|0;H=d+(g*232|0)+104|0;l=Q+(f*5640|0)+424+(g*148|0)+120|0;j=d+(g*232|0)+108|0;k=i;while(1){c:do{switch(a[S+k>>0]|0){case 67:{g=c[m>>2]|0;c[o>>2]=g;g=g+1|0;c[p>>2]=g;c[n>>2]=g;break}case 82:{g=c[q>>2]|0;c[T>>2]=g;g=g+1|0;c[s>>2]=g;c[r>>2]=g;break}case 76:{g=c[t>>2]|0;c[v>>2]=g;g=g+1|0;c[w>>2]=g;c[u>>2]=g;break}case 80:if((c[R>>2]|0)>>>0<2){g=c[x>>2]|0;c[z>>2]=g;g=g+1|0;c[A>>2]=g;c[y>>2]=g;break c}else{g=c[B>>2]|0;i=c[D>>2]|0;c[F>>2]=g;f=c[G>>2]|0;f=f+g-((g>>>0)%(f>>>0)|0)|0;c[h>>2]=f;c[H>>2]=i;g=c[l>>2]|0;g=g+i-((i>>>0)%(g>>>0)|0)|0;c[j>>2]=g;c[C>>2]=f;c[E>>2]=g;break c}default:{}}}while(0);if((k|0)>0)k=k+-1|0;else break}return}if(!k)return;L=Q+(f*5640|0)+424+(g*148|0)+128|0;M=Q+(f*5640|0)+424+(g*148|0)+88|0;N=Q+(f*5640|0)+424+(g*148|0)+72|0;O=d+(g*232|0)+56|0;P=Q+(f*5640|0)+424+(g*148|0)+132|0;p=Q+(f*5640|0)+424+(g*148|0)+92|0;q=Q+(f*5640|0)+424+(g*148|0)+76|0;r=d+(g*232|0)+48|0;s=d+(g*232|0)+60|0;t=Q+(f*5640|0)+424+(g*148|0)+124|0;u=Q+(f*5640|0)+424+(g*148|0)+84|0;v=Q+(f*5640|0)+424+(g*148|0)+68|0;w=d+(g*232|0)+64|0;x=d+(g*232|0)+52|0;y=Q+(f*5640|0)+424+(g*148|0)+136|0;z=Q+(f*5640|0)+424+(g*148|0)+96|0;A=Q+(f*5640|0)+424+(g*148|0)+80|0;B=d+(g*232|0)+68|0;C=d+(g*232|0)+72|0;D=Q+(f*5640|0)+424+(g*148|0)+140|0;E=Q+(f*5640|0)+424+(g*148|0)+104|0;F=d+(g*232|0)+96|0;G=Q+(f*5640|0)+424+(g*148|0)+116|0;h=d+(g*232|0)+100|0;H=Q+(f*5640|0)+424+(g*148|0)+144|0;I=Q+(f*5640|0)+424+(g*148|0)+112|0;J=d+(g*232|0)+104|0;K=Q+(f*5640|0)+424+(g*148|0)+120|0;n=d+(g*232|0)+108|0;o=Q+(f*5640|0)+424+(g*148|0)+100|0;m=Q+(f*5640|0)+424+(g*148|0)+108|0;l=i;k=1;while(1){j=S+l|0;d:do{switch(a[j>>0]|0){case 67:{i=c[P>>2]|0;c[r>>2]=i+-1;c[s>>2]=i;break}case 82:{i=c[L>>2]|0;c[T>>2]=i+-1;c[O>>2]=i;break}case 76:{i=c[t>>2]|0;c[w>>2]=i+-1;c[x>>2]=i;break}case 80:if((c[R>>2]|0)>>>0<2){i=c[y>>2]|0;c[B>>2]=i+-1;c[C>>2]=i;break d}else{i=c[D>>2]|0;Q=c[G>>2]|0;c[F>>2]=i-Q-((i>>>0)%(Q>>>0)|0);c[h>>2]=i;i=c[H>>2]|0;Q=c[K>>2]|0;c[J>>2]=i-Q-((i>>>0)%(Q>>>0)|0);c[n>>2]=i;break d}default:{}}}while(0);e:do{if((k|0)==1)switch(a[j>>0]|0){case 82:{k=c[L>>2]|0;if((k|0)!=(c[M>>2]|0)){c[T>>2]=k;k=k+1|0;c[O>>2]=k;c[L>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[N>>2]|0;c[T>>2]=k;k=k+1|0;c[O>>2]=k;c[L>>2]=k;k=1;break e}case 67:{k=c[P>>2]|0;if((k|0)!=(c[p>>2]|0)){c[r>>2]=k;k=k+1|0;c[s>>2]=k;c[P>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[q>>2]|0;c[r>>2]=k;k=k+1|0;c[s>>2]=k;c[P>>2]=k;k=1;break e}case 76:{k=c[t>>2]|0;if((k|0)!=(c[u>>2]|0)){c[w>>2]=k;k=k+1|0;c[x>>2]=k;c[t>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[v>>2]|0;c[w>>2]=k;k=k+1|0;c[x>>2]=k;c[t>>2]=k;k=1;break e}case 80:{if((c[R>>2]|0)>>>0<2){k=c[y>>2]|0;if((k|0)!=(c[z>>2]|0)){c[B>>2]=k;k=k+1|0;c[C>>2]=k;c[y>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[A>>2]|0;c[B>>2]=k;k=k+1|0;c[C>>2]=k;c[y>>2]=k;k=1;break e}k=c[D>>2]|0;if(k>>>0<(c[E>>2]|0)>>>0){c[F>>2]=k;i=c[G>>2]|0;k=i+k-((k>>>0)%(i>>>0)|0)|0;c[h>>2]=k;c[D>>2]=k;k=0;break e}j=c[H>>2]|0;if(j>>>0<(c[I>>2]|0)>>>0){c[J>>2]=j;i=c[K>>2]|0;k=0;j=i+j-((j>>>0)%(i>>>0)|0)|0}else{if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}i=c[m>>2]|0;c[H>>2]=i;c[J>>2]=i;j=c[K>>2]|0;k=1;j=j+i-((i>>>0)%(j>>>0)|0)|0}c[n>>2]=j;c[H>>2]=j;Q=c[o>>2]|0;c[F>>2]=Q;i=c[G>>2]|0;i=i+Q-((Q>>>0)%(i>>>0)|0)|0;c[h>>2]=i;c[D>>2]=i;break e}default:{k=1;break e}}}while(0);if((l|0)>0)l=l+-1|0;else break}return}}while(0);c[T>>2]=c[Q+(f*5640|0)+424+(g*148|0)+72>>2];c[d+(g*232|0)+56>>2]=c[Q+(f*5640|0)+424+(g*148|0)+88>>2];c[d+(g*232|0)+48>>2]=c[Q+(f*5640|0)+424+(g*148|0)+76>>2];c[d+(g*232|0)+60>>2]=c[Q+(f*5640|0)+424+(g*148|0)+92>>2];c[d+(g*232|0)+64>>2]=c[Q+(f*5640|0)+424+(g*148|0)+68>>2];c[d+(g*232|0)+52>>2]=c[Q+(f*5640|0)+424+(g*148|0)+84>>2];c[d+(g*232|0)+68>>2]=c[Q+(f*5640|0)+424+(g*148|0)+80>>2];c[d+(g*232|0)+72>>2]=c[Q+(f*5640|0)+424+(g*148|0)+96>>2];c[d+(g*232|0)+96>>2]=c[Q+(f*5640|0)+424+(g*148|0)+100>>2];c[d+(g*232|0)+104>>2]=c[Q+(f*5640|0)+424+(g*148|0)+108>>2];c[d+(g*232|0)+100>>2]=c[Q+(f*5640|0)+424+(g*148|0)+104>>2];c[d+(g*232|0)+108>>2]=c[Q+(f*5640|0)+424+(g*148|0)+112>>2];return}function Nf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;I=c[d+76>>2]|0;K=c[d+24>>2]|0;N=(e>>>0)%(K>>>0)|0;K=(e>>>0)/(K>>>0)|0;L=c[d+4>>2]|0;H=c[d+12>>2]|0;G=(_(H,N)|0)+L|0;M=c[b>>2]|0;M=(G|0)>(M|0)?G:M;L=(_(H,N+1|0)|0)+L|0;N=c[b+8>>2]|0;N=(L|0)<(N|0)?L:N;L=c[d+8>>2]|0;H=c[d+16>>2]|0;G=(_(H,K)|0)+L|0;J=c[b+4>>2]|0;J=(G|0)>(J|0)?G:J;L=(_(H,K+1|0)|0)+L|0;K=c[b+12>>2]|0;K=(L|0)<(K|0)?L:K;L=c[b+16>>2]|0;if(!L){l=0;k=2147483647;j=2147483647;i=0}else{D=K+-1|0;E=N+-1|0;F=J+-1|0;G=M+-1|0;l=0;k=2147483647;j=2147483647;i=0;H=0;A=c[b+24>>2]|0;B=c[I+(e*5640|0)+5584>>2]|0;while(1){x=c[A>>2]|0;y=c[A+4>>2]|0;z=c[B+4>>2]|0;i=z>>>0>i>>>0?z:i;if(z){v=(D+y|0)/(y|0)|0;t=(E+x|0)/(x|0)|0;r=(F+y|0)/(y|0)|0;p=(G+x|0)/(x|0)|0;p=Si(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;q=C;r=Si(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;s=C;t=Si(t|0,((t|0)<0)<<31>>31|0,-1,-1)|0;u=C;v=Si(v|0,((v|0)<0)<<31>>31|0,-1,-1)|0;w=C;d=0;o=0;while(1){m=c[B+812+(o<<2)>>2]|0;n=c[B+944+(o<<2)>>2]|0;g=d+-1+z|0;h=x<>>0>>0?k:h;j=j>>>0>>0?j:O;O=Ri(1,0,g|0)|0;h=C;d=Si(p|0,q|0,O|0,h|0)|0;d=Pi(d|0,C|0,g|0)|0;f=Si(r|0,s|0,O|0,h|0)|0;f=Pi(f|0,C|0,g|0)|0;b=Si(t|0,u|0,O|0,h|0)|0;b=Pi(b|0,C|0,g|0)|0;h=Si(v|0,w|0,O|0,h|0)|0;g=Pi(h|0,C|0,g|0)|0;h=Ri(1,0,n|0)|0;h=Si(h|0,C|0,-1,-1)|0;h=Si(h|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;h=Pi(h|0,C|0,n|0)|0;if((d|0)==(b|0))d=0;else{O=Ri(1,0,m|0)|0;O=Si(O|0,C|0,-1,-1)|0;O=Si(O|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;O=Pi(O|0,C|0,m|0)|0;d=(O<>m<>m}b=_(d,(f|0)==(g|0)?0:(h<>n<>n)|0;l=b>>>0>l>>>0?b:l;b=o+1|0;if(b>>>0>>0){d=~o;o=b}else break}}H=H+1|0;if(H>>>0>=L>>>0)break;else{A=A+52|0;B=B+1080|0}}}if(a[I+(e*5640|0)+5636>>0]&4){Rf(I,e,M,N,J,K,l,k,j);return}f=(c[I+(e*5640|0)+420>>2]|0)+1|0;if(!f)return;g=c[I+(e*5640|0)+8>>2]|0;h=c[I+(e*5640|0)+4>>2]|0;d=I+(e*5640|0)+424|0;b=0;while(1){c[d+76>>2]=0;c[d+92>>2]=L;c[d+72>>2]=0;c[d+88>>2]=i;c[d+68>>2]=0;c[d+84>>2]=g;c[d+36>>2]=h;c[d+80>>2]=0;c[d+96>>2]=l;c[d+100>>2]=M;c[d+104>>2]=N;c[d+108>>2]=J;c[d+112>>2]=K;c[d+116>>2]=k;c[d+120>>2]=j;b=b+1|0;if((b|0)==(f|0))break;else d=d+148|0}return}function Of(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0;switch(c[d+80>>2]|0){case 0:{e=d+40|0;if(!(c[e>>2]|0)){E=d+32|0;l=E;E=c[E>>2]|0;f=18}else{c[e>>2]=0;t=c[d+64>>2]|0;c[d+36>>2]=t;f=5}while(1){if((f|0)==5){if(t>>>0>=(c[d+52>>2]|0)>>>0){nb=0;f=153;break}z=c[d+44>>2]|0;c[d+28>>2]=z;f=7}else if((f|0)==18){j=E+1|0;c[l>>2]=j;h=l;f=14}while(1){if((f|0)==7){f=0;if(z>>>0>=(c[d+56>>2]|0)>>>0){f=21;break}A=c[d+48>>2]|0;p=d+24|0;c[p>>2]=A}else if((f|0)==14){if(j>>>0<(c[d+72>>2]|0)>>>0){f=16;break}F=d+24|0;n=F;F=c[F>>2]|0;f=19}while(1){if((f|0)==19){f=0;A=F+1|0;c[n>>2]=A;p=n}if(A>>>0>=(c[d+60>>2]|0)>>>0){f=20;break}B=c[d+196>>2]|0;C=c[d+28>>2]|0;if(C>>>0<(c[B+(A<<4)+8>>2]|0)>>>0)break;else{n=p;F=A;f=19}}if((f|0)==20){f=d+28|0;z=(c[f>>2]|0)+1|0;c[f>>2]=z;f=7;continue}e=c[B+(A<<4)+12>>2]|0;if(!(a[d>>0]|0))c[d+72>>2]=_(c[e+(C<<4)+12>>2]|0,c[e+(C<<4)+8>>2]|0)|0;j=c[d+68>>2]|0;h=d+32|0;c[h>>2]=j;f=14}if((f|0)==16){f=0;D=_(c[d+8>>2]|0,c[d+36>>2]|0)|0;D=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+D|0;D=D+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;D=D+(_(c[d+20>>2]|0,j)|0)|0;D=(c[d+4>>2]|0)+(D<<1)|0;if(!(b[D>>1]|0))break;else{l=h;E=j;f=18;continue}}else if((f|0)==21){f=d+36|0;t=(c[f>>2]|0)+1|0;c[f>>2]=t;f=5;continue}}if((f|0)==153)return nb|0;b[D>>1]=1;d=1;return d|0}case 1:{e=d+40|0;if(!(c[e>>2]|0)){x=d+32|0;k=x;x=c[x>>2]|0;f=38}else{c[e>>2]=0;G=c[d+44>>2]|0;c[d+28>>2]=G;f=25}while(1){if((f|0)==25){if(G>>>0>=(c[d+56>>2]|0)>>>0){nb=0;f=153;break}r=c[d+64>>2]|0;c[d+36>>2]=r;f=27}else if((f|0)==38){i=x+1|0;c[k>>2]=i;g=k;f=34}while(1){if((f|0)==27){f=0;if(r>>>0>=(c[d+52>>2]|0)>>>0){f=41;break}s=c[d+48>>2]|0;o=d+24|0;c[o>>2]=s}else if((f|0)==34){if(i>>>0<(c[d+72>>2]|0)>>>0){f=36;break}y=d+24|0;m=y;y=c[y>>2]|0;f=39}while(1){if((f|0)==39){f=0;s=y+1|0;c[m>>2]=s;o=m}if(s>>>0>=(c[d+60>>2]|0)>>>0){f=40;break}u=c[d+196>>2]|0;v=c[d+28>>2]|0;if(v>>>0<(c[u+(s<<4)+8>>2]|0)>>>0)break;else{m=o;y=s;f=39}}if((f|0)==40){f=d+36|0;r=(c[f>>2]|0)+1|0;c[f>>2]=r;f=27;continue}e=c[u+(s<<4)+12>>2]|0;if(!(a[d>>0]|0))c[d+72>>2]=_(c[e+(v<<4)+12>>2]|0,c[e+(v<<4)+8>>2]|0)|0;i=c[d+68>>2]|0;g=d+32|0;c[g>>2]=i;f=34}if((f|0)==36){f=0;w=_(c[d+8>>2]|0,c[d+36>>2]|0)|0;w=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+w|0;w=w+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;w=w+(_(c[d+20>>2]|0,i)|0)|0;w=(c[d+4>>2]|0)+(w<<1)|0;if(!(b[w>>1]|0))break;else{k=g;x=i;f=38;continue}}else if((f|0)==41){f=d+28|0;G=(c[f>>2]|0)+1|0;c[f>>2]=G;f=25;continue}}if((f|0)==153)return nb|0;b[w>>1]=1;d=1;return d|0}case 2:{e=d+40|0;if(!(c[e>>2]|0)){lb=d+36|0;Ta=lb;lb=c[lb>>2]|0;f=75}else{c[e>>2]=0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;q=c[d+192>>2]|0;if(q){r=c[d+196>>2]|0;e=0;f=0;s=0;do{j=c[r+(s<<4)+8>>2]|0;if(j){k=c[r+(s<<4)+12>>2]|0;l=c[r+(s<<4)>>2]|0;m=c[r+(s<<4)+4>>2]|0;n=j+-1|0;g=0;i=0;while(1){h=n+g|0;Sa=l<>2]|0);h=m<<(c[k+(i<<4)+4>>2]|0)+h;e=(e|0)==0?Sa:e>>>0>>0?e:Sa;f=(f|0)==0?h:f>>>0>>0?f:h;h=i+1|0;if((h|0)==(j|0))break;else{g=~i;i=h}}c[o>>2]=e;c[p>>2]=f}s=s+1|0}while((s|0)!=(q|0))}if(!(a[d>>0]|0)){c[d+104>>2]=c[d+204>>2];c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}J=c[d+44>>2]|0;c[d+28>>2]=J;f=54}while(1){if((f|0)==54){if(J>>>0>=(c[d+56>>2]|0)>>>0){nb=0;f=153;break}Xa=c[d+104>>2]|0;c[d+220>>2]=Xa;f=56}else if((f|0)==75){jb=lb+1|0;c[Ta>>2]=jb;Ua=Ta;f=71}while(1){if((f|0)==56){if((Xa|0)>=(c[d+108>>2]|0)){f=79;break}Ya=c[d+96>>2]|0;c[d+216>>2]=Ya;f=58}else if((f|0)==71){if(jb>>>0<(c[d+52>>2]|0)>>>0){f=73;break}mb=d+24|0;Va=mb;mb=c[mb>>2]|0;f=76}while(1){if((f|0)==58){if((Ya|0)>=(c[d+100>>2]|0)){f=78;break}Za=c[d+48>>2]|0;Wa=d+24|0;c[Wa>>2]=Za}else if((f|0)==76){Za=mb+1|0;c[Va>>2]=Za;Wa=Va}if(Za>>>0>=(c[d+60>>2]|0)>>>0){Ya=c[d+224>>2]|0;f=d+216|0;Sa=c[f>>2]|0;Ya=Sa+Ya-((Sa|0)%(Ya|0)|0)|0;c[f>>2]=Ya;f=58;continue}f=c[d+196>>2]|0;m=c[d+28>>2]|0;e=c[f+(Za<<4)+8>>2]|0;if(m>>>0>=e>>>0){Va=Wa;mb=Za;f=76;continue}n=c[f+(Za<<4)+12>>2]|0;i=e+~m|0;j=c[d+200>>2]|0;k=c[f+(Za<<4)>>2]|0;_a=k<>2]|0;Sa=c[f+(Za<<4)+4>>2]|0;ab=Sa<>2]|0)|0)/(_a|0)|0;db=ab+-1|0;f=(db+(c[d+212>>2]|0)|0)/(ab|0)|0;eb=c[n+(m<<4)>>2]|0;g=eb+i|0;fb=c[n+(m<<4)+4>>2]|0;h=fb+i|0;gb=c[d+220>>2]|0;if((gb|0)%(Sa<>2]|0;if((hb|0)%(k<>2]|0;if(!ib){Va=Wa;mb=Za;f=76;continue}if((bb|0)==(f|0)|(($a|0)==(e|0)?1:(c[n+(m<<4)+12>>2]|0)==0)){Va=Wa;mb=Za;f=76}else{f=70;break}}if((f|0)==70){c[d+32>>2]=(((cb+hb|0)/(_a|0)|0)>>eb)-($a>>eb)+(_((((db+gb|0)/(ab|0)|0)>>fb)-(bb>>fb)|0,ib)|0);jb=c[d+64>>2]|0;Ua=d+36|0;c[Ua>>2]=jb;f=71;continue}else if((f|0)==78){Xa=c[d+228>>2]|0;f=d+220|0;Sa=c[f>>2]|0;Xa=Sa+Xa-((Sa|0)%(Xa|0)|0)|0;c[f>>2]=Xa;f=56;continue}}if((f|0)==73){f=0;kb=_(c[d+8>>2]|0,jb)|0;kb=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+kb|0;kb=kb+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;kb=kb+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;kb=(c[d+4>>2]|0)+(kb<<1)|0;if(!(b[kb>>1]|0))break;else{Ta=Ua;lb=jb;f=75;continue}}else if((f|0)==79){f=d+28|0;J=(c[f>>2]|0)+1|0;c[f>>2]=J;f=54;continue}}if((f|0)==153)return nb|0;b[kb>>1]=1;d=1;return d|0}case 3:{f=d+40|0;if(!(c[f>>2]|0)){Ra=c[d+24>>2]|0;Ka=d+36|0;pa=Ka;Ka=c[Ka>>2]|0;Na=Ra;Ra=(c[d+196>>2]|0)+(Ra<<4)|0;f=113}else{c[f>>2]=0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;q=c[d+192>>2]|0;if(q){r=c[d+196>>2]|0;e=0;f=0;s=0;do{j=c[r+(s<<4)+8>>2]|0;if(j){k=c[r+(s<<4)+12>>2]|0;l=c[r+(s<<4)>>2]|0;m=c[r+(s<<4)+4>>2]|0;n=j+-1|0;g=0;i=0;while(1){h=n+g|0;mb=l<>2]|0);h=m<<(c[k+(i<<4)+4>>2]|0)+h;e=(e|0)==0?mb:e>>>0>>0?e:mb;f=(f|0)==0?h:f>>>0>>0?f:h;h=i+1|0;if((h|0)==(j|0))break;else{g=~i;i=h}}c[o>>2]=e;c[p>>2]=f}s=s+1|0}while((s|0)!=(q|0))}if(!(a[d>>0]|0)){e=c[d+204>>2]|0;c[d+104>>2]=e;c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}else e=c[d+104>>2]|0;c[d+220>>2]=e;f=93}while(1){if((f|0)==93){if((e|0)>=(c[d+108>>2]|0)){nb=0;f=153;break}ta=c[d+96>>2]|0;c[d+216>>2]=ta;f=95}else if((f|0)==113){Ha=Ka+1|0;c[pa>>2]=Ha;qa=pa;Ia=Na;Qa=Ra;f=109}while(1){if((f|0)==95){if((ta|0)>=(c[d+100>>2]|0)){f=117;break}ua=c[d+48>>2]|0;c[d+24>>2]=ua;f=97}else if((f|0)==109){if(Ha>>>0<(c[d+52>>2]|0)>>>0){f=111;break}La=d+28|0;ra=La;La=c[La>>2]|0;Oa=Ia;Sa=Qa;f=114}while(1){if((f|0)==97){if(ua>>>0>=(c[d+60>>2]|0)>>>0){f=116;break}Pa=(c[d+196>>2]|0)+(ua<<4)|0;va=c[d+44>>2]|0;sa=d+28|0;c[sa>>2]=va;Ma=ua}else if((f|0)==114){va=La+1|0;c[ra>>2]=va;sa=ra;Ma=Oa;Pa=Sa}mb=c[d+56>>2]|0;f=c[Pa+8>>2]|0;if(va>>>0>=(mb>>>0>>0?mb:f)>>>0){ua=Ma+1|0;c[d+24>>2]=ua;f=97;continue}n=c[Pa+12>>2]|0;f=f+~va|0;g=c[d+200>>2]|0;h=c[Pa>>2]|0;wa=h<>2]|0;mb=c[Pa+4>>2]|0;ya=mb<>2]|0)|0)/(wa|0)|0;Ba=ya+-1|0;k=(Ba+(c[d+212>>2]|0)|0)/(ya|0)|0;Ca=c[n+(va<<4)>>2]|0;l=Ca+f|0;Da=c[n+(va<<4)+4>>2]|0;m=Da+f|0;Ea=c[d+220>>2]|0;if((Ea|0)%(mb<>2]|0;if((Fa|0)%(h<>2]|0;if(!Ga){ra=sa;La=va;Oa=Ma;Sa=Pa;f=114;continue}if((za|0)==(k|0)|((xa|0)==(j|0)?1:(c[n+(va<<4)+12>>2]|0)==0)){ra=sa;La=va;Oa=Ma;Sa=Pa;f=114}else{f=108;break}}if((f|0)==108){c[d+32>>2]=(((Aa+Fa|0)/(wa|0)|0)>>Ca)-(xa>>Ca)+(_((((Ba+Ea|0)/(ya|0)|0)>>Da)-(za>>Da)|0,Ga)|0);Ha=c[d+64>>2]|0;qa=d+36|0;c[qa>>2]=Ha;Ia=Ma;Qa=Pa;f=109;continue}else if((f|0)==116){ta=c[d+224>>2]|0;f=d+216|0;mb=c[f>>2]|0;ta=mb+ta-((mb|0)%(ta|0)|0)|0;c[f>>2]=ta;f=95;continue}}if((f|0)==111){f=0;Ja=_(c[d+8>>2]|0,Ha)|0;Ja=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+Ja|0;Ja=Ja+(_(c[d+16>>2]|0,Ia)|0)|0;Ja=Ja+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;Ja=(c[d+4>>2]|0)+(Ja<<1)|0;if(!(b[Ja>>1]|0))break;else{pa=qa;Ka=Ha;Na=Ia;Ra=Qa;f=113;continue}}else if((f|0)==117){e=c[d+228>>2]|0;f=d+220|0;mb=c[f>>2]|0;e=mb+e-((mb|0)%(e|0)|0)|0;c[f>>2]=e;f=93;continue}}if((f|0)==153)return nb|0;b[Ja>>1]=1;d=1;return d|0}case 4:{e=d+40|0;if(!(c[e>>2]|0)){na=c[d+24>>2]|0;ea=d+36|0;K=ea;ea=c[ea>>2]|0;ga=na;na=(c[d+196>>2]|0)+(na<<4)|0;f=148}else{c[e>>2]=0;O=c[d+48>>2]|0;c[d+24>>2]=O;f=121}while(1){if((f|0)==121){if(O>>>0>=(c[d+60>>2]|0)>>>0){nb=0;f=153;break}e=c[d+196>>2]|0;q=e+(O<<4)|0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;l=c[e+(O<<4)+8>>2]|0;if(l){m=c[e+(O<<4)+12>>2]|0;n=c[q>>2]|0;h=c[e+(O<<4)+4>>2]|0;i=l+-1|0;f=0;e=0;g=0;k=0;while(1){j=i+g|0;mb=n<>2]|0);j=h<<(c[m+(k<<4)+4>>2]|0)+j;f=(f|0)==0?mb:f>>>0>>0?f:mb;e=(e|0)==0?j:e>>>0>>0?e:j;j=k+1|0;if((j|0)==(l|0))break;else{g=~k;k=j}}c[o>>2]=f;c[p>>2]=e}if(!(a[d>>0]|0)){e=c[d+204>>2]|0;c[d+104>>2]=e;c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}else e=c[d+104>>2]|0;c[d+220>>2]=e;H=e;I=O;f=130}else if((f|0)==148){ba=ea+1|0;c[K>>2]=ba;L=K;ca=ga;ma=na;f=144}while(1){if((f|0)==130){if((H|0)>=(c[d+108>>2]|0)){f=152;break}P=c[d+96>>2]|0;c[d+216>>2]=P;ha=I;ka=q;f=132}else if((f|0)==144){if(ba>>>0<(c[d+52>>2]|0)>>>0){f=146;break}fa=d+28|0;M=fa;fa=c[fa>>2]|0;ja=ca;oa=ma;f=149}while(1){if((f|0)==132){if((P|0)>=(c[d+100>>2]|0)){f=151;break}Q=c[d+44>>2]|0;N=d+28|0;c[N>>2]=Q;ia=ha;la=ka}else if((f|0)==149){Q=fa+1|0;c[M>>2]=Q;N=M;ia=ja;la=oa}mb=c[d+56>>2]|0;e=c[la+8>>2]|0;if(Q>>>0>=(mb>>>0>>0?mb:e)>>>0){P=c[d+224>>2]|0;ha=d+216|0;ka=c[ha>>2]|0;P=ka+P-((ka|0)%(P|0)|0)|0;c[ha>>2]=P;ha=ia;ka=la;f=132;continue}m=c[la+12>>2]|0;e=e+~Q|0;f=c[d+200>>2]|0;g=c[la>>2]|0;R=g<>2]|0;mb=c[la+4>>2]|0;T=mb<>2]|0)|0)/(R|0)|0;W=T+-1|0;j=(W+(c[d+212>>2]|0)|0)/(T|0)|0;X=c[m+(Q<<4)>>2]|0;k=X+e|0;Y=c[m+(Q<<4)+4>>2]|0;l=Y+e|0;Z=c[d+220>>2]|0;if((Z|0)%(mb<>2]|0;if(($|0)%(g<>2]|0;if(!aa){M=N;fa=Q;ja=ia;oa=la;f=149;continue}if((U|0)==(j|0)|((S|0)==(i|0)?1:(c[m+(Q<<4)+12>>2]|0)==0)){M=N;fa=Q;ja=ia;oa=la;f=149}else{f=143;break}}if((f|0)==143){c[d+32>>2]=(((V+$|0)/(R|0)|0)>>X)-(S>>X)+(_((((W+Z|0)/(T|0)|0)>>Y)-(U>>Y)|0,aa)|0);ba=c[d+64>>2]|0;L=d+36|0;c[L>>2]=ba;ca=ia;ma=la;f=144;continue}else if((f|0)==151){H=c[d+228>>2]|0;I=d+220|0;q=c[I>>2]|0;H=q+H-((q|0)%(H|0)|0)|0;c[I>>2]=H;I=ha;q=ka;f=130;continue}}if((f|0)==146){f=0;da=_(c[d+8>>2]|0,ba)|0;da=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+da|0;da=da+(_(c[d+16>>2]|0,ca)|0)|0;da=da+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;da=(c[d+4>>2]|0)+(da<<1)|0;if(!(b[da>>1]|0))break;else{K=L;ea=ba;ga=ca;na=ma;f=148;continue}}else if((f|0)==152){O=I+1|0;c[d+24>>2]=O;f=121;continue}}if((f|0)==153)return nb|0;b[da>>1]=1;d=1;return d|0}default:{d=0;return d|0}}return 0}function Pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=(c[b+(d*5640|0)+420>>2]|0)+1|0;e=Qc(l,232)|0;if(!e){l=0;return l|0}if(!l){l=e;return l|0}j=a+16|0;g=b+(d*5640|0)+5584|0;a=c[j>>2]|0;h=e;i=0;a:while(1){b=Qc(a,16)|0;f=h+196|0;c[f>>2]=b;if(!b){a=5;break}k=c[j>>2]|0;c[h+192>>2]=k;b:do{if(!k)a=0;else{a=(c[g>>2]|0)+4|0;k=Qc(c[a>>2]|0,16)|0;c[b+12>>2]=k;if(!k){a=18;break a}else d=0;while(1){c[b+(d<<4)+8>>2]=c[a>>2];d=d+1|0;a=c[j>>2]|0;if(d>>>0>=a>>>0)break b;b=c[f>>2]|0;a=(c[g>>2]|0)+(d*1080|0)+4|0;k=Qc(c[a>>2]|0,16)|0;c[b+(d<<4)+12>>2]=k;if(!k){a=18;break a}}}}while(0);i=i+1|0;if(i>>>0>=l>>>0){a=32;break}else h=h+232|0}if((a|0)==5){a=e+4|0;b=c[a>>2]|0;if(!b){j=e;k=0}else{Uc(b);c[a>>2]=0;j=e;k=0}while(1){i=j+196|0;a=c[i>>2]|0;if(a){h=j+192|0;b=c[h>>2]|0;if(b){g=0;while(1){d=a+12|0;f=c[d>>2]|0;if(f){Uc(f);c[d>>2]=0;b=c[h>>2]|0}g=g+1|0;if(g>>>0>=b>>>0)break;else a=a+16|0}a=c[i>>2]|0}Uc(a);c[i>>2]=0}k=k+1|0;if((k|0)==(l|0))break;else j=j+232|0}Uc(e);l=0;return l|0}else if((a|0)==18){a=e+4|0;b=c[a>>2]|0;if(!b){j=e;k=0}else{Uc(b);c[a>>2]=0;j=e;k=0}while(1){i=j+196|0;a=c[i>>2]|0;if(a){h=j+192|0;b=c[h>>2]|0;if(b){g=0;while(1){d=a+12|0;f=c[d>>2]|0;if(f){Uc(f);c[d>>2]=0;b=c[h>>2]|0}g=g+1|0;if(g>>>0>=b>>>0)break;else a=a+16|0}a=c[i>>2]|0}Uc(a);c[i>>2]=0}k=k+1|0;if((k|0)==(l|0))break;else j=j+232|0}Uc(e);l=0;return l|0}else if((a|0)==32)return e|0;return 0}function Qf(a,b,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;o=c[(c[b+76>>2]|0)+(d*5640|0)+5584>>2]|0;n=c[a+24>>2]|0;I=c[b+24>>2]|0;H=b+12|0;G=(_(c[H>>2]|0,(d>>>0)%(I>>>0)|0)|0)+(c[b+4>>2]|0)|0;F=c[a>>2]|0;c[e>>2]=G>>>0>F>>>0?G:F;G=Si(c[H>>2]|0,0,G|0,0)|0;G=G|0-C;H=c[a+8>>2]|0;c[f>>2]=G>>>0>>0?G:H;H=b+16|0;I=(_(c[H>>2]|0,(d>>>0)/(I>>>0)|0)|0)+(c[b+8>>2]|0)|0;G=c[a+4>>2]|0;c[g>>2]=I>>>0>G>>>0?I:G;I=Si(c[H>>2]|0,0,I|0,0)|0;I=I|0-C;H=c[a+12>>2]|0;c[h>>2]=I>>>0>>0?I:H;c[k>>2]=0;c[l>>2]=0;c[i>>2]=2147483647;c[j>>2]=2147483647;H=a+16|0;if(!(c[H>>2]|0))return;else I=0;while(1){r=c[m+(I<<2)>>2]|0;p=c[n>>2]|0;a=((c[e>>2]|0)+-1+p|0)/(p|0)|0;F=n+4|0;q=c[F>>2]|0;d=((c[g>>2]|0)+-1+q|0)/(q|0)|0;p=(p+-1+(c[f>>2]|0)|0)/(p|0)|0;q=(q+-1+(c[h>>2]|0)|0)/(q|0)|0;G=o+4|0;b=c[G>>2]|0;if(b>>>0>(c[l>>2]|0)>>>0){c[l>>2]=b;b=c[G>>2]|0}if(b){D=Si(a|0,((a|0)<0)<<31>>31|0,-1,-1)|0;E=C;A=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;B=C;y=Si(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;z=C;w=Si(q|0,((q|0)<0)<<31>>31|0,-1,-1)|0;x=C;v=0;while(1){b=b+-1|0;p=c[o+812+(v<<2)>>2]|0;u=c[o+944+(v<<2)>>2]|0;c[r>>2]=p;c[r+4>>2]=u;s=c[n>>2]<>2]<>2]|0;c[i>>2]=(a|0)<(s|0)?a:s;s=c[j>>2]|0;c[j>>2]=(s|0)<(J|0)?s:J;J=Ri(1,0,b|0)|0;s=C;a=Si(D|0,E|0,J|0,s|0)|0;a=Pi(a|0,C|0,b|0)|0;q=Si(A|0,B|0,J|0,s|0)|0;q=Pi(q|0,C|0,b|0)|0;d=Si(y|0,z|0,J|0,s|0)|0;d=Pi(d|0,C|0,b|0)|0;s=Si(w|0,x|0,J|0,s|0)|0;s=Pi(s|0,C|0,b|0)|0;J=Ri(1,0,u|0)|0;t=C;K=Si(s|0,((s|0)<0)<<31>>31|0,-1,-1)|0;t=Si(K|0,C|0,J|0,t|0)|0;t=Pi(t|0,C|0,u|0)|0;if((a|0)==(d|0))a=0;else{d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;J=C;K=Ri(1,0,p|0)|0;K=Si(d|0,J|0,K|0,C|0)|0;K=Pi(K|0,C|0,p|0)|0;a=(K<>p<>p}K=(q|0)==(s|0)?0:(t<>u<>u;c[r+8>>2]=a;c[r+12>>2]=K;a=_(a,K)|0;if(a>>>0>(c[k>>2]|0)>>>0)c[k>>2]=a;v=v+1|0;if(v>>>0>=(c[G>>2]|0)>>>0)break;else r=r+16|0}}I=I+1|0;if(I>>>0>=(c[H>>2]|0)>>>0)break;else{n=n+52|0;o=o+1080|0}}return}function Rf(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;k=(c[a+(b*5640|0)+420>>2]|0)+1|0;c[a+(b*5640|0)+500>>2]=c[a+(b*5640|0)+428>>2];c[a+(b*5640|0)+516>>2]=c[a+(b*5640|0)+440>>2];c[a+(b*5640|0)+496>>2]=c[a+(b*5640|0)+424>>2];c[a+(b*5640|0)+512>>2]=c[a+(b*5640|0)+436>>2];c[a+(b*5640|0)+508>>2]=c[a+(b*5640|0)+432>>2];c[a+(b*5640|0)+492>>2]=0;c[a+(b*5640|0)+460>>2]=c[a+(b*5640|0)+456>>2];c[a+(b*5640|0)+504>>2]=0;c[a+(b*5640|0)+520>>2]=h;c[a+(b*5640|0)+524>>2]=d;c[a+(b*5640|0)+528>>2]=e;c[a+(b*5640|0)+532>>2]=f;c[a+(b*5640|0)+536>>2]=g;c[a+(b*5640|0)+540>>2]=i;c[a+(b*5640|0)+544>>2]=j;if(k>>>0<=1)return;a=a+(b*5640|0)+572|0;b=1;while(1){c[a+76>>2]=c[a+4>>2];c[a+92>>2]=c[a+16>>2];c[a+72>>2]=c[a>>2];c[a+88>>2]=c[a+12>>2];l=c[a+8>>2]|0;c[a+84>>2]=l;c[a+36>>2]=c[a+32>>2];c[a+80>>2]=0;c[a+68>>2]=l>>>0>(c[a+-64>>2]|0)>>>0?l:0;c[a+96>>2]=h;c[a+100>>2]=d;c[a+104>>2]=e;c[a+108>>2]=f;c[a+112>>2]=g;c[a+116>>2]=i;c[a+120>>2]=j;b=b+1|0;if((b|0)==(k|0))break;else a=a+148|0}return}function Sf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=c[d+76>>2]|0;if((b|0)>-1)h=b;else{e=0;return e|0}a:while(1){switch(a[g+h>>0]|0){case 82:{i=3;break a}case 67:{i=5;break a}case 76:{i=7;break a}case 80:{i=9;break a}default:{}}h=h+-1|0}if((i|0)==3)if((c[j+(e*5640|0)+424+(f*148|0)+128>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+88>>2]|0))return(Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==5)if((c[j+(e*5640|0)+424+(f*148|0)+132>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+92>>2]|0))return(Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==7)if((c[j+(e*5640|0)+424+(f*148|0)+124>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+84>>2]|0))return(Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==9){if((c[j+(e*5640|0)+424+(f*148|0)+36>>2]|0)>>>0<2)if((c[j+(e*5640|0)+424+(f*148|0)+136>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+96>>2]|0))return(Sf(h+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}if((c[j+(e*5640|0)+424+(f*148|0)+140>>2]|0)!=(c[j+(e*5640|0)+424+(f*148|0)+104>>2]|0)){e=1;return e|0}if((c[j+(e*5640|0)+424+(f*148|0)+144>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+112>>2]|0))return(Sf(h+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}}return 0}function Tf(b){b=b|0;var d=0,e=0;d=Qc(1,44)|0;if(!d){b=0;return b|0}e=d+40|0;a[e>>0]=a[e>>0]&-2|(b|0)!=0;b=Qc(1,4)|0;c[d+20>>2]=b;if(b){e=d;return e|0}Uc(d);e=0;return e|0}function Uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+1200|0;N=O;e=c[c[a+20>>2]>>2]|0;M=e+16|0;f=c[M>>2]|0;if(!f){i=O;return}J=e+20|0;K=(c[a+32>>2]|0)+8|0;L=(c[a+28>>2]|0)+88|0;H=a+24|0;I=(b|0)==0;F=(d|0)==0;G=b+-1|0;e=f;E=0;do{j=c[J>>2]|0;k=c[K>>2]|0;C=c[j+(E*52|0)+16>>2]|0;if(k){if(C){a=c[L>>2]|0;g=+((c[(c[(c[H>>2]|0)+24>>2]|0)+(E*52|0)+24>>2]|0)>>>0)*.0625;f=0;do{d=_(C,f)|0;h=0;do{D=(d+h|0)*3|0;c[N+(f*120|0)+(h*12|0)>>2]=~~(+(c[a+(D<<2)>>2]|0)*g);c[N+(f*120|0)+(h*12|0)+4>>2]=~~(+(c[a+(D+1<<2)>>2]|0)*g);c[N+(f*120|0)+(h*12|0)+8>>2]=~~(+(c[a+(D+2<<2)>>2]|0)*g);h=h+1|0}while(h>>>0>>0);f=f+1|0}while(f>>>0>>0);D=9}}else D=9;if((D|0)==9){D=0;if(C){w=j+(E*52|0)+24|0;B=0;do{x=c[w>>2]|0;y=x+(B*136|0)+24|0;e=c[y>>2]|0;if(e){z=x+(B*136|0)+16|0;A=x+(B*136|0)+20|0;a=c[A>>2]|0;d=c[z>>2]|0;v=0;do{if(_(a,d)|0){s=x+(B*136|0)+28+(v*36|0)+20|0;t=N+(b*120|0)+(B*12|0)+(v<<2)|0;u=N+(G*120|0)+(B*12|0)+(v<<2)|0;r=0;do{e=c[s>>2]|0;q=_(c[e+(r*40|0)+20>>2]|0,c[e+(r*40|0)+16>>2]|0)|0;if(q){m=e+(r*40|0)+24|0;n=c[t>>2]|0;p=0;do{k=c[m>>2]|0;l=k+(p*52|0)|0;o=c[k+(p*52|0)+4>>2]|0;e=(c[(c[(c[H>>2]|0)+24>>2]|0)+(E*52|0)+24>>2]|0)-(c[k+(p*52|0)+28>>2]|0)|0;if(!I){a=c[u>>2]|0;d=n-a|0;if((a|0)<=(e|0)){d=d+(a-e)|0;d=(d|0)<0?0:d}}else{c[k+(p*52|0)+44>>2]=0;d=(n|0)>(e|0)?n-e|0:0}j=k+(p*52|0)+44|0;f=c[j>>2]|0;h=(f|0)==0;if(h)if(!d)d=0;else d=(d*3|0)+-2|0;else d=(d*3|0)+f|0;c[o+(b*24|0)>>2]=d-f;do{if((d|0)!=(f|0)){a=c[k+(p*52|0)+8>>2]|0;e=c[a+((d+-1|0)*24|0)>>2]|0;if(h)c[o+(b*24|0)+16>>2]=c[l>>2];else{k=c[a+((f+-1|0)*24|0)>>2]|0;c[o+(b*24|0)+16>>2]=(c[l>>2]|0)+k;e=e-k|0}c[o+(b*24|0)+4>>2]=e;if(F)break;c[j>>2]=d}}while(0);p=p+1|0}while(p>>>0>>0);a=c[A>>2]|0;d=c[z>>2]|0}r=r+1|0}while(r>>>0<(_(a,d)|0)>>>0);e=c[y>>2]|0}v=v+1|0}while(v>>>0>>0)}B=B+1|0}while(B>>>0>>0);e=c[M>>2]|0}}E=E+1|0}while(E>>>0>>0);i=O;return}function Vf(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;a=c[c[a+20>>2]>>2]|0;G=a+40+(b<<3)|0;h[G>>3]=0;H=a+16|0;f=c[H>>2]|0;if(!f)return;E=a+20|0;F=(b|0)==0;D=(e|0)==0;a=f;C=0;do{f=c[E>>2]|0;B=c[f+(C*52|0)+16>>2]|0;if(B){v=f+(C*52|0)+24|0;A=0;do{w=c[v>>2]|0;x=w+(A*136|0)+24|0;a=c[x>>2]|0;if(a){y=w+(A*136|0)+16|0;z=w+(A*136|0)+20|0;f=c[z>>2]|0;e=c[y>>2]|0;u=0;do{if(_(f,e)|0){t=w+(A*136|0)+28+(u*36|0)+20|0;s=0;do{a=c[t>>2]|0;r=_(c[a+(s*40|0)+20>>2]|0,c[a+(s*40|0)+16>>2]|0)|0;if(r){n=a+(s*40|0)+24|0;q=0;do{k=c[n>>2]|0;l=k+(q*52|0)|0;o=c[k+(q*52|0)+4>>2]|0;p=k+(q*52|0)+44|0;if(F){c[p>>2]=0;m=0}else m=c[p>>2]|0;e=c[k+(q*52|0)+48>>2]|0;if(m>>>0>>0){i=c[k+(q*52|0)+8>>2]|0;a=m;j=m;do{f=c[i+(j*24|0)>>2]|0;g=+h[i+(j*24|0)+8>>3];if(a){J=a+-1|0;g=g-+h[i+(J*24|0)+8>>3];f=f-(c[i+(J*24|0)>>2]|0)|0}do{if(!f){if(!(g!=0))break;a=j+1|0}else{if(!(d-g/+(f>>>0)<2.220446049250313e-16))break;a=j+1|0}}while(0);j=j+1|0}while(j>>>0>>0);i=a;c[o+(b*24|0)>>2]=i-m;if((i|0)!=(m|0)){e=i+-1|0;f=c[k+(q*52|0)+8>>2]|0;a=c[f+(e*24|0)>>2]|0;if(!m){c[o+(b*24|0)+16>>2]=c[l>>2];g=+h[f+(e*24|0)+8>>3]}else{m=m+-1|0;J=c[f+(m*24|0)>>2]|0;c[o+(b*24|0)+16>>2]=(c[l>>2]|0)+J;g=+h[f+(e*24|0)+8>>3]-+h[f+(m*24|0)+8>>3];a=a-J|0}c[o+(b*24|0)+4>>2]=a;h[o+(b*24|0)+8>>3]=g;h[G>>3]=g+ +h[G>>3];if(!D)c[p>>2]=i}else I=26}else{c[o+(b*24|0)>>2]=0;I=26}if((I|0)==26){I=0;h[o+(b*24|0)+8>>3]=0}q=q+1|0}while(q>>>0>>0);f=c[z>>2]|0;e=c[y>>2]|0}s=s+1|0}while(s>>>0<(_(f,e)|0)>>>0);a=c[x>>2]|0}u=u+1|0}while(u>>>0>>0)}A=A+1|0}while(A>>>0>>0);a=c[H>>2]|0}C=C+1|0}while(C>>>0>>0);return}function Wf(d,e,f,j,k){d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=i;i=i+800|0;V=W;S=c[d+28>>2]|0;T=c[c[d+20>>2]>>2]|0;U=c[d+32>>2]|0;O=T+24|0;c[O>>2]=0;Q=c[T+16>>2]|0;if(!Q){l=0;J=0;n=0;p=1.7976931348623157e308}else{M=c[T+20>>2]|0;N=c[(c[d+24>>2]|0)+24>>2]|0;l=0;R=0;o=0;n=0;p=1.7976931348623157e308;do{I=M+(R*52|0)+48|0;c[I>>2]=0;K=c[M+(R*52|0)+16>>2]|0;if(!K)m=0;else{L=c[M+(R*52|0)+24>>2]|0;m=0;H=0;do{E=c[L+(H*136|0)+24>>2]|0;if(E){F=_(c[L+(H*136|0)+20>>2]|0,c[L+(H*136|0)+16>>2]|0)|0;G=(F|0)==0;D=0;do{if(!G){C=c[L+(H*136|0)+28+(D*36|0)+20>>2]|0;B=0;do{z=_(c[C+(B*40|0)+20>>2]|0,c[C+(B*40|0)+16>>2]|0)|0;if(z){A=c[C+(B*40|0)+24>>2]|0;y=0;do{v=c[A+(y*52|0)+48>>2]|0;if(v){w=c[A+(y*52|0)+8>>2]|0;u=0;do{t=c[w+(u*24|0)>>2]|0;q=+h[w+(u*24|0)+8>>3];if(u){X=u+-1|0;q=q-+h[w+(X*24|0)+8>>3];t=t-(c[w+(X*24|0)>>2]|0)|0}do{if(t){q=q/+(t|0);p=qo))break;o=q}}while(0);u=u+1|0}while(u>>>0>>0)}X=_((c[A+(y*52|0)+24>>2]|0)-(c[A+(y*52|0)+16>>2]|0)|0,(c[A+(y*52|0)+20>>2]|0)-(c[A+(y*52|0)+12>>2]|0)|0)|0;l=X+l|0;m=X+m|0;y=y+1|0}while(y>>>0>>0);c[O>>2]=l;c[I>>2]=m}B=B+1|0}while(B>>>0>>0)}D=D+1|0}while(D>>>0>>0)}H=H+1|0}while(H>>>0>>0)}J=+(1<>2]|0)+-1;n=n+ +(m|0)*(J*J);R=R+1|0}while(R>>>0>>0);J=o}I=(k|0)!=0;if(I){R=c[d+36>>2]|0;Q=c[k+88>>2]|0;c[Q+(R*592|0)+552>>2]=l;h[Q+(R*592|0)+560>>3]=+h[T+32>>3];l=U+8|0;X=Pc(c[l>>2]<<3)|0;c[Q+(R*592|0)>>2]=X;if(!X){X=0;i=W;return X|0}}else l=U+8|0;if(!(c[l>>2]|0)){X=1;i=W;return X|0}z=T+32|0;A=S+93|0;B=d+36|0;C=k+88|0;D=T+40|0;E=d+24|0;F=d+8|0;G=d+16|0;H=0;while(1){o=+g[U+20+(H<<2)>>2];if(o!=0){w=~~+Z(+o)>>>0;w=w>>>0>>0?w:j}else w=j;s=+g[U+5184+(H<<2)>>2];x=+h[z>>3]-n/+P(10,+(s/10));X=a[A>>0]|0;if(!((X&1)!=0&o>0)?!((X&4)!=0&s>0):0)o=p;else{y=dh(c[E>>2]|0,S)|0;if(!y){l=0;m=57;break}v=H+1|0;m=V+(H+-1<<3)|0;t=T+40+(H<<3)|0;if(!H){r=J;m=0;s=p;q=0;do{o=(s+r)*.5;Vf(d,0,o,0);do{if(a[A>>0]&4){if(((b[S>>1]|0)+-3&65535)>=4){X=+h[D>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0))s=o;else{X=+h[D>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0)==0;r=X?r:o;s=X?o:s;q=X?q:o}}while(0);m=m+1|0}while((m|0)!=128)}else{r=J;u=0;s=p;q=0;do{o=(s+r)*.5;Vf(d,H,o,0);do{if(a[A>>0]&4){if(((b[S>>1]|0)+-3&65535)>=4){X=+h[m>>3]+ +h[t>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0))s=o;else{X=+h[m>>3]+ +h[t>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0)==0;r=X?r:o;s=X?o:s;q=X?q:o}}while(0);u=u+1|0}while((u|0)!=128)}eh(y);o=q==0?o:q}if(I)h[(c[(c[C>>2]|0)+((c[B>>2]|0)*592|0)>>2]|0)+(H<<3)>>3]=o;Vf(d,H,o,1);if(!H)o=+h[D>>3];else o=+h[V+(H+-1<<3)>>3]+ +h[T+40+(H<<3)>>3];h[V+(H<<3)>>3]=o;H=H+1|0;if(H>>>0>=(c[l>>2]|0)>>>0){l=1;m=57;break}}if((m|0)==57){i=W;return l|0}return 0}function Xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a+24>>2]=b;c[a+28>>2]=d;f=Qc(1,848)|0;e=a+20|0;c[c[e>>2]>>2]=f;if(!f){a=0;return a|0}f=b+16|0;g=Qc(c[f>>2]|0,52)|0;b=c[c[e>>2]>>2]|0;c[b+20>>2]=g;if(!g){g=0;return g|0}c[b+16>>2]=c[f>>2];c[a>>2]=c[d+84>>2];g=1;return g|0}function Yf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if(!b)return;s=b+20|0;d=c[s>>2]|0;do{if(d){r=(a[b+40>>0]&1)==0?3:4;e=c[d>>2]|0;if(e){o=e+20|0;k=e+16|0;if(c[k>>2]|0){m=0;n=c[o>>2]|0;while(1){l=n+24|0;d=c[l>>2]|0;if(d){i=c[n+28>>2]|0;j=(i>>>0)/136|0;if(i>>>0>135){i=0;while(1){h=d+48|0;e=c[h>>2]|0;if(e){f=c[d+52>>2]|0;g=(f>>>0)/40|0;if(f>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=d+84|0;e=c[h>>2]|0;if(e){t=c[d+88>>2]|0;g=(t>>>0)/40|0;if(t>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=d+120|0;e=c[h>>2]|0;if(e){t=c[d+124>>2]|0;g=(t>>>0)/40|0;if(t>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}i=i+1|0;if(i>>>0>=j>>>0)break;else d=d+136|0}d=c[l>>2]|0}Uc(d);c[l>>2]=0}if((c[n+36>>2]|0)!=0?(p=n+32|0,q=c[p>>2]|0,(q|0)!=0):0){Sc(q);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0}m=m+1|0;if(m>>>0>=(c[k>>2]|0)>>>0)break;else n=n+52|0}}Uc(c[o>>2]|0);c[o>>2]=0;Uc(c[c[s>>2]>>2]|0);d=c[s>>2]|0;c[d>>2]=0;if(!d)break}Uc(d);c[s>>2]=0}}while(0);Uc(b);return}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+32|0;f=c[e>>2]|0;b=a+40|0;d=c[b>>2]|0;if(f){g=a+44|0;if(d>>>0<=(c[g>>2]|0)>>>0){a=1;return a|0}if(c[a+36>>2]|0){Sc(f);f=Rc(c[b>>2]|0)|0;c[e>>2]=f;if(!f){c[g>>2]=0;c[b>>2]=0;c[a+36>>2]=0;a=0;return a|0}else{c[g>>2]=c[b>>2];c[a+36>>2]=1;a=1;return a|0}}}g=Rc(d)|0;c[e>>2]=g;if(!g){a=0;return a|0}c[a+44>>2]=c[b>>2];c[a+36>>2]=1;a=1;return a|0}function _f(a,b,c){a=a|0;b=b|0;c=c|0;return ig(a,b,1,1,52,c)|0}function $f(a,b,c){a=a|0;b=b|0;c=c|0;return ig(a,b,0,.5,56,c)|0}function ag(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;d=c[a+24>>2]|0;f=c[d+16>>2]|0;if(!f){g=0;return g|0}g=0;b=0;e=c[d+24>>2]|0;d=c[(c[c[a+20>>2]>>2]|0)+20>>2]|0;while(1){i=c[e+24>>2]|0;i=((i&7|0)!=0&1)+(i>>>3)|0;h=c[d+24>>2]|0;a=(c[d+20>>2]|0)+-1|0;b=(_(_((i|0)==3?4:i,(c[h+(a*136|0)+8>>2]|0)-(c[h+(a*136|0)>>2]|0)|0)|0,(c[h+(a*136|0)+12>>2]|0)-(c[h+(a*136|0)+4>>2]|0)|0)|0)+b|0;g=g+1|0;if(g>>>0>=f>>>0)break;else{e=e+52|0;d=d+52|0}}return b|0}function bg(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;w=y;if(!(c[b+8>>2]|0)){c[b+36>>2]=d;u=b+28|0;j=c[(c[u>>2]|0)+76>>2]|0;x=b+32|0;c[x>>2]=j+(d*5640|0);v=(h|0)==0;t=b+20|0;if(!v){k=c[(c[c[t>>2]>>2]|0)+20>>2]|0;o=c[j+(d*5640|0)+5584>>2]|0;p=k+16|0;if(!(c[p>>2]|0)){k=h+88|0;j=0}else{l=c[k+24>>2]|0;k=h+88|0;m=c[k>>2]|0;n=0;j=0;do{s=l+(n*136|0)+16|0;c[m+(d*592|0)+20+(n<<2)>>2]=c[s>>2];r=l+(n*136|0)+20|0;c[m+(d*592|0)+152+(n<<2)>>2]=c[r>>2];j=(_(c[r>>2]|0,c[s>>2]|0)|0)+j|0;c[m+(d*592|0)+284+(n<<2)>>2]=c[o+812+(n<<2)>>2];c[m+(d*592|0)+416+(n<<2)>>2]=c[o+944+(n<<2)>>2];n=n+1|0}while(n>>>0<(c[p>>2]|0)>>>0)}s=Qc(_(_(c[h+52>>2]|0,j)|0,c[h+56>>2]|0)|0,32)|0;c[(c[k>>2]|0)+(d*592|0)+548>>2]=s;if(!s){b=0;i=y;return b|0}}j=c[c[t>>2]>>2]|0;s=j+16|0;if(!(c[s>>2]|0)){n=c[x>>2]|0;l=0;k=c[j+20>>2]|0}else{n=c[x>>2]|0;k=c[j+20>>2]|0;d=0;q=c[n+5584>>2]|0;r=k;while(1){o=c[r+32>>2]|0;p=_((c[r+12>>2]|0)-(c[r+4>>2]|0)|0,(c[r+8>>2]|0)-(c[r>>2]|0)|0)|0;j=(p|0)==0;if((c[q+20>>2]|0)==1){if(!j){l=q+1076|0;m=0;j=o;while(1){c[j>>2]=(c[j>>2]|0)-(c[l>>2]|0);m=m+1|0;if((m|0)==(p|0))break;else j=j+4|0}}}else if(!j){l=q+1076|0;m=0;j=o;while(1){c[j>>2]=(c[j>>2]|0)-(c[l>>2]|0)<<11;m=m+1|0;if((m|0)==(p|0))break;else j=j+4|0}}d=d+1|0;l=c[s>>2]|0;if(d>>>0>=l>>>0)break;else{q=q+1080|0;r=r+52|0}}}o=_((c[k+12>>2]|0)-(c[k+4>>2]|0)|0,(c[k+8>>2]|0)-(c[k>>2]|0)|0)|0;a:do{switch(c[n+16>>2]|0){case 0:break;case 2:{if(c[n+5608>>2]|0){m=Pc(l<<2)|0;if(!m){b=0;i=y;return b|0}j=c[s>>2]|0;if(!j)j=0;else{l=0;while(1){c[m+(l<<2)>>2]=c[k+32>>2];l=l+1|0;if((l|0)==(j|0))break;else k=k+52|0}}s=(Gf(c[(c[x>>2]|0)+5608>>2]|0,o,m,j,c[(c[(c[b+24>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Uc(m);if(s){b=0;i=y;return b|0}}break}default:{l=c[k+32>>2]|0;m=c[k+84>>2]|0;j=c[k+136>>2]|0;if(!(c[(c[n+5584>>2]|0)+20>>2]|0)){Ef(l,m,j,o);break a}else{Cf(l,m,j,o);break a}}}}while(0);j=c[c[t>>2]>>2]|0;k=j+16|0;b:do{if(c[k>>2]|0){l=0;m=c[(c[x>>2]|0)+5584>>2]|0;j=c[j+20>>2]|0;c:while(1){switch(c[m+20>>2]|0){case 1:{if(!(Fg(j)|0)){j=0;k=54;break c}break}case 0:{if(!(Jg(j)|0)){j=0;k=54;break c}break}default:{}}l=l+1|0;if(l>>>0>=(c[k>>2]|0)>>>0)break b;else{m=m+1080|0;j=j+52|0}}if((k|0)==54){i=y;return j|0}}}while(0);j=c[x>>2]|0;k=Wg(1)|0;if(!k){b=0;i=y;return b|0}do{if((c[j+16>>2]|0)==1)if(!(c[(c[j+5584>>2]|0)+20>>2]|0)){l=Bf()|0;m=3;break}else{l=Af()|0;m=3;break}else{l=c[j+5600>>2]|0;m=c[(c[b+24>>2]|0)+16>>2]|0}}while(0);t=Zg(k,c[c[t>>2]>>2]|0,j,l,m)|0;Xg(k);if(!t){b=0;i=y;return b|0}j=c[u>>2]|0;c[w>>2]=0;if(!v)c[h+12>>2]=0;if(!(a[j+93>>0]&5)){if(c[(c[x>>2]|0)+8>>2]|0){j=0;do{Uf(b,j,1);j=j+1|0}while(j>>>0<(c[(c[x>>2]|0)+8>>2]|0)>>>0)}}else if(!(Wf(b,e,w,g,h)|0)){b=0;i=y;return b|0}}if(h)c[h+12>>2]=1;j=dh(c[b+24>>2]|0,c[b+28>>2]|0)|0;if(!j)j=1;else{b=bh(j,c[b+36>>2]|0,c[c[b+20>>2]>>2]|0,c[(c[b+32>>2]|0)+8>>2]|0,e,f,g,h,c[b+4>>2]|0,c[b>>2]|0,c[b+16>>2]|0,1)|0;eh(j);j=(b|0)==0}b=j&1^1;i=y;return b|0}function cg(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+16|0;m=u+8|0;l=u;k=u+12|0;j=a+36|0;c[j>>2]=e;t=c[a+28>>2]|0;p=a+32|0;c[p>>2]=(c[t+76>>2]|0)+(e*5640|0);c[k>>2]=0;o=a+24|0;e=dh(c[o>>2]|0,t)|0;if(!e){t=0;i=u;return t|0}n=a+20|0;t=ch(e,c[j>>2]|0,c[c[n>>2]>>2]|0,b,k,d,f,h)|0;eh(e);if(!t){t=0;i=u;return t|0}e=c[c[n>>2]>>2]|0;a=c[(c[p>>2]|0)+5584>>2]|0;j=c[e+20>>2]|0;d=Wg(0)|0;if(!d){t=0;i=u;return t|0}k=e+16|0;a:do{if(c[k>>2]|0){f=0;e=j;while(1){if(!(Yg(d,e,a)|0))break;f=f+1|0;if(f>>>0>=(c[k>>2]|0)>>>0)break a;else{a=a+1080|0;e=e+52|0}}Xg(d);t=0;i=u;return t|0}}while(0);Xg(d);e=c[c[n>>2]>>2]|0;j=e+16|0;do{if(c[j>>2]|0){k=0;f=c[(c[o>>2]|0)+24>>2]|0;d=c[(c[p>>2]|0)+5584>>2]|0;a=c[e+20>>2]|0;while(1){e=(c[f+36>>2]|0)+1|0;if((c[d+20>>2]|0)==1){if(!(Gg(a,e)|0)){e=0;a=49;break}}else if(!(Ng(a,e)|0)){e=0;a=49;break}k=k+1|0;if(k>>>0>=(c[j>>2]|0)>>>0){a=14;break}else{f=f+52|0;d=d+1080|0;a=a+52|0}}if((a|0)==14){e=c[c[n>>2]>>2]|0;break}else if((a|0)==49){i=u;return e|0}}}while(0);k=c[p>>2]|0;a=c[e+20>>2]|0;j=c[k+16>>2]|0;do{if(j){b=_((c[a+12>>2]|0)-(c[a+4>>2]|0)|0,(c[a+8>>2]|0)-(c[a>>2]|0)|0)|0;d=e+16|0;e=c[d>>2]|0;if(e>>>0<=2){c[m>>2]=e;Ub(h,1,19703,m)|0;break}if((_((c[a+64>>2]|0)-(c[a+56>>2]|0)|0,(c[a+60>>2]|0)-(c[a+52>>2]|0)|0)|0)>=(b|0)?(_((c[a+116>>2]|0)-(c[a+108>>2]|0)|0,(c[a+112>>2]|0)-(c[a+104>>2]|0)|0)|0)>=(b|0):0){if((j|0)!=2){e=c[a+32>>2]|0;if((c[(c[k+5584>>2]|0)+20>>2]|0)==1){Df(e,c[a+84>>2]|0,c[a+136>>2]|0,b);break}else{Ff(e,c[a+84>>2]|0,c[a+136>>2]|0,b);break}}f=k+5604|0;if(!(c[f>>2]|0))break;k=Pc(e<<2)|0;if(!k){t=0;i=u;return t|0}e=c[d>>2]|0;if(!e)e=0;else{j=0;while(1){c[k+(j<<2)>>2]=c[a+32>>2];j=j+1|0;if((j|0)==(e|0))break;else a=a+52|0}}t=(Hf(c[f>>2]|0,b,k,e,c[(c[(c[o>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Uc(k);if(t)e=0;else break;i=u;return e|0}Ub(h,1,19642,l)|0;t=0;i=u;return t|0}}while(0);e=c[c[n>>2]>>2]|0;s=e+16|0;if(!(c[s>>2]|0)){t=1;i=u;return t|0}t=0;r=c[(c[o>>2]|0)+24>>2]|0;q=c[(c[p>>2]|0)+5584>>2]|0;p=c[e+20>>2]|0;while(1){o=c[p+24>>2]|0;h=c[r+36>>2]|0;j=c[o+(h*136|0)+8>>2]|0;k=c[o+(h*136|0)>>2]|0;n=j-k|0;f=c[o+(h*136|0)+12>>2]|0;h=c[o+(h*136|0)+4>>2]|0;o=(c[p+8>>2]|0)-(c[p>>2]|0)-n|0;e=c[r+24>>2]|0;if(!(c[r+32>>2]|0)){e=1<>2]|0;a=(f|0)==(h|0);if((c[q+20>>2]|0)==1){if(!a){d=(j|0)==(k|0);b=q+1076|0;k=f-h|0;f=0;while(1){if(!d){a=0;j=e;while(1){h=(c[b>>2]|0)+(c[j>>2]|0)|0;c[j>>2]=(h|0)<(m|0)?m:(h|0)>(l|0)?l:h;a=a+1|0;if((a|0)==(n|0))break;else j=j+4|0}e=e+(n<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else e=e+(o<<2)|0}}}else if(!a){d=(j|0)==(k|0);b=q+1076|0;k=f-h|0;f=0;while(1){if(!d){a=0;j=e;while(1){h=Hh(+g[j>>2])|0;h=(c[b>>2]|0)+h|0;c[j>>2]=(h|0)<(m|0)?m:(h|0)>(l|0)?l:h;a=a+1|0;if((a|0)==(n|0))break;else j=j+4|0}e=e+(n<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else e=e+(o<<2)|0}}t=t+1|0;if(t>>>0>=(c[s>>2]|0)>>>0){e=1;break}else{r=r+52|0;q=q+1080|0;p=p+52|0}}i=u;return e|0}function dg(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d+24|0;m=c[q>>2]|0;h=c[m+16>>2]|0;l=(h|0)==0;if(l){q=1;return q|0}i=0;g=0;j=c[m+24>>2]|0;k=c[(c[c[d+20>>2]>>2]|0)+20>>2]|0;while(1){n=c[j+24>>2]|0;n=((n&7|0)!=0&1)+(n>>>3)|0;o=c[k+24>>2]|0;p=(c[k+20>>2]|0)+-1|0;g=(_(_((n|0)==3?4:n,(c[o+(p*136|0)+8>>2]|0)-(c[o+(p*136|0)>>2]|0)|0)|0,(c[o+(p*136|0)+12>>2]|0)-(c[o+(p*136|0)+4>>2]|0)|0)|0)+g|0;i=i+1|0;if((i|0)==(h|0))break;else{j=j+52|0;k=k+52|0}}g=g>>>0>f>>>0;if(g|l){q=g&1^1;return q|0}p=0;o=c[m+24>>2]|0;n=c[(c[c[d+20>>2]>>2]|0)+20>>2]|0;while(1){l=c[o+24>>2]|0;d=c[n+24>>2]|0;f=c[o+36>>2]|0;i=c[d+(f*136|0)+8>>2]|0;j=c[d+(f*136|0)>>2]|0;m=i-j|0;k=c[d+(f*136|0)+12>>2]|0;f=c[d+(f*136|0)+4>>2]|0;d=(c[n+8>>2]|0)-(c[n>>2]|0)-m|0;l=((l&7|0)!=0&1)+(l>>>3)|0;a:do{switch(((l|0)==3?4:l)|0){case 1:{g=c[n+32>>2]|0;h=(k|0)==(f|0);if(!(c[o+32>>2]|0)){if(h)break a;l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+m|0;i=0;h=g;while(1){a[e>>0]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+1|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}else{if(h)break a;l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+m|0;i=0;h=g;while(1){a[e>>0]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+1|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}case 2:{g=c[n+32>>2]|0;h=(k|0)==(f|0);if(!(c[o+32>>2]|0)){if(!h){l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+(m<<1)|0;i=0;h=g;while(1){b[e>>1]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+2|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}}else if(!h){l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+(m<<1)|0;i=0;h=g;while(1){b[e>>1]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+2|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}case 4:{if((k|0)!=(f|0)){l=(i|0)==(j|0);k=k-f|0;f=0;g=c[n+32>>2]|0;while(1){if(!l){j=e+(m<<2)|0;i=0;h=g;while(1){c[e>>2]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+4|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}default:{}}}while(0);p=p+1|0;if(p>>>0>=(c[(c[q>>2]|0)+16>>2]|0)>>>0){e=1;break}else{o=o+52|0;n=n+52|0}}return e|0}function eg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a+24>>2]|0;f=c[d+16>>2]|0;if(!f){g=0;return g|0}g=0;b=0;e=c[d+24>>2]|0;d=c[(c[c[a+20>>2]>>2]|0)+20>>2]|0;while(1){a=c[e+24>>2]|0;a=((a&7|0)!=0&1)+(a>>>3)|0;b=(_(_((c[d+12>>2]|0)-(c[d+4>>2]|0)|0,(c[d+8>>2]|0)-(c[d>>2]|0)|0)|0,(a|0)==3?4:a)|0)+b|0;g=g+1|0;if(g>>>0>=f>>>0)break;else{e=e+52|0;d=d+52|0}}return b|0}function fg(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=c[f+24>>2]|0;q=o+16|0;j=c[q>>2]|0;n=(j|0)==0;if(n)i=0;else{k=0;i=0;l=c[o+24>>2]|0;m=c[(c[c[f+20>>2]>>2]|0)+20>>2]|0;while(1){p=c[l+24>>2]|0;p=((p&7|0)!=0&1)+(p>>>3)|0;i=(_(_((c[m+12>>2]|0)-(c[m+4>>2]|0)|0,(c[m+8>>2]|0)-(c[m>>2]|0)|0)|0,(p|0)==3?4:p)|0)+i|0;k=k+1|0;if((k|0)==(j|0))break;else{l=l+52|0;m=m+52|0}}}i=(i|0)!=(h|0);if(i|n){q=i&1^1;return q|0}p=0;n=c[o+24>>2]|0;h=c[(c[c[f+20>>2]>>2]|0)+20>>2]|0;while(1){f=c[n+24>>2]|0;i=(c[h+8>>2]|0)-(c[h>>2]|0)|0;j=(c[h+12>>2]|0)-(c[h+4>>2]|0)|0;m=_(j,i)|0;f=((f&7|0)!=0&1)+(f>>>3)|0;a:do{switch(((f|0)==3?4:f)|0){case 1:{j=c[h+32>>2]|0;i=(m|0)==0;if(!(c[n+32>>2]|0)){if(i)break a;else{k=0;i=j;j=g}while(1){c[i>>2]=d[j>>0];k=k+1|0;if((k|0)==(m|0))break;else{i=i+4|0;j=j+1|0}}g=g+m|0;break a}else{if(i)break a;else{k=0;i=j;j=g}while(1){c[i>>2]=a[j>>0];k=k+1|0;if((k|0)==(m|0))break;else{i=i+4|0;j=j+1|0}}g=g+m|0;break a}}case 2:{l=c[h+32>>2]|0;k=(m|0)==0;if(!(c[n+32>>2]|0)){if(!k){k=g+(_(j<<1,i)|0)|0;j=0;i=l;while(1){c[i>>2]=e[g>>1];j=j+1|0;if((j|0)==(m|0))break;else{i=i+4|0;g=g+2|0}}g=k}}else if(!k){k=g+(_(j<<1,i)|0)|0;j=0;i=l;while(1){c[i>>2]=b[g>>1];j=j+1|0;if((j|0)==(m|0))break;else{i=i+4|0;g=g+2|0}}g=k}break}case 4:{if(m){k=g+(_(j<<2,i)|0)|0;i=0;j=c[h+32>>2]|0;while(1){c[j>>2]=c[g>>2];i=i+1|0;if((i|0)==(m|0))break;else{j=j+4|0;g=g+4|0}}g=k}break}default:{}}}while(0);p=p+1|0;if(p>>>0>=(c[q>>2]|0)>>>0){g=1;break}else{n=n+52|0;h=h+52|0}}return g|0}function gg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+24|0;b=c[g>>2]|0;if(!b)return;f=c[a+28>>2]|0;e=(f>>>0)/52|0;if(f>>>0>51){f=0;while(1){a=c[b>>2]|0;if(a){Uc(a+-1|0);c[b>>2]=0}a=b+4|0;d=c[a>>2]|0;if(d){Uc(d);c[a>>2]=0}a=b+8|0;d=c[a>>2]|0;if(d){Uc(d);c[a>>2]=0}f=f+1|0;if(f>>>0>=e>>>0)break;else b=b+52|0}b=c[g>>2]|0}Uc(b);c[g>>2]=0;return}function hg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+24|0;b=c[g>>2]|0;if(!b)return;f=c[a+28>>2]|0;e=(f>>>0)/56|0;if(f>>>0>55){f=0;while(1){a=c[b>>2]|0;if(a){Uc(a);c[b>>2]=0}d=b+4|0;a=c[d>>2]|0;if(a){Uc(a);c[d>>2]=0}f=f+1|0;if(f>>>0>=e>>>0)break;else b=b+56|0}b=c[g>>2]|0}Uc(b);c[g>>2]=0;return}function ig(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=+f;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0;Sa=i;i=i+80|0;La=Sa+64|0;Ka=Sa+56|0;Na=Sa+48|0;Pa=Sa+40|0;Oa=Sa+32|0;Qa=Sa+24|0;Ma=Sa+16|0;Ja=Sa+8|0;k=c[b+28>>2]|0;Ia=c[c[b+20>>2]>>2]|0;p=c[(c[k+76>>2]|0)+(d*5640|0)+5584>>2]|0;q=c[Ia+20>>2]|0;n=c[b+24>>2]|0;o=c[n+24>>2]|0;Fa=c[k+24>>2]|0;m=c[k+12>>2]|0;Ha=(_(m,(d>>>0)%(Fa>>>0)|0)|0)+(c[k+4>>2]|0)|0;l=c[n>>2]|0;l=Ha>>>0>l>>>0?Ha:l;c[Ia>>2]=l;Ha=Si(m|0,0,Ha|0,0)|0;Ha=Ha|0-C;m=c[n+8>>2]|0;m=Ha>>>0>>0?Ha:m;Ha=Ia+8|0;c[Ha>>2]=m;Ga=c[k+16>>2]|0;Fa=(_(Ga,(d>>>0)/(Fa>>>0)|0)|0)+(c[k+8>>2]|0)|0;d=c[n+4>>2]|0;d=Fa>>>0>d>>>0?Fa:d;Ea=Ia+4|0;c[Ea>>2]=d;Fa=Si(Ga|0,0,Fa|0,0)|0;Fa=Fa|0-C;n=c[n+12>>2]|0;n=Fa>>>0>>0?Fa:n;Fa=Ia+12|0;c[Fa>>2]=n;if(!(c[p+4>>2]|0)){Ub(j,1,19777,Sa)|0;Ra=0;i=Sa;return Ra|0}Ga=Ia+16|0;if(!(c[Ga>>2]|0)){Ra=1;i=Sa;return Ra|0}Da=k+80|0;Ca=b+40|0;Ba=(e|0)==0;k=d;Aa=0;a:while(1){c[o+36>>2]=0;va=c[o>>2]|0;d=(l+-1+va|0)/(va|0)|0;c[q>>2]=d;wa=c[o+4>>2]|0;k=(k+-1+wa|0)/(wa|0)|0;za=q+4|0;c[za>>2]=k;va=(m+-1+va|0)/(va|0)|0;ya=q+8|0;c[ya>>2]=va;wa=(n+-1+wa|0)/(wa|0)|0;xa=q+12|0;c[xa>>2]=wa;d=va-d|0;k=wa-k|0;if((4294967295/(d>>>0)|0)>>>0>>0){Ra=6;break}d=_(k,d)|0;if(d>>>0>1073741823){Ra=8;break}m=d<<2;va=c[p+4>>2]|0;wa=q+16|0;c[wa>>2]=va;b=c[Da>>2]|0;c[q+20>>2]=va>>>0>>0?1:va-b|0;b=q+40|0;c[b>>2]=m;do{if(a[Ca>>0]&1){e=q+32|0;l=c[e>>2]|0;if(l){k=q+44|0;if(m>>>0<=(c[k>>2]|0)>>>0)break;d=q+36|0;if(c[d>>2]|0){Sc(l);va=Rc(c[b>>2]|0)|0;c[e>>2]=va;if(!va){Ra=16;break a}c[k>>2]=c[b>>2];c[d>>2]=1;break}}va=Rc(m)|0;c[e>>2]=va;if(!va)break a;c[q+44>>2]=c[b>>2];c[q+36>>2]=1}}while(0);e=(c[wa>>2]|0)*136|0;k=q+24|0;b=c[k>>2]|0;if(b){d=q+28|0;if(e>>>0>(c[d>>2]|0)>>>0){b=Tc(b,e)|0;if(!b){Ra=24;break}c[k>>2]=b;va=c[d>>2]|0;Qi(b+va|0,0,e-va|0)|0;c[d>>2]=e}}else{d=Pc(e)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break}c[q+28>>2]=e;Qi(d|0,0,e|0)|0}d=c[wa>>2]|0;va=(c[p+20>>2]|0)==0?7:8;if(d){ra=p+8|0;sa=p+12|0;ta=o+24|0;ua=p+804|0;qa=c[k>>2]|0;k=p+28|0;b=0;while(1){oa=d;pa=d+-1|0;la=c[q>>2]|0;ma=Ri(1,0,pa|0)|0;ma=Si(ma|0,C|0,-1,-1)|0;na=C;la=Si(ma|0,na|0,la|0,((la|0)<0)<<31>>31|0)|0;la=Pi(la|0,C|0,pa|0)|0;c[qa>>2]=la;e=c[za>>2]|0;e=Si(ma|0,na|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,pa|0)|0;c[qa+4>>2]=e;d=c[ya>>2]|0;d=Si(ma|0,na|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,pa|0)|0;c[qa+8>>2]=d;l=c[xa>>2]|0;l=Si(ma|0,na|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Pi(l|0,C|0,pa|0)|0;c[qa+12>>2]=l;r=c[p+812+(b<<2)>>2]|0;n=c[p+944+(b<<2)>>2]|0;s=la>>r<>n<>31|0)|0;m=Pi(m|0,C|0,n|0)|0;if((la|0)==(d|0))d=0;else{la=Ri(1,0,r|0)|0;la=Si(la|0,C|0,-1,-1)|0;d=Si(la|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,r|0)|0;d=(d<>r}la=qa+16|0;c[la>>2]=d;ia=(e|0)==(l|0)?0:(m<>n;c[qa+20>>2]=ia;ia=_(ia,d)|0;ja=ia*40|0;ka=(b|0)==0;if(ka)d=1;else{s=Si(s|0,((s|0)<0)<<31>>31|0,1,0)|0;s=Ti(s|0,C|0,1)|0;t=Si(t|0,((t|0)<0)<<31>>31|0,1,0)|0;t=Ti(t|0,C|0,1)|0;d=3;n=n+-1|0;r=r+-1|0}ha=qa+24|0;c[ha>>2]=d;S=c[ra>>2]|0;S=S>>>0>>0?S:r;T=c[sa>>2]|0;T=T>>>0>>0?T:n;U=(ia|0)!=0;V=(ia|0)==0;W=1<>2]|0;d=Si(ma|0,na|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,pa|0)|0;k=c[za>>2]|0;k=Si(ma|0,na|0,k|0,((k|0)<0)<<31>>31|0)|0;k=Pi(k|0,C|0,pa|0)|0;e=c[ya>>2]|0;e=Si(ma|0,na|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,pa|0)|0;m=c[xa>>2]|0;m=Si(ma|0,na|0,m|0,((m|0)<0)<<31>>31|0)|0;m=Pi(m|0,C|0,pa|0)|0;l=0}else{l=fa+1|0;d=c[q>>2]|0;O=Ri(l&1|0,0,pa|0)|0;O=Oi(da|0,ea|0,O|0,C|0)|0;m=C;d=Si(O|0,m|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,oa|0)|0;k=c[za>>2]|0;P=Ri(l>>>1|0,0,pa|0)|0;P=Oi(da|0,ea|0,P|0,C|0)|0;Q=C;k=Si(P|0,Q|0,k|0,((k|0)<0)<<31>>31|0)|0;k=Pi(k|0,C|0,oa|0)|0;e=c[ya>>2]|0;e=Si(O|0,m|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,oa|0)|0;m=c[xa>>2]|0;m=Si(P|0,Q|0,m|0,((m|0)<0)<<31>>31|0)|0;m=Pi(m|0,C|0,oa|0)|0}c[ga+16>>2]=l;c[ga>>2]=d;Q=ga+4|0;c[Q>>2]=k;P=ga+8|0;c[P>>2]=e;O=ga+12|0;c[O>>2]=m;k=Wa[va&15](l)|0;Ta=+(c[R+4>>2]|0)*.00048828125+1;g[ga+32>>2]=+Gh(1,(c[ta>>2]|0)+k-(c[R>>2]|0)|0)*Ta*f;c[ga+28>>2]=(c[R>>2]|0)+-1+(c[ua>>2]|0);k=ga+20|0;e=c[k>>2]|0;if(!(U&(e|0)==0)){d=ga+24|0;if((c[d>>2]|0)>>>0>>0){e=Tc(e,ja)|0;if(!e){Ra=41;break a}c[k>>2]=e;N=c[d>>2]|0;Qi(e+N|0,0,ja-N|0)|0;c[d>>2]=ja}}else{d=Pc(ja)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break a}Qi(d|0,0,ja|0)|0;c[ga+24>>2]=ja}if(!V){M=c[k>>2]|0;N=0;while(1){F=c[la>>2]|0;J=(((N>>>0)%(F>>>0)|0)<>>0)/(F>>>0)|0)<>2]|0;I=(J|0)>(I|0)?J:I;c[M>>2]=I;J=c[Q>>2]|0;J=(F|0)>(J|0)?F:J;F=M+4|0;c[F>>2]=J;L=c[P>>2]|0;L=(G|0)<(L|0)?G:L;G=M+8|0;c[G>>2]=L;l=c[O>>2]|0;l=(H|0)<(l|0)?H:l;H=M+12|0;c[H>>2]=l;I=I>>S<>T<>31|0)|0;L=Pi(L|0,C|0,S|0)|0;l=Si($|0,aa|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Pi(l|0,C|0,T|0)|0;L=(L<>S;K=M+16|0;c[K>>2]=L;l=(l<>T;u=M+20|0;c[u>>2]=l;L=_(l,L)|0;l=_(L,h)|0;k=M+24|0;e=c[k>>2]|0;do{if((e|0)==0&(L|0)!=0){d=Pc(l)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break a}Qi(d|0,0,l|0)|0;c[M+28>>2]=l}else{d=M+28|0;if(l>>>0<=(c[d>>2]|0)>>>0)break;e=Tc(e,l)|0;if(!e){Ra=50;break a}c[k>>2]=e;E=c[d>>2]|0;Qi(e+E|0,0,l-E|0)|0;c[d>>2]=l}}while(0);m=M+32|0;d=c[m>>2]|0;e=c[K>>2]|0;l=c[u>>2]|0;if(!d)d=jg(e,l,j)|0;else d=lg(d,e,l,j)|0;c[m>>2]=d;if(!d)Ub(j,2,19990,Ka)|0;m=M+36|0;e=c[m>>2]|0;l=c[K>>2]|0;d=c[u>>2]|0;if(!e)d=jg(l,d,j)|0;else d=lg(e,l,d,j)|0;c[m>>2]=d;if(!d)Ub(j,2,20012,La)|0;if(L){E=0;do{A=c[K>>2]|0;z=(((E>>>0)%(A>>>0)|0)<>>0)/(A>>>0)|0)<>2]|0;e=d+(E*56|0)|0;l=c[e>>2]|0;if(!l){y=Pc(8192)|0;c[e>>2]=y;if(!y){d=0;Ra=87;break a}c[d+(E*56|0)+32>>2]=8192;y=Qc(10,32)|0;c[d+(E*56|0)+4>>2]=y;if(!y){d=0;Ra=87;break a}c[d+(E*56|0)+52>>2]=10}else{m=d+(E*56|0)+32|0;u=c[m>>2]|0;v=d+(E*56|0)+4|0;w=c[v>>2]|0;x=e;y=x+52|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));c[e>>2]=l;c[m>>2]=u;c[v>>2]=w}y=c[M>>2]|0;c[d+(E*56|0)+8>>2]=(z|0)>(y|0)?z:y;z=c[F>>2]|0;c[d+(E*56|0)+12>>2]=(A|0)>(z|0)?A:z;A=c[G>>2]|0;c[d+(E*56|0)+16>>2]=(B|0)<(A|0)?B:A;B=c[H>>2]|0;c[d+(E*56|0)+20>>2]=(D|0)<(B|0)?D:B}else{e=c[k>>2]|0;d=e+(E*52|0)+4|0;if((c[d>>2]|0)==0?(y=Qc(100,24)|0,c[d>>2]=y,(y|0)==0):0){d=0;Ra=87;break a}d=e+(E*52|0)+8|0;if((c[d>>2]|0)==0?(y=Qc(100,24)|0,c[d>>2]=y,(y|0)==0):0){d=0;Ra=87;break a}m=c[M>>2]|0;m=(z|0)>(m|0)?z:m;c[e+(E*52|0)+12>>2]=m;d=c[F>>2]|0;A=(A|0)>(d|0)?A:d;c[e+(E*52|0)+16>>2]=A;d=c[G>>2]|0;d=(B|0)<(d|0)?B:d;c[e+(E*52|0)+20>>2]=d;B=c[H>>2]|0;D=(D|0)<(B|0)?D:B;c[e+(E*52|0)+24>>2]=D;m=_(D-A|0,d-m<<2)|0;d=e+(E*52|0)+36|0;if(m>>>0<=(c[d>>2]|0)>>>0)break;l=e+(E*52|0)|0;e=c[l>>2]|0;if(e)Uc(e+-1|0);e=Pc(m|1)|0;c[l>>2]=e;if(!e){Ra=74;break a}c[d>>2]=m;a[e>>0]=0;c[l>>2]=(c[l>>2]|0)+1}}while(0);E=E+1|0}while(E>>>0>>0)}N=N+1|0;if(N>>>0>=ia>>>0)break;else M=M+40|0}}k=R+8|0;fa=fa+1|0;if(fa>>>0>=(c[ha>>2]|0)>>>0)break;else{ga=ga+36|0;R=k}}b=b+1|0;if(b>>>0<(c[wa>>2]|0)>>>0){d=pa;qa=qa+136|0}else break}}d=Aa+1|0;if(d>>>0>=(c[Ga>>2]|0)>>>0){d=1;Ra=87;break}l=c[Ia>>2]|0;k=c[Ea>>2]|0;m=c[Ha>>2]|0;n=c[Fa>>2]|0;Aa=d;o=o+52|0;p=p+1080|0;q=q+52|0}if((Ra|0)==6){Ub(j,1,19816,Ja)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==8){Ub(j,1,19816,Ma)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==16){c[k>>2]=0;c[b>>2]=0;c[d>>2]=0}else if((Ra|0)==24){Ub(j,1,19849,Oa)|0;Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==41){Ub(j,1,19889,Pa)|0;Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==50){Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ub(j,1,19932,Na)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==74){c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==87){i=Sa;return d|0}Ub(j,1,19816,Qa)|0;Ra=0;i=Sa;return Ra|0}function jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+288|0;l=v+16|0;j=v+8|0;t=v+152|0;u=v+24|0;e=Qc(1,20)|0;if(!e){Ub(d,1,20034,v)|0;u=0;i=v;return u|0}c[e>>2]=a;m=e+4|0;c[m>>2]=b;c[t>>2]=a;c[u>>2]=b;k=e+8|0;c[k>>2]=0;f=0;h=0;while(1){s=_(b,a)|0;a=(a+1|0)/2|0;g=h+1|0;c[t+(g<<2)>>2]=a;b=(b+1|0)/2|0;c[u+(g<<2)>>2]=b;f=f+s|0;if(s>>>0<=1)break;else h=g}c[k>>2]=f;if(!f){Uc(e);Ub(d,2,20072,j)|0;u=0;i=v;return u|0}f=Qc(f,16)|0;c[e+12>>2]=f;if(!f){Ub(d,1,20122,l)|0;Uc(e);u=0;i=v;return u|0}s=c[k>>2]|0;c[e+16>>2]=s<<4;b=f+((_(c[m>>2]|0,c[e>>2]|0)|0)<<4)|0;if(!h)b=f;else{r=0;g=b;a=b;b=f;do{p=c[u+(r<<2)>>2]|0;a:do{if((p|0)>0){q=c[t+(r<<2)>>2]|0;if((q|0)<=0){k=p+-1|0;d=0;while(1){o=(d&1|0)!=0|(d|0)==(k|0);j=o?g:a;a=o?g:a+(q<<4)|0;d=d+1|0;if((d|0)>=(p|0)){g=j;break a}else g=j}}o=((q+2+((q|0)<2?~q:-3)|0)>>>1)+1|0;m=p+-1|0;n=0;do{d=q;l=g;while(1){c[b>>2]=l;j=b+16|0;k=d;d=d+-2|0;if((d|0)>-1){c[j>>2]=l;b=b+32|0}else b=j;if((k|0)<=2)break;else l=l+16|0}l=g+(o<<4)|0;d=(n&1|0)!=0|(n|0)==(m|0);g=d?l:a;a=d?l:a+(q<<4)|0;n=n+1|0}while((n|0)<(p|0))}}while(0);r=r+1|0}while((r|0)!=(h|0))}c[b>>2]=0;if(!s){u=e;i=v;return u|0}else b=0;while(1){c[f+4>>2]=999;c[f+8>>2]=0;c[f+12>>2]=0;b=b+1|0;if((b|0)==(s|0))break;else f=f+16|0}i=v;return e|0}function kg(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a+8>>2]|0;if(!b)return;d=0;a=c[a+12>>2]|0;while(1){c[a+4>>2]=999;c[a+8>>2]=0;c[a+12>>2]=0;d=d+1|0;if(d>>>0>=b>>>0)break;else a=a+16|0}return}function bb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function cb(){return i|0}function db(a){a=a|0;i=a}function eb(a,b){a=a|0;b=b|0;i=a;j=b}function fb(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function gb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function hb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function ib(a){a=a|0;C=a}function jb(){return C|0}function kb(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+8272|0;k=o+16|0;m=o+12|0;j=o;c[m>>2]=0;if((c[a>>2]|0)==1375686655)n=gc(0)|0;else n=gc(2)|0;bc(n,1,0)|0;cc(n,2,0)|0;dc(n,3,0)|0;hc(k);c[j>>2]=a;c[j+4>>2]=a;c[j+8>>2]=b;l=ec(j,1)|0;if(!(ic(n,k)|0)){mi(4476)|0;Fb(l);zc(n);g=1;i=o;return g|0}if(!(jc(l,n,m)|0)){mi(4528)|0;Fb(l);zc(n);Zb(c[m>>2]|0);g=1;i=o;return g|0}if(!(oc(n,l,c[m>>2]|0,c[k+8228>>2]|0)|0)){mi(4578)|0;zc(n);Fb(l);Zb(c[m>>2]|0);g=1;i=o;return g|0}j=c[m>>2]|0;c[f>>2]=c[j+8>>2];c[g>>2]=c[j+12>>2];a=c[j+16>>2]|0;c[h>>2]=a;a=_(_(a<<2,c[f>>2]|0)|0,c[g>>2]|0)|0;c[e>>2]=a;e=Fi(a)|0;c[d>>2]=e;switch(c[h>>2]|0){case 1:{Ui(e|0,c[(c[j+24>>2]|0)+44>>2]|0,a|0)|0;break}case 3:{if((_(c[g>>2]|0,c[f>>2]|0)|0)>0){b=c[j+24>>2]|0;j=c[b+44>>2]|0;a=c[b+96>>2]|0;b=c[b+148>>2]|0;k=0;do{h=k*3|0;c[e+(h<<2)>>2]=c[j+(k<<2)>>2];c[e+(h+1<<2)>>2]=c[a+(k<<2)>>2];c[e+(h+2<<2)>>2]=c[b+(k<<2)>>2];k=k+1|0}while((k|0)<(_(c[g>>2]|0,c[f>>2]|0)|0))}break}default:{}}Fb(l);zc(n);Zb(c[m>>2]|0);g=0;i=o;return g|0}function lb(){return fc()|0}function mb(a,b){a=a|0;b=b|0;return}function nb(a,b){a=a|0;b=b|0;return}function ob(a,b){a=a|0;b=b|0;var d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;li(4625,d)|0;i=b;return}function pb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;g=h;c[g>>2]=d;if(!e){i=h;return}d=b;f=0;b=g+(e+-1)|0;while(1){a[d>>0]=a[b>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else{d=d+1|0;b=b+-1|0}}i=h;return}function qb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;c[d>>2]=0;if(!e)return;f=0;d=d+(e+-1)|0;while(1){a[d>>0]=a[b>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else{b=b+1|0;d=d+-1|0}}return}function rb(b,d){b=b|0;d=+d;var e=0,f=0,g=0,j=0,l=0;e=i;i=i+16|0;j=e;h[j>>3]=d;j=j+8|0;h[k>>3]=d;f=c[k>>2]|0;g=c[k+4>>2]|0;l=Ti(f|0,g|0,56)|0;a[b>>0]=l;l=Ti(f|0,g|0,48)|0;a[b+1>>0]=l;l=Ti(f|0,g|0,40)|0;a[b+2>>0]=l;a[b+3>>0]=g;a[b+4>>0]=a[j+-5>>0]|0;a[b+5>>0]=a[j+-6>>0]|0;g=Ti(f|0,g|0,8)|0;a[b+6>>0]=g;a[b+7>>0]=f;i=e;return}function sb(b,c){b=b|0;c=c|0;var d=0;d=c+8|0;a[d+-1>>0]=a[b>>0]|0;a[d+-2>>0]=a[b+1>>0]|0;a[d+-3>>0]=a[b+2>>0]|0;a[d+-4>>0]=a[b+3>>0]|0;a[d+-5>>0]=a[b+4>>0]|0;a[d+-6>>0]=a[b+5>>0]|0;a[d+-7>>0]=a[b+6>>0]|0;a[c>>0]=a[b+7>>0]|0;return}function tb(b,d){b=b|0;d=+d;var e=0;e=(g[k>>2]=d,c[k>>2]|0);a[b>>0]=e>>>24;a[b+1>>0]=e>>>16;a[b+2>>0]=e>>>8;a[b+3>>0]=e;return}function ub(b,c){b=b|0;c=c|0;var d=0;d=c+4|0;a[d+-1>>0]=a[b>>0]|0;a[d+-2>>0]=a[b+1>>0]|0;a[d+-3>>0]=a[b+2>>0]|0;a[c>>0]=a[b+3>>0]|0;return}function vb(a,b){a=a|0;b=b|0;var d=0,e=0;e=Qc(1,72)|0;if(!e){b=0;return b|0}c[e+64>>2]=a;a=Pc(a)|0;c[e+32>>2]=a;if(!a){Uc(e);b=0;return b|0}c[e+36>>2]=a;a=e+68|0;d=c[a>>2]|0;if(!b){c[a>>2]=d|1;c[e+40>>2]=31;c[e+44>>2]=32}else{c[a>>2]=d|2;c[e+40>>2]=29;c[e+44>>2]=30}c[e+16>>2]=4;c[e+20>>2]=5;c[e+24>>2]=6;c[e+28>>2]=7;b=e;return b|0}function wb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;m=n;f=a+48|0;g=c[f>>2]|0;if(g>>>0>=b>>>0){m=a+36|0;c[m>>2]=(c[m>>2]|0)+b;c[f>>2]=g-b;m=a+56|0;a=m;a=Si(c[a>>2]|0,c[a+4>>2]|0,b|0,d|0)|0;c[m>>2]=a;c[m+4>>2]=C;m=d;a=b;C=m;i=n;return a|0}l=a+68|0;if(c[l>>2]&4){m=a+36|0;c[m>>2]=(c[m>>2]|0)+g;c[f>>2]=0;a=a+56|0;m=a;m=Si(c[m>>2]|0,c[m+4>>2]|0,g|0,0)|0;c[a>>2]=m;c[a+4>>2]=C;a=(g|0)!=0;m=a?0:-1;a=a?g:-1;C=m;i=n;return a|0}if(!g){g=0;f=0}else{c[a+36>>2]=c[a+32>>2];b=Oi(b|0,d|0,g|0,0)|0;c[f>>2]=0;f=0;d=C}a:do{if((d|0)>0|(d|0)==0&b>>>0>0){k=a+24|0;while(1){h=Ra[c[k>>2]&63](b,d,c[a>>2]|0)|0;j=C;if((h|0)==-1&(j|0)==-1)break;b=Oi(b|0,d|0,h|0,j|0)|0;d=C;g=Si(h|0,j|0,g|0,f|0)|0;f=C;if(!((d|0)>0|(d|0)==0&b>>>0>0))break a}Ub(e,4,4636,m)|0;c[l>>2]=c[l>>2]|4;a=a+56|0;m=a;m=Si(c[m>>2]|0,c[m+4>>2]|0,g|0,f|0)|0;c[a>>2]=m;c[a+4>>2]=C;a=(g|0)!=0|(f|0)!=0;m=a?f:-1;a=a?g:-1;C=m;i=n;return a|0}}while(0);m=a+56|0;a=m;a=Si(c[a>>2]|0,c[a+4>>2]|0,g|0,f|0)|0;c[m>>2]=a;c[m+4>>2]=C;m=f;a=g;C=m;i=n;return a|0}function xb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;c[a+36>>2]=c[a+32>>2];c[a+48>>2]=0;g=(Ra[c[a+28>>2]&63](b,d,c[a>>2]|0)|0)==0;e=a+68|0;f=c[e>>2]|0;if(g){c[e>>2]=f|4;g=0;return g|0}else{c[e>>2]=f&-5;g=a+56|0;c[g>>2]=b;c[g+4>>2]=d;g=1;return g|0}return 0}function yb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;q=r+8|0;m=r;p=a+68|0;if(c[p>>2]&8){q=-1;a=-1;C=q;i=r;return a|0}k=a+32|0;f=c[k>>2]|0;o=a+36|0;c[o>>2]=f;l=a+48|0;g=c[l>>2]|0;do{if(g){j=a+20|0;while(1){h=Ra[c[j>>2]&63](f,g,c[a>>2]|0)|0;if((h|0)==-1)break;f=(c[o>>2]|0)+h|0;c[o>>2]=f;s=c[l>>2]|0;g=s-h|0;c[l>>2]=g;if((s|0)==(h|0)){n=6;break}}if((n|0)==6){f=c[k>>2]|0;break}c[p>>2]=c[p>>2]|8;Ub(e,4,4662,m)|0;c[p>>2]=c[p>>2]|8;c[l>>2]=0;a=-1;s=-1;C=a;i=r;return s|0}}while(0);c[o>>2]=f;a:do{if((d|0)>0|(d|0)==0&b>>>0>0){k=a+24|0;g=0;f=0;while(1){h=Ra[c[k>>2]&63](b,d,c[a>>2]|0)|0;j=C;if((h|0)==-1&(j|0)==-1)break;b=Oi(b|0,d|0,h|0,j|0)|0;d=C;g=Si(h|0,j|0,g|0,f|0)|0;f=C;if(!((d|0)>0|(d|0)==0&b>>>0>0))break a}Ub(e,4,4688,q)|0;c[p>>2]=c[p>>2]|8;s=a+56|0;a=s;a=Si(c[a>>2]|0,c[a+4>>2]|0,g|0,f|0)|0;c[s>>2]=a;c[s+4>>2]=C;s=(g|0)!=0|(f|0)!=0;a=s?f:-1;s=s?g:-1;C=a;i=r;return s|0}else{g=0;f=0}}while(0);a=a+56|0;s=a;s=Si(c[s>>2]|0,c[s+4>>2]|0,g|0,f|0)|0;c[a>>2]=s;c[a+4>>2]=C;a=f;s=g;C=a;i=r;return s|0}function zb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+16|0;k=p;m=a+32|0;f=c[m>>2]|0;n=a+36|0;c[n>>2]=f;o=a+48|0;g=c[o>>2]|0;do{if(!g)g=a;else{j=a+20|0;while(1){h=Ra[c[j>>2]&63](f,g,c[a>>2]|0)|0;if((h|0)==-1)break;f=(c[n>>2]|0)+h|0;c[n>>2]=f;q=c[o>>2]|0;g=q-h|0;c[o>>2]=g;if((q|0)==(h|0)){l=6;break}}if((l|0)==6){g=a;f=c[m>>2]|0;break}q=a+68|0;c[q>>2]=c[q>>2]|8;Ub(e,4,4662,k)|0;c[q>>2]=c[q>>2]|8;q=0;i=p;return q|0}}while(0);c[n>>2]=f;c[o>>2]=0;if(!(Ra[c[a+28>>2]&63](b,d,c[g>>2]|0)|0)){q=a+68|0;c[q>>2]=c[q>>2]|8;q=0;i=p;return q|0}else{q=a+56|0;c[q>>2]=b;c[q+4>>2]=d;q=1;i=p;return q|0}return 0}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;return-1}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;return-1}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;C=-1;return-1}function Db(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Eb(a){a=a|0;var b=0,d=0,e=0;e=Qc(1,72)|0;if(!e){a=0;return a|0}c[e+64>>2]=1048576;b=Pc(1048576)|0;c[e+32>>2]=b;if(!b){Uc(e);a=0;return a|0}c[e+36>>2]=b;b=e+68|0;d=c[b>>2]|0;if(!a){c[b>>2]=d|1;c[e+40>>2]=31;c[e+44>>2]=32}else{c[b>>2]=d|2;c[e+40>>2]=29;c[e+44>>2]=30}c[e+16>>2]=4;c[e+20>>2]=5;c[e+24>>2]=6;c[e+28>>2]=7;a=e;return a|0}function Fb(a){a=a|0;var b=0;if(!a)return;b=c[a+4>>2]|0;if(b)Ta[b&7](c[a>>2]|0);b=a+32|0;Uc(c[b>>2]|0);c[b>>2]=0;Uc(a);return}function Gb(a,b){a=a|0;b=b|0;if(!a)return;if(!(c[a+68>>2]&2))return;c[a+16>>2]=b;return}function Hb(a,b){a=a|0;b=b|0;if(!a)return;c[a+28>>2]=b;return}function Ib(a,b){a=a|0;b=b|0;if(!a)return;if(!(c[a+68>>2]&1))return;c[a+20>>2]=b;return}function Jb(a,b){a=a|0;b=b|0;if(!a)return;c[a+24>>2]=b;return}function Kb(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;c[a>>2]=b;c[a+4>>2]=d;return}function Lb(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;a=a+8|0;c[a>>2]=b;c[a+4>>2]=d;return}function Mb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+16|0;s=w+8|0;r=w;v=a+48|0;f=c[v>>2]|0;if(f>>>0>=d>>>0){u=a+36|0;Ui(b|0,c[u>>2]|0,d|0)|0;c[u>>2]=(c[u>>2]|0)+d;c[v>>2]=(c[v>>2]|0)-d;v=a+56|0;u=v;u=Si(c[u>>2]|0,c[u+4>>2]|0,d|0,0)|0;c[v>>2]=u;c[v+4>>2]=C;v=d;i=w;return v|0}t=a+68|0;if(c[t>>2]&4){u=a+36|0;Ui(b|0,c[u>>2]|0,f|0)|0;e=c[v>>2]|0;c[u>>2]=(c[u>>2]|0)+e;u=a+56|0;t=u;e=Si(c[t>>2]|0,c[t+4>>2]|0,e|0,0)|0;c[u>>2]=e;c[u+4>>2]=C;c[v>>2]=0;v=(f|0)!=0?f:-1;i=w;return v|0}if(!f){o=a+32|0;g=c[o>>2]|0;p=a+36|0;c[p>>2]=g;q=p;u=a+56|0;f=0}else{p=a+36|0;Ui(b|0,c[p>>2]|0,f|0)|0;o=a+32|0;g=c[o>>2]|0;c[p>>2]=g;q=c[v>>2]|0;u=a+56|0;m=u;m=Si(c[m>>2]|0,c[m+4>>2]|0,q|0,0)|0;n=u;c[n>>2]=m;c[n+4>>2]=C;c[v>>2]=0;d=d-q|0;b=b+q|0;q=p}m=a+64|0;n=a+16|0;l=b;h=g;while(1){b=c[m>>2]|0;g=c[n>>2]|0;if(d>>>0>>0){g=Ra[g&63](h,b,c[a>>2]|0)|0;c[v>>2]=g;if((g|0)==-1){g=11;break}if(g>>>0>=d>>>0){b=l;g=14;break}Ui(l|0,c[q>>2]|0,g|0)|0;h=c[o>>2]|0;c[p>>2]=h;b=c[v>>2]|0;j=u;j=Si(c[j>>2]|0,c[j+4>>2]|0,b|0,0)|0;k=C;f=g+f|0}else{b=Ra[g&63](l,d,c[a>>2]|0)|0;c[v>>2]=b;if((b|0)==-1){g=16;break}f=b+f|0;if(b>>>0>=d>>>0){g=20;break}h=c[o>>2]|0;c[p>>2]=h;j=u;j=Si(c[j>>2]|0,c[j+4>>2]|0,b|0,0)|0;k=C}g=u;c[g>>2]=j;c[g+4>>2]=k;c[v>>2]=0;d=d-b|0;l=l+b|0}if((g|0)==11){Ub(e,4,4636,r)|0;c[v>>2]=0;c[t>>2]=c[t>>2]|4;v=(f|0)!=0?f:-1;i=w;return v|0}else if((g|0)==14){Ui(b|0,c[q>>2]|0,d|0)|0;c[q>>2]=(c[q>>2]|0)+d;c[v>>2]=(c[v>>2]|0)-d;e=u;e=Si(c[e>>2]|0,c[e+4>>2]|0,d|0,0)|0;v=u;c[v>>2]=e;c[v+4>>2]=C;v=f+d|0;i=w;return v|0}else if((g|0)==16){Ub(e,4,4636,s)|0;c[v>>2]=0;c[t>>2]=c[t>>2]|4;v=(f|0)!=0?f:-1;i=w;return v|0}else if((g|0)==20){e=u;e=Si(c[e>>2]|0,c[e+4>>2]|0,b|0,0)|0;c[u>>2]=e;c[u+4>>2]=C;c[p>>2]=c[o>>2];c[v>>2]=0;v=f;i=w;return v|0}return 0}function Nb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;r=u;n=a+68|0;if(c[n>>2]&8){t=-1;i=u;return t|0}q=a+64|0;f=c[q>>2]|0;t=a+48|0;k=c[t>>2]|0;g=f-k|0;do{if(g>>>0>>0){o=a+32|0;h=a+36|0;p=a+20|0;j=a+56|0;l=f;m=g;f=0;a:while(1){if((l|0)==(k|0))g=c[o>>2]|0;else{Ui(c[h>>2]|0,b|0,m|0)|0;g=c[o>>2]|0;c[h>>2]=g;k=(c[t>>2]|0)+m|0;c[t>>2]=k;v=j;v=Si(c[v>>2]|0,c[v+4>>2]|0,m|0,0)|0;l=j;c[l>>2]=v;c[l+4>>2]=C;d=d-m|0;b=b+m|0;f=m+f|0}c[h>>2]=g;if(!k)k=0;else{do{l=Ra[c[p>>2]&63](g,k,c[a>>2]|0)|0;if((l|0)==-1)break a;g=(c[h>>2]|0)+l|0;c[h>>2]=g;v=c[t>>2]|0;k=v-l|0;c[t>>2]=k}while((v|0)!=(l|0));g=c[o>>2]|0}c[h>>2]=g;l=c[q>>2]|0;m=l-k|0;if(d>>>0<=m>>>0){s=5;break}}if((s|0)==5)break;c[n>>2]=c[n>>2]|8;Ub(e,4,4662,r)|0;v=-1;i=u;return v|0}else{g=a+36|0;j=a+56|0;h=g;g=c[g>>2]|0;f=0}}while(0);Ui(g|0,b|0,d|0)|0;c[h>>2]=(c[h>>2]|0)+d;c[t>>2]=(c[t>>2]|0)+d;t=j;t=Si(c[t>>2]|0,c[t+4>>2]|0,d|0,0)|0;v=j;c[v>>2]=t;c[v+4>>2]=C;v=f+d|0;i=u;return v|0}function Ob(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+16|0;k=n;g=a+32|0;d=c[g>>2]|0;m=a+36|0;c[m>>2]=d;h=a+48|0;e=c[h>>2]|0;do{if(e){j=a+20|0;while(1){f=Ra[c[j>>2]&63](d,e,c[a>>2]|0)|0;if((f|0)==-1)break;d=(c[m>>2]|0)+f|0;c[m>>2]=d;o=c[h>>2]|0;e=o-f|0;c[h>>2]=e;if((o|0)==(f|0)){l=6;break}}if((l|0)==6){d=c[g>>2]|0;break}o=a+68|0;c[o>>2]=c[o>>2]|8;Ub(b,4,4662,k)|0;o=0;i=n;return o|0}}while(0);c[m>>2]=d;o=1;i=n;return o|0}function Pb(a){a=a|0;a=a+56|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Qb(a){a=a|0;var b=0,d=0;d=a+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0;if((b|0)==0&(d|0)==0){d=0;a=0;C=d;return a|0}a=a+56|0;a=Oi(b|0,d|0,c[a>>2]|0,c[a+4>>2]|0)|0;d=C;C=d;return a|0}function Rb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=Za[c[a+40>>2]&63](a,b,d,e)|0;return a|0}function Sb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return Za[c[a+44>>2]&63](a,b,d,e)|0}function Tb(a){a=a|0;return(c[a+28>>2]|0)!=7|0}function Ub(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+528|0;g=j;h=j+16|0;a:do{if(a){switch(b|0){case 1:{b=a;f=a+12|0;break}case 2:{b=a+4|0;f=a+16|0;break}case 4:{b=a+8|0;f=a+20|0;break}default:{b=0;break a}}a=c[b>>2]|0;b=c[f>>2]|0;if(b)if(!d)b=1;else{Qi(h|0,0,512)|0;c[g>>2]=e;pi(h,512,d,g)|0;Ua[b&7](h,a);b=1}else b=0}else b=0}while(0);i=j;return b|0}function Vb(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=4;c[a+20>>2]=4;c[a+16>>2]=4;return}function Wb(a,b){a=a|0;b=b|0;return}function Xb(){return Qc(1,36)|0}function Yb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Qc(1,36)|0;if(!e){i=e;return i|0}c[e+20>>2]=d;h=e+16|0;c[h>>2]=a;d=Qc(1,a*52|0)|0;i=e+24|0;c[i>>2]=d;if(!d){d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);i=0;return i|0}if(!a){i=e;return i|0}f=0;while(1){c[d+(f*52|0)>>2]=c[b+(f*36|0)>>2];c[d+(f*52|0)+4>>2]=c[b+(f*36|0)+4>>2];j=c[b+(f*36|0)+8>>2]|0;c[d+(f*52|0)+8>>2]=j;k=c[b+(f*36|0)+12>>2]|0;c[d+(f*52|0)+12>>2]=k;c[d+(f*52|0)+16>>2]=c[b+(f*36|0)+16>>2];c[d+(f*52|0)+20>>2]=c[b+(f*36|0)+20>>2];c[d+(f*52|0)+24>>2]=c[b+(f*36|0)+24>>2];c[d+(f*52|0)+28>>2]=c[b+(f*36|0)+28>>2];c[d+(f*52|0)+32>>2]=c[b+(f*36|0)+32>>2];j=Qc(_(k,j)|0,4)|0;c[d+(f*52|0)+44>>2]=j;f=f+1|0;if(!j)break;if(f>>>0>=a>>>0){g=22;break}d=c[i>>2]|0}if((g|0)==22)return e|0;d=c[i>>2]|0;if(d){f=c[h>>2]|0;if(f){b=0;while(1){d=c[d+(b*52|0)+44>>2]|0;if(d){Uc(d);f=c[h>>2]|0}b=b+1|0;if(b>>>0>=f>>>0)break;d=c[i>>2]|0}d=c[i>>2]|0}Uc(d)}d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);k=0;return k|0}function Zb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)return;f=a+24|0;b=c[f>>2]|0;if(b){g=a+16|0;d=c[g>>2]|0;if(d){e=0;while(1){b=c[b+(e*52|0)+44>>2]|0;if(b){Uc(b);d=c[g>>2]|0}e=e+1|0;if(e>>>0>=d>>>0)break;b=c[f>>2]|0}b=c[f>>2]|0}Uc(b)}b=c[a+28>>2]|0;if(b)Uc(b);Uc(a);return}function _b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=c[b+4>>2]|0;e=c[a>>2]|0;g=c[b+8>>2]|0;h=c[a+4>>2]|0;f=c[b+12>>2]|0;l=(_((c[b+24>>2]|0)+-1|0,f)|0)+d|0;i=c[b+16>>2]|0;j=(_((c[b+28>>2]|0)+-1|0,i)|0)+g|0;b=Si(l|0,0,f|0,0)|0;b=b|0-C;f=c[a+8>>2]|0;i=Si(j|0,0,i|0,0)|0;i=i|0-C;j=c[a+12>>2]|0;l=c[a+16>>2]|0;if(!l)return;k=(d>>>0>e>>>0?d:e)+-1|0;g=(g>>>0>h>>>0?g:h)+-1|0;f=(b>>>0>>0?b:f)+-1|0;d=(i>>>0>>0?i:j)+-1|0;e=0;b=c[a+24>>2]|0;while(1){h=c[b>>2]|0;j=((k+h|0)>>>0)/(h>>>0)|0;o=c[b+4>>2]|0;a=((g+o|0)>>>0)/(o>>>0)|0;i=c[b+40>>2]|0;n=Ri(1,0,i|0)|0;m=C;h=Si((((f+h|0)>>>0)/(h>>>0)|0)-j|0,0,-1,-1)|0;h=Si(h|0,C|0,n|0,m|0)|0;h=Ti(h|0,C|0,i|0)|0;o=Si((((d+o|0)>>>0)/(o>>>0)|0)-a|0,0,-1,-1)|0;m=Si(o|0,C|0,n|0,m|0)|0;i=Ti(m|0,C|0,i|0)|0;c[b+8>>2]=h;c[b+12>>2]=i;c[b+16>>2]=j;c[b+20>>2]=a;e=e+1|0;if(e>>>0>=l>>>0)break;else b=b+52|0}return}function $b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];j=b+24|0;e=c[j>>2]|0;i=b+16|0;if(!e)d=j;else{d=c[i>>2]|0;if(!d)d=j;else{f=0;while(1){e=c[e+(f*52|0)+44>>2]|0;if(e){Uc(e);d=c[i>>2]|0}f=f+1|0;if(f>>>0>=d>>>0)break;e=c[j>>2]|0}d=j;e=c[j>>2]|0}Uc(e);c[j>>2]=0}e=c[a+16>>2]|0;c[i>>2]=e;e=Pc(e*52|0)|0;c[d>>2]=e;if(!e){c[j>>2]=0;c[i>>2]=0;return}if(c[i>>2]|0){h=a+24|0;g=0;do{d=e+(g*52|0)|0;e=(c[h>>2]|0)+(g*52|0)|0;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=c[j>>2]|0;c[e+(g*52|0)+44>>2]=0;g=g+1|0}while(g>>>0<(c[i>>2]|0)>>>0)}c[b+20>>2]=c[a+20>>2];f=a+32|0;d=c[f>>2]|0;g=b+32|0;c[g>>2]=d;if(!d){c[b+28>>2]=0;return}e=Pc(d)|0;d=b+28|0;c[d>>2]=e;if(!e){c[d>>2]=0;c[g>>2]=0;return}else{Ui(e|0,c[a+28>>2]|0,c[f>>2]|0)|0;return}}function ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Qc(1,36)|0;if(!e){a=e;return a|0}c[e+20>>2]=d;c[e+16>>2]=a;d=Qc(a,52)|0;c[e+24>>2]=d;if(!d){d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);a=0;return a|0}else{if(!a){a=e;return a|0}else f=0;do{c[d+(f*52|0)>>2]=c[b+(f*36|0)>>2];c[d+(f*52|0)+4>>2]=c[b+(f*36|0)+4>>2];c[d+(f*52|0)+8>>2]=c[b+(f*36|0)+8>>2];c[d+(f*52|0)+12>>2]=c[b+(f*36|0)+12>>2];c[d+(f*52|0)+16>>2]=c[b+(f*36|0)+16>>2];c[d+(f*52|0)+20>>2]=c[b+(f*36|0)+20>>2];c[d+(f*52|0)+24>>2]=c[b+(f*36|0)+24>>2];c[d+(f*52|0)+32>>2]=c[b+(f*36|0)+32>>2];c[d+(f*52|0)+44>>2]=0;f=f+1|0}while((f|0)!=(a|0));return e|0}return 0}function bc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+64>>2]=b;c[a+52>>2]=d;d=1;return d|0}function cc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+60>>2]=b;c[a+48>>2]=d;d=1;return d|0}function dc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+56>>2]=b;c[a+44>>2]=d;d=1;return d|0}function ec(a,b){a=a|0;b=b|0;var d=0;if(!a){a=0;return a|0}d=Eb(b)|0;if(!d){a=0;return a|0}Kb(d,a,0);Lb(d,c[a+8>>2]|0,0);if(!b)Ib(d,9);else Gb(d,8);Jb(d,1);Hb(d,10);a=d;return a|0}function fc(){return 4703}function gc(a){a=a|0;var b=0;b=Qc(1,84)|0;if(!b){a=0;return a|0}c[b+68>>2]=1;switch(a|0){case 0:{c[b+72>>2]=13;c[b+76>>2]=2;c[b+80>>2]=3;c[b+4>>2]=33;c[b+16>>2]=11;c[b>>2]=34;c[b+20>>2]=1;c[b+24>>2]=5;c[b+8>>2]=1;c[b+12>>2]=1;c[b+28>>2]=1;c[b+32>>2]=1;c[b+36>>2]=12;a=fd()|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}case 2:{c[b+72>>2]=14;c[b+76>>2]=4;c[b+80>>2]=5;c[b+4>>2]=35;c[b+16>>2]=13;c[b>>2]=36;c[b+8>>2]=2;c[b+12>>2]=2;c[b+20>>2]=2;c[b+24>>2]=6;c[b+28>>2]=2;c[b+32>>2]=2;c[b+36>>2]=14;a=Ye(1)|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}default:{Uc(b);a=0;return a|0}}Vb(b+44|0);a=b;return a|0}function hc(a){a=a|0;if(!a)return;Qi(a|0,0,8248)|0;c[a+8200>>2]=-1;c[a+8204>>2]=-1;c[a+8248>>2]=0;return}function ic(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;if(!((a|0)!=0&(b|0)!=0)){b=0;i=d;return b|0}if(!(c[a+68>>2]|0)){Ub(a+44|0,1,4709,d)|0;b=0;i=d;return b|0}else{Ua[c[a+24>>2]&7](c[a+40>>2]|0,b);b=1;i=d;return b|0}return 0}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;if(!((a|0)!=0&(b|0)!=0)){a=0;i=e;return a|0}if(!(c[b+68>>2]|0)){Ub(b+44|0,1,4790,e)|0;a=0;i=e;return a|0}else{a=Za[c[b>>2]&63](a,c[b+40>>2]|0,d,b+44|0)|0;i=e;return a|0}return 0}function kc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Za[c[a+4>>2]&63](c[a+40>>2]|0,b,d,a+44|0)|0;return b|0}function lc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(!a){e=0;return e|0}if(!(c[a+68>>2]|0)){e=0;return e|0}e=Qa[c[a+28>>2]&3](c[a+40>>2]|0,b,d,e,f,g,a+44|0)|0;return e|0}function mc(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;if(!((d|0)!=0&((a|0)!=0&(b|0)!=0&(e|0)!=0))){i=0;return i|0}if(!(c[a+68>>2]|0)){i=0;return i|0}i=Ya[c[a+8>>2]&3](c[a+40>>2]|0,d,e,f,g,h,i,j,k,b,a+44|0)|0;return i|0}function nc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!((a|0)!=0&(d|0)!=0&(f|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Va[c[a+12>>2]&7](c[a+40>>2]|0,b,d,e,f,a+44|0)|0;return b|0}function oc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(!((a|0)!=0&(b|0)!=0)){e=0;return e|0}if(!(c[a+68>>2]|0)){e=0;return e|0}e=$a[c[a+32>>2]&3](c[a+40>>2]|0,b,d,a+44|0,e)|0;return e|0}function pc(a,b){a=a|0;b=b|0;if(!a){b=0;return b|0}b=Ra[c[a+36>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function qc(a){a=a|0;var b=0;b=Qc(1,84)|0;if(!b){a=0;return a|0}c[b+68>>2]=0;switch(a|0){case 0:{c[b+4>>2]=15;c[b+12>>2]=16;c[b>>2]=37;c[b+8>>2]=3;c[b+16>>2]=1;c[b+20>>2]=38;a=Xc()|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}case 2:{c[b+4>>2]=17;c[b+12>>2]=18;c[b>>2]=39;c[b+8>>2]=4;c[b+16>>2]=2;c[b+20>>2]=40;a=Ye(0)|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}default:{Uc(b);a=0;return a|0}}Vb(b+44|0);a=b;return a|0}function rc(b){b=b|0;if(!b)return;Qi(b|0,0,18708)|0;c[b+5592>>2]=6;c[b+18684>>2]=0;c[b+5596>>2]=64;c[b+5600>>2]=64;c[b+44>>2]=0;c[b+5612>>2]=-1;c[b+18188>>2]=1;c[b+18192>>2]=1;a[b+18688>>0]=0;c[b+18196>>2]=-1;c[b+18200>>2]=-1;g[b+4792>>2]=0;c[b+4788>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+18692>>2]=0;return}function sc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(b|0)!=0&(d|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Za[c[a+20>>2]&63](c[a+40>>2]|0,b,d,a+44|0)|0;return b|0}function tc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(d|0)!=0)){d=0;return d|0}if(c[a+68>>2]|0){d=0;return d|0}d=Za[c[a>>2]&63](c[a+40>>2]|0,d,b,a+44|0)|0;return d|0}function uc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Ra[c[a+4>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function vc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Ra[c[a+12>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function wc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Ra[c[a+16>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function xc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;k=h<<2;i=_(k,h)|0;j=d+18704|0;h=e[j>>1]|0;b[j>>1]=(h&32768|0)==0?-32512:(h|256)&65535;c[d+5608>>2]=1;a[d+18690>>0]=2;j=Pc(i+k|0)|0;h=d+18696|0;c[h>>2]=j;if(!j){g=0;return g|0}Ui(j|0,f|0,i|0)|0;Ui((c[h>>2]|0)+i|0,g|0,k|0)|0;g=1;return g|0}function yc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!((d|0)!=0&((a|0)!=0&(f|0)!=0))){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Va[c[a+8>>2]&7](c[a+40>>2]|0,b,d,e,f,a+44|0)|0;return b|0}function zc(a){a=a|0;var b=0,d=0;if(!a)return;b=a+40|0;d=c[b>>2]|0;if(!(c[a+68>>2]|0))Ta[c[a+16>>2]&7](d);else Ta[c[a+20>>2]&7](d);c[b>>2]=0;Uc(a);return}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;Xa[c[a+72>>2]&15](c[a+40>>2]|0,b,d);return}function Bc(a){a=a|0;if(!a){a=0;return a|0}a=Wa[c[a+76>>2]&15](c[a+40>>2]|0)|0;return a|0}function Cc(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a>>2]|0;d=c[b+48>>2]|0;if(d){Uc(d);b=c[a>>2]|0}Uc(b);c[a>>2]=0;return}function Dc(a){a=a|0;if(!a){a=0;return a|0}a=Wa[c[a+80>>2]&15](c[a+40>>2]|0)|0;return a|0}function Ec(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;bd(b);c[a>>2]=0;return}function Fc(a,b){a=a|0;b=b|0;return Gc(a,1048576,b)|0}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!a){b=0;return b|0}d=_h(a,(c|0)==0?4869:4872)|0;if(!d){b=0;return b|0}a=vb(b,c)|0;if(!a){Yh(d)|0;b=0;return b|0}else{Kb(a,d,6);fi(d,0,2)|0;b=ii(d)|0;fi(d,0,0)|0;Lb(a,b,((b|0)<0)<<31>>31);Gb(a,19);Ib(a,20);Jb(a,21);Hb(a,22);b=a;return b|0}return 0}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[d>>2]|0)+(c[d+8>>2]|0)|0;d=d+4|0;e=c[d>>2]|0;f=g-e|0;if((g|0)==(e|0)){g=-1;return g|0}g=f>>>0>b>>>0?b:f;Ui(a|0,e|0,g|0)|0;c[d>>2]=(c[d>>2]|0)+g;return g|0}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+4|0;e=c[k>>2]|0;i=d+8|0;g=c[i>>2]|0;j=e-(c[d>>2]|0)|0;f=(g|0)==0?1:g;while(1)if((f-j|0)>>>0>>0)f=f<<1;else{h=f;break}if((h|0)!=(g|0)){e=Pc(h)|0;if(!e){b=-1;return b|0}f=c[d>>2]|0;if(f){Ui(e|0,f|0,j|0)|0;Uc(c[d>>2]|0)}c[d>>2]=e;e=e+j|0;c[k>>2]=e;c[i>>2]=h}Ui(e|0,a|0,b|0)|0;c[k>>2]=(c[k>>2]|0)+b;return b|0}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=(c[b>>2]|0)+(c[b+8>>2]|0)|0;b=b+4|0;d=c[b>>2]|0;e=f-d|0;if((f|0)==(d|0)){f=-1;return f|0}c[b>>2]=d+a;f=e>>>0>a>>>0?a:e;return f|0}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[d+8>>2]|0;c[d+4>>2]=(c[d>>2]|0)+(0>(b|0)|0==(b|0)&e>>>0>a>>>0?a:e);return 1}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;b=ci(a,1,b,c)|0;return((b|0)!=0?b:-1)|0}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;return ki(a,1,b,c)|0}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;c=(fi(c,a,1)|0)==0;C=c?b:-1;return(c?a:-1)|0}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;return(fi(c,a,0)|0)==0|0}function Pc(a){a=a|0;if(!a)a=0;else a=Fi(a)|0;return a|0}function Qc(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Hi(a,b)|0;return a|0}function Rc(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;do{if(a)if(!(Ji(b,16,a)|0)){b=c[b>>2]|0;break}else{c[b>>2]=0;b=0;break}else b=0}while(0);i=d;return b|0}function Sc(a){a=a|0;Gi(a);return}function Tc(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Ii(a,b)|0;return b|0}function Uc(a){a=a|0;Gi(a);return}function Vc(a){a=a|0;var b=0,d=0;b=696;while(1){d=c[b>>2]|0;if((d|0)==-1|(d|0)==(a|0))break;else b=b+12|0}return b+4|0}function Wc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0))return;c[a+172>>2]=c[b+4>>2];c[a+168>>2]=c[b>>2];return}function Xc(){var b=0,d=0;b=Qc(1,208)|0;if(!b){b=0;return b|0}c[b>>2]=0;d=b+184|0;a[d>>0]=a[d>>0]&-3;d=Pc(1e3)|0;c[b+44>>2]=d;if(!d){Yc(b);d=0;return d|0}c[b+48>>2]=1e3;d=qg()|0;c[b+192>>2]=d;if(!d){Yc(b);d=0;return d|0}d=qg()|0;c[b+188>>2]=d;if(d){d=b;return d|0}Yc(b);d=0;return d|0}function Yc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!b)return;if(!(c[b>>2]|0)){d=b+36|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0}d=b+24|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+28>>2]=0}d=b+44|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+48>>2]=0}}else{d=b+12|0;e=c[d>>2]|0;if(e){sd(e);Uc(c[d>>2]|0);c[d>>2]=0}d=b+16|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+20>>2]=0}}Yf(c[b+204>>2]|0);d=b+88|0;h=b+164|0;e=c[h>>2]|0;if(e){f=_(c[b+112>>2]|0,c[b+116>>2]|0)|0;if(f){g=0;while(1){sd(e);g=g+1|0;if((g|0)==(f|0))break;else e=e+5640|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=b+124|0;e=c[h>>2]|0;if(e){i=b+120|0;f=c[i>>2]|0;if(f){g=0;while(1){e=c[e+(g<<3)>>2]|0;if(e){Uc(e);f=c[i>>2]|0}g=g+1|0;if(g>>>0>=f>>>0)break;e=c[h>>2]|0}e=c[h>>2]|0}c[i>>2]=0;Uc(e);c[h>>2]=0}i=b+144|0;Uc(c[i>>2]|0);c[i>>2]=0;c[b+128>>2]=0;i=b+108|0;Uc(c[i>>2]|0);c[i>>2]=0;if(!(a[b+184>>0]&2)){i=b+176|0;Uc(c[i>>2]|0);c[i>>2]=0}e=d+100|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i=b+188|0;rg(c[i>>2]|0);c[i>>2]=0;rg(c[b+192>>2]|0);c[i>>2]=0;i=b+196|0;bd(c[i>>2]|0);c[i>>2]=0;i=b+80|0;Zb(c[i>>2]|0);c[i>>2]=0;i=b+84|0;Zb(c[i>>2]|0);c[i>>2]=0;Uc(b);return}function Zc(d,e,f,j){d=d|0;e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ka=i;i=i+320|0;fa=ka+296|0;ea=ka+288|0;ja=ka+280|0;ia=ka+272|0;ha=ka+264|0;ga=ka+256|0;da=ka+248|0;ca=ka+240|0;W=ka+232|0;U=ka+224|0;T=ka+216|0;S=ka+208|0;R=ka+200|0;Q=ka+192|0;P=ka+184|0;v=ka+176|0;u=ka+168|0;t=ka+160|0;s=ka+152|0;q=ka+144|0;I=ka+136|0;H=ka+128|0;N=ka+112|0;G=ka+104|0;F=ka+96|0;E=ka+88|0;C=ka+80|0;B=ka+72|0;A=ka+64|0;z=ka+56|0;y=ka+48|0;x=ka+32|0;w=ka+24|0;p=ka+16|0;m=ka+8|0;l=ka;K=ka+309|0;L=ka+300|0;if(!((d|0)!=0&(e|0)!=0&(f|0)!=0)){j=0;i=ka;return j|0}ba=e+5592|0;k=c[ba>>2]|0;if((k+-1|0)>>>0>32){c[l>>2]=k;c[l+4>>2]=33;Ub(j,1,4875,l)|0;j=0;i=ka;return j|0}$=d+112|0;c[$>>2]=1;aa=d+116|0;c[aa>>2]=1;J=e+18704|0;do{if(!(b[J>>1]|0)){switch(c[e+18676>>2]|0){case 1:{b[J>>1]=3;c[e+18700>>2]=1302083;c[e+18680>>2]=1041666;l=1;break}case 2:{b[J>>1]=3;c[e+18700>>2]=651041;c[e+18680>>2]=520833;l=1;break}case 3:{b[J>>1]=4;c[e+18700>>2]=1302083;c[e+18680>>2]=1041666;l=1;break}default:l=0}k=c[e+18684>>2]|0;a:do{if((k|0)>=4)if((k|0)<33024){switch(k|0){case 4:break;default:{Z=13;break a}}b[J>>1]=4;break}else{switch(k|0){case 33024:break;default:{Z=13;break a}}b[J>>1]=-32512;break}else{switch(k|0){case 3:break;default:{Z=13;break a}}b[J>>1]=3}}while(0);if((Z|0)==13?(l|0)==0:0)break;Ub(j,2,4931,m)|0}}while(0);D=e+18700|0;k=c[D>>2]|0;do{if((k|0)<1){r=+g[e+4792+((c[e+4788>>2]|0)+-1<<2)>>2];if(r>0){X=c[f+24>>2]|0;p=_(c[X+8>>2]|0,c[f+16>>2]|0)|0;p=_(p,c[X+12>>2]|0)|0;la=+((_(p,c[X+24>>2]|0)|0)>>>0);c[D>>2]=~~+M(+(la/(r*8*+((c[X>>2]|0)>>>0)*+((c[X+4>>2]|0)>>>0))));break}else{c[D>>2]=0;break}}else{o=c[f+24>>2]|0;X=_(c[o+8>>2]|0,c[f+16>>2]|0)|0;X=_(X,c[o+12>>2]|0)|0;r=+((_(X,c[o+24>>2]|0)|0)>>>0);k=_(k<<3,c[o>>2]|0)|0;r=r/+((_(k,c[o+4>>2]|0)|0)>>>0);o=e+4788|0;k=c[o>>2]|0;if(k){m=k;k=0;n=0;while(1){l=e+4792+(n<<2)|0;if(+g[l>>2]>2]=r;l=c[o>>2]|0;k=1}else l=m;n=n+1|0;if(n>>>0>=l>>>0)break;else m=l}if(k)Ub(j,2,5068,p)|0}}}while(0);k=b[J>>1]|0;b:do{if((k+-3&65535)>=4){if(k<<16>>16==7){Ub(j,2,7228,q)|0;b[J>>1]=0;k=0;break}if((k+-256&65535)<524){Ub(j,2,7283,s)|0;b[J>>1]=0;k=0;break}if((k+-1024&65535)<1180){Ub(j,2,7331,t)|0;b[J>>1]=0;k=0;break}if(k<<16>>16<=-1)switch(k<<16>>16){case-32512:{k=-32512;break b}case-32768:{Ub(j,2,7373,u)|0;b[J>>1]=0;k=0;break b}default:{Ub(j,2,7461,v)|0;b[J>>1]=0;k=0;break b}}}else{if((k+-5&65535)<2){Ub(j,2,5160,w)|0;b[J>>1]=0;k=0;break}c[e>>2]=0;c[e+12>>2]=1;c[e+16>>2]=1;a[e+18689>>0]=67;a[e+18688>>0]=1;c[e+4>>2]=0;c[e+8>>2]=0;c[e+18180>>2]=0;c[e+18184>>2]=0;c[e+5596>>2]=32;c[e+5600>>2]=32;c[e+5604>>2]=0;c[e+5612>>2]=-1;c[e+18188>>2]=1;c[e+18192>>2]=1;c[e+5608>>2]=1;l=e+4788|0;m=c[l>>2]|0;if((m|0)>1){la=+g[e+4792+(m+-1<<2)>>2];c[x>>2]=m;h[x+8>>3]=la;Ub(j,2,5222,x)|0;c[e+4792>>2]=c[e+4792+((c[l>>2]|0)+-1<<2)>>2];c[l>>2]=1;k=b[J>>1]|0}c:do{switch(k&65535|0){case 3:{k=c[ba>>2]|0;if((k|0)>6){c[y>>2]=k+1;Ub(j,2,5395,y)|0;c[ba>>2]=6;k=6}break}case 4:{k=c[ba>>2]|0;if((k|0)<2){c[z>>2]=k+1;Ub(j,2,5541,z)|0;c[ba>>2]=1;k=1;break c}if((k|0)>7){c[A>>2]=k+1;Ub(j,2,5695,A)|0;c[ba>>2]=7;k=7}break}default:k=c[ba>>2]|0}}while(0);l=e+40|0;c[l>>2]=c[l>>2]|1;l=e+5620|0;c[l>>2]=k+-1;if((k|0)>1){k=0;do{c[e+5624+(k<<2)>>2]=256;c[e+5756+(k<<2)>>2]=256;k=k+1|0}while((k|0)<(c[l>>2]|0))}c[e+44>>2]=4;if((b[J>>1]|0)==4){k=c[ba>>2]|0;c[e+96>>2]=1;c[e+48>>2]=0;c[e+52>>2]=0;c[e+56>>2]=1;X=k+-1|0;c[e+60>>2]=X;c[e+64>>2]=3;c[e+80>>2]=4;c[e+244>>2]=1;c[e+196>>2]=X;c[e+200>>2]=0;c[e+204>>2]=1;c[e+208>>2]=k;c[e+212>>2]=3;c[e+228>>2]=4;k=2}else k=0;c[e+4784>>2]=k;c[e+20>>2]=1;k=c[D>>2]|0;if((k|0)>=1){if((k|0)>1302083){Ub(j,2,5998,C)|0;c[D>>2]=1302083}}else{c[D>>2]=1302083;Ub(j,2,5849,B)|0}k=e+18680|0;l=c[k>>2]|0;if((l|0)>=1){if((l|0)>1041666){Ub(j,2,6320,F)|0;c[k>>2]=1041666}}else{c[k>>2]=1041666;Ub(j,2,6171,E)|0}l=c[f+16>>2]|0;n=c[f+24>>2]|0;o=c[n+8>>2]|0;k=_(o,l)|0;p=c[n+12>>2]|0;k=_(k,p)|0;la=+((_(k,c[n+24>>2]|0)|0)>>>0);k=_(c[D>>2]<<3,c[n>>2]|0)|0;g[e+4792>>2]=la/+((_(k,c[n+4>>2]|0)|0)>>>0);k=b[J>>1]|0;d:do{if((l|0)==3){l=n+28|0;m=n+32|0;if(!((c[l>>2]|0)!=12|c[m>>2])){l=n+80|0;m=n+84|0;if(!((c[l>>2]|0)!=12|c[m>>2])){l=n+132|0;m=n+136|0;if(!((c[l>>2]|0)!=12|c[m>>2])){switch(k&65535|0){case 3:{if(p>>>0>1080|o>>>0>2048){c[H>>2]=o;c[H+4>>2]=p;Ub(j,2,6892,H)|0;break d}break}case 4:{if(p>>>0>2160|o>>>0>4096){c[I>>2]=o;c[I+4>>2]=p;Ub(j,2,7063,I)|0;break d}break}default:{}}break b}else{p=l;k=m;l=2}}else{p=l;k=m;l=1}}else{p=l;k=m;l=0}a[K>>0]=a[6659]|0;a[K+1>>0]=a[6660]|0;a[K+2>>0]=a[6661]|0;a[K+3>>0]=a[6662]|0;a[K+4>>0]=a[6663]|0;a[K+5>>0]=a[6664]|0;a[K+6>>0]=a[6665]|0;m=L;n=6666;o=m+9|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));X=(c[k>>2]|0)!=0?K:L;L=c[p>>2]|0;c[N>>2]=l;c[N+4>>2]=L;c[N+8>>2]=X;Ub(j,2,6675,N)|0}else{c[G>>2]=l;Ub(j,2,6493,G)|0}}while(0);b[J>>1]=0;k=0}}while(0);c[d+168>>2]=c[e+18680>>2];X=d+88|0;b[X>>1]=k;N=d+181|0;K=a[N>>0]&-2|c[e+20>>2]&1;a[N>>0]=K;L=e+24|0;K=(c[L>>2]&255)<<1&2|K&-3;a[N>>0]=K;a[N>>0]=K&-5|(c[e+28>>2]&255)<<2&4;do{if((c[L>>2]|0)!=0?(O=e+32|0,(c[O>>2]|0)!=0):0){k=_((c[e+4788>>2]|0)*12|0,c[ba>>2]|0)|0;l=Pc(k)|0;c[d+176>>2]=l;if(l){Ui(l|0,c[O>>2]|0,k|0)|0;break}Ub(j,1,7520,P)|0;j=0;i=ka;return j|0}}while(0);n=d+100|0;c[n>>2]=c[e+12>>2];o=d+104|0;c[o>>2]=c[e+16>>2];m=d+92|0;c[m>>2]=c[e+4>>2];p=d+96|0;c[p>>2]=c[e+8>>2];l=e+36|0;k=c[l>>2]|0;do{if(!k){k=fc()|0;l=Pc((wi(k)|0)+29|0)|0;c[d+108>>2]=l;if(l){c[S>>2]=7697;c[S+4>>2]=k;ni(l,7692,S)|0;break}Ub(j,1,7646,R)|0;j=0;i=ka;return j|0}else{k=Pc((wi(k)|0)+1|0)|0;c[d+108>>2]=k;if(k){vi(k,c[l>>2]|0)|0;break}Ub(j,1,7592,Q)|0;j=0;i=ka;return j|0}}while(0);k=(c[f+8>>2]|0)-(c[m>>2]|0)|0;l=c[f+12>>2]|0;if(!(c[e>>2]|0)){c[n>>2]=k;c[o>>2]=l-(c[p>>2]|0)}else{S=c[n>>2]|0;c[$>>2]=(k+-1+S|0)/(S|0)|0;S=c[o>>2]|0;c[aa>>2]=(l+-1-(c[p>>2]|0)+S|0)/(S|0)|0}if(a[e+18688>>0]|0){a[d+180>>0]=a[e+18689>>0]|0;a[N>>0]=a[N>>0]|8}S=Qc(_(c[aa>>2]|0,c[$>>2]|0)|0,5640)|0;L=d+164|0;c[L>>2]=S;if(!S){Ub(j,1,7726,T)|0;j=0;i=ka;return j|0}K=e+4784|0;A=c[K>>2]|0;do{if(A){w=e+48|0;B=c[ba>>2]|0;C=c[f+16>>2]|0;D=c[e+4788>>2]|0;E=_(C,B)|0;F=Qc(_(E,D)|0,4)|0;if(!F){Ub(j,1,7780,U)|0;break}m=c[w>>2]|0;s=e+60|0;k=c[s>>2]|0;if(m>>>0>>0){q=_(m,C)|0;t=e+52|0;u=e+64|0;v=e+56|0;l=c[u>>2]|0;while(1){n=c[t>>2]|0;if(n>>>0>>0){k=c[v>>2]|0;p=n;o=n+q|0;while(1){if(!k)k=0;else{l=o;n=0;while(1){c[F+(l<<2)>>2]=1;n=n+1|0;k=c[v>>2]|0;if(n>>>0>=k>>>0)break;else l=l+E|0}l=c[u>>2]|0}p=p+1|0;if(p>>>0>=l>>>0)break;else o=o+1|0}k=c[s>>2]|0}m=m+1|0;if(m>>>0>=k>>>0)break;else q=q+C|0}}if(A>>>0>1){z=1;do{k=w;w=w+148|0;v=c[k+8>>2]|0;u=k+156|0;n=c[u>>2]|0;v=n>>>0>v>>>0?v:0;o=c[w>>2]|0;x=k+160|0;l=c[x>>2]|0;if(o>>>0>>0){q=_(o,C)|0;y=k+152|0;s=k+164|0;t=_(v,E)|0;m=c[s>>2]|0;k=n;while(1){n=c[y>>2]|0;if(n>>>0>>0){p=n;n=n+q|0;while(1){if(v>>>0>>0){l=n+t|0;m=v;while(1){c[F+(l<<2)>>2]=1;m=m+1|0;k=c[u>>2]|0;if(m>>>0>=k>>>0)break;else l=l+E|0}m=c[s>>2]|0}p=p+1|0;if(p>>>0>=m>>>0)break;else n=n+1|0}l=c[x>>2]|0}o=o+1|0;if(o>>>0>=l>>>0)break;else q=q+C|0}}z=z+1|0}while((z|0)!=(A|0))}if((D|0)!=0?(V=(C|0)==0,(B|0)!=0):0){l=0;q=0;k=0;do{if(!V){p=l;o=0;while(1){m=0;n=p;while(1){k=(c[F+(n<<2)>>2]|0)!=1|k;m=m+1|0;if((m|0)==(C|0))break;else n=n+1|0}o=o+1|0;if((o|0)==(B|0))break;else p=p+C|0}l=E+l|0}q=q+1|0}while((q|0)!=(D|0));if(k)Ub(j,1,7828,W)|0}Uc(F)}}while(0);e:do{if(_(c[aa>>2]|0,c[$>>2]|0)|0){w=e+4788|0;x=e+40|0;y=e+44|0;z=e+18690|0;A=f+16|0;l=e+18696|0;B=f+24|0;C=e+5596|0;D=e+5600|0;E=e+5604|0;F=e+5608|0;G=e+5612|0;H=e+5616|0;I=e+5620|0;J=0;f:while(1){q=c[L>>2]|0;s=q+(J*5640|0)|0;W=c[w>>2]|0;k=q+(J*5640|0)+8|0;c[k>>2]=W;if(W){m=((b[X>>1]|0)+-3&65535)<4;o=0;do{n=(a[N>>0]&4)==0;do{if(!m)if(n){c[q+(J*5640|0)+20+(o<<2)>>2]=c[e+4792+(o<<2)>>2];break}else{c[q+(J*5640|0)+5184+(o<<2)>>2]=c[e+5192+(o<<2)>>2];break}else{if(!n)c[q+(J*5640|0)+5184+(o<<2)>>2]=c[e+5192+(o<<2)>>2];c[q+(J*5640|0)+20+(o<<2)>>2]=c[e+4792+(o<<2)>>2]}}while(0);o=o+1|0}while(o>>>0<(c[k>>2]|0)>>>0)}c[s>>2]=c[x>>2];c[q+(J*5640|0)+4>>2]=c[y>>2];p=q+(J*5640|0)+16|0;c[p>>2]=a[z>>0];k=q+(J*5640|0)+5636|0;m=a[k>>0]|0;a[k>>0]=m&-5;if(!(c[K>>2]|0))c[q+(J*5640|0)+420>>2]=0;else{a[k>>0]=m|4;m=c[K>>2]|0;if(!m)k=0;else{n=J+1|0;o=0;k=0;do{if((n|0)==(c[e+48+(o*148|0)+48>>2]|0)){c[q+(J*5640|0)+424+(k*148|0)>>2]=c[e+48+(k*148|0)>>2];c[q+(J*5640|0)+424+(k*148|0)+4>>2]=c[e+48+(k*148|0)+4>>2];c[q+(J*5640|0)+424+(k*148|0)+8>>2]=c[e+48+(k*148|0)+8>>2];c[q+(J*5640|0)+424+(k*148|0)+12>>2]=c[e+48+(k*148|0)+12>>2];c[q+(J*5640|0)+424+(k*148|0)+16>>2]=c[e+48+(k*148|0)+16>>2];c[q+(J*5640|0)+424+(k*148|0)+32>>2]=c[e+48+(k*148|0)+32>>2];c[q+(J*5640|0)+424+(k*148|0)+48>>2]=c[e+48+(k*148|0)+48>>2];k=k+1|0}o=o+1|0}while(o>>>0>>0)}c[q+(J*5640|0)+420>>2]=k+-1}W=Qc(c[A>>2]|0,1080)|0;v=q+(J*5640|0)+5584|0;c[v>>2]=W;if(!W){Z=149;break}do{if(!(c[l>>2]|0)){g:do{if((c[p>>2]|0)==1){k=c[A>>2]|0;if(k>>>0<=2){n=k;break}m=c[B>>2]|0;k=c[m>>2]|0;do{if((k|0)==(c[m+52>>2]|0)){if((k|0)!=(c[m+104>>2]|0))break;k=c[m+4>>2]|0;if((k|0)!=(c[m+56>>2]|0))break;if((k|0)==(c[m+108>>2]|0)){Z=175;break g}}}while(0);Ub(j,2,8224,fa)|0;c[p>>2]=0;Z=175}else Z=175}while(0);if((Z|0)==175){Z=0;n=c[A>>2]|0}if(!n)break;k=c[B>>2]|0;m=0;do{if(!(c[k+(m*52|0)+32>>2]|0))c[(c[v>>2]|0)+(m*1080|0)+1076>>2]=1<<(c[k+(m*52|0)+24>>2]|0)+-1;m=m+1|0}while(m>>>0>>0);Y=n;Z=166}else{n=c[A>>2]|0;n=_(n<<2,n)|0;k=Pc(n)|0;o=(c[l>>2]|0)+n|0;if(!k){Z=152;break f}c[p>>2]=2;m=Pc(n)|0;c[q+(J*5640|0)+5608>>2]=m;if(!m){Z=154;break f}Ui(m|0,c[l>>2]|0,n|0)|0;Ui(k|0,c[l>>2]|0,n|0)|0;m=Pc(n)|0;n=q+(J*5640|0)+5604|0;c[n>>2]=m;if(!m){Z=156;break f}if(!(Vg(k,m,c[A>>2]|0)|0)){Z=158;break f}m=Pc(c[A>>2]<<3)|0;c[q+(J*5640|0)+5600>>2]=m;if(!m){Z=160;break f}If(m,c[A>>2]|0,c[n>>2]|0);Uc(k);k=c[A>>2]|0;if(k){m=c[v>>2]|0;n=0;do{c[m+(n*1080|0)+1076>>2]=c[o+(n<<2)>>2];n=n+1|0}while(n>>>0>>0)}if(!(_c(s,f)|0)){Z=167;break f}Y=c[A>>2]|0;Z=166}}while(0);if((Z|0)==166?(Z=0,(Y|0)!=0):0){u=0;do{s=c[v>>2]|0;t=s+(u*1080|0)|0;c[t>>2]=c[x>>2]&1;n=c[ba>>2]|0;o=s+(u*1080|0)+4|0;c[o>>2]=n;k=c[C>>2]|0;if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+8>>2]=k;k=c[D>>2]|0;if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+12>>2]=k;c[s+(u*1080|0)+16>>2]=c[E>>2];W=c[F>>2]|0;c[s+(u*1080|0)+20>>2]=(W|0)==0&1;c[s+(u*1080|0)+24>>2]=(W|0)!=0?2:0;c[s+(u*1080|0)+804>>2]=2;if((u|0)==(c[G>>2]|0))k=c[H>>2]|0;else k=0;c[s+(u*1080|0)+808>>2]=k;do{if(!(c[x>>2]&1)){if(!n)break;else k=0;do{c[s+(u*1080|0)+812+(k<<2)>>2]=15;c[s+(u*1080|0)+944+(k<<2)>>2]=15;k=k+1|0}while(k>>>0<(c[o>>2]|0)>>>0)}else{if((n|0)>0){o=n;q=0}else break;while(1){p=o;o=o+-1|0;k=c[I>>2]|0;do{if((q|0)<(k|0)){k=c[e+5624+(q<<2)>>2]|0;if((k|0)<1)c[s+(u*1080|0)+812+(o<<2)>>2]=1;else{if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+812+(o<<2)>>2]=k}k=c[e+5756+(q<<2)>>2]|0;if((k|0)<1){c[s+(u*1080|0)+944+(o<<2)>>2]=1;break}if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+944+(o<<2)>>2]=k}else{W=k+-1|0;m=q-W|0;k=c[e+5624+(W<<2)>>2]>>m;m=c[e+5756+(W<<2)>>2]>>m;if((k|0)<1)c[s+(u*1080|0)+812+(o<<2)>>2]=1;else{if((k|0)>1){n=0;do{k=k>>1;n=n+1|0}while((k|0)>1);k=n}else k=0;c[s+(u*1080|0)+812+(o<<2)>>2]=k}if((m|0)<1){c[s+(u*1080|0)+944+(o<<2)>>2]=1;break}if((m|0)>1){k=0;do{m=m>>1;k=k+1|0}while((m|0)>1)}else k=0;c[s+(u*1080|0)+944+(o<<2)>>2]=k}}while(0);if((p|0)<=1)break;else q=q+1|0}}}while(0);Mg(t,c[(c[B>>2]|0)+(u*52|0)+24>>2]|0);u=u+1|0}while(u>>>0<(c[A>>2]|0)>>>0)}J=J+1|0;if(J>>>0>=(_(c[aa>>2]|0,c[$>>2]|0)|0)>>>0)break e}if((Z|0)==149){Ub(j,1,7867,ca)|0;j=0;i=ka;return j|0}else if((Z|0)==152){Ub(j,1,7931,da)|0;j=0;i=ka;return j|0}else if((Z|0)==154){Uc(k);Ub(j,1,7974,ga)|0;j=0;i=ka;return j|0}else if((Z|0)==156){Uc(k);Ub(j,1,8032,ha)|0;j=0;i=ka;return j|0}else if((Z|0)==158){Uc(k);Ub(j,1,8092,ia)|0;j=0;i=ka;return j|0}else if((Z|0)==160){Uc(k);Ub(j,1,8140,ja)|0;j=0;i=ka;return j|0}else if((Z|0)==167){Ub(j,1,8190,ea)|0;j=0;i=ka;return j|0}}else l=e+18696|0}while(0);k=c[l>>2]|0;if(!k){j=1;i=ka;return j|0}Uc(k);c[l>>2]=0;j=1;i=ka;return j|0}function _c(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((c[b+16>>2]|0)!=2){b=1;return b|0}m=b+5604|0;r=b+5616|0;e=c[r>>2]|0;n=b+5620|0;do{if(c[m>>2]|0){do{if((e|0)==(c[n>>2]|0)){e=e+10|0;c[n>>2]=e;f=b+5612|0;e=Tc(c[f>>2]|0,e*20|0)|0;if(e){c[f>>2]=e;q=c[r>>2]|0;Qi(e+(q*20|0)|0,0,((c[n>>2]|0)-q|0)*20|0)|0;e=c[r>>2]|0;break}Uc(c[f>>2]|0);c[f>>2]=0;c[n>>2]=0;c[r>>2]=0;b=0;return b|0}else f=b+5612|0}while(0);k=c[f>>2]|0;i=k+(e*20|0)|0;l=k+(e*20|0)+12|0;f=c[l>>2]|0;if(f){Uc(f);c[l>>2]=0}c[k+(e*20|0)+8>>2]=1;c[k+(e*20|0)+4>>2]=1;c[i>>2]=2;f=c[d+16>>2]|0;f=_(f,f)|0;h=f<<2;j=Pc(h)|0;c[l>>2]=j;if(!j){b=0;return b|0}else{Xa[c[768+(c[i>>2]<<2)>>2]&15](c[m>>2]|0,j,f);c[k+(e*20|0)+16>>2]=h;e=(c[r>>2]|0)+1|0;c[r>>2]=e;j=2;break}}else{j=1;i=0}}while(0);do{if((e|0)==(c[n>>2]|0)){f=e+10|0;c[n>>2]=f;e=b+5612|0;f=Tc(c[e>>2]|0,f*20|0)|0;if(!f){Uc(c[e>>2]|0);c[e>>2]=0;c[n>>2]=0;c[r>>2]=0;b=0;return b|0}else{c[e>>2]=f;h=c[r>>2]|0;Qi(f+(h*20|0)|0,0,((c[n>>2]|0)-h|0)*20|0)|0;if(!i){i=0;break}i=f+((h+-1|0)*20|0)|0;break}}else e=b+5612|0}while(0);m=c[e>>2]|0;n=c[r>>2]|0;q=m+(n*20|0)|0;o=m+(n*20|0)+12|0;e=c[o>>2]|0;if(e){Uc(e);c[o>>2]=0}p=j+1|0;c[m+(n*20|0)+8>>2]=j;c[m+(n*20|0)+4>>2]=2;c[q>>2]=2;d=d+16|0;e=c[d>>2]|0;f=e<<2;l=Pc(f)|0;c[o>>2]=l;if(!l){b=0;return b|0}h=Pc(f)|0;if(!h){Uc(c[o>>2]|0);c[o>>2]=0;b=0;return b|0}if(e){j=0;k=h;l=c[b+5584>>2]|0;while(1){g[k>>2]=+(c[l+1076>>2]|0);j=j+1|0;if((j|0)==(e|0))break;else{k=k+4|0;l=l+1080|0}}}Xa[c[768+(c[q>>2]<<2)>>2]&15](h,c[o>>2]|0,e);Uc(h);c[m+(n*20|0)+16>>2]=f;c[r>>2]=(c[r>>2]|0)+1;j=b+5628|0;e=c[j>>2]|0;h=b+5632|0;do{if((e|0)==(c[h>>2]|0)){e=e+10|0;c[h>>2]=e;f=b+5624|0;e=Tc(c[f>>2]|0,e*20|0)|0;if(e){c[f>>2]=e;b=c[j>>2]|0;Qi(e+(b*20|0)|0,0,((c[h>>2]|0)-b|0)*20|0)|0;e=c[j>>2]|0;break}Uc(c[f>>2]|0);c[f>>2]=0;c[h>>2]=0;c[j>>2]=0;b=0;return b|0}else f=b+5624|0}while(0);b=c[f>>2]|0;c[b+(e*20|0)+8>>2]=i;r=b+(e*20|0)+16|0;a[r>>0]=a[r>>0]|1;c[b+(e*20|0)+4>>2]=c[d>>2];c[b+(e*20|0)>>2]=p;c[b+(e*20|0)+12>>2]=q;c[j>>2]=(c[j>>2]|0)+1;b=1;return b|0}function $c(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function ad(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=Xb()|0;k=b+80|0;c[k>>2]=j;if(!j){k=0;return k|0}f=b+192|0;if((sg(c[f>>2]|0,23,e)|0)!=0?(sg(c[f>>2]|0,24,e)|0)!=0:0){h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}}else vg(h);f=b+188|0;if((sg(c[f>>2]|0,25,e)|0)!=0?(sg(c[f>>2]|0,26,e)|0)!=0:0){h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}}else vg(h);f=Xb()|0;c[d>>2]=f;if(!f){k=0;return k|0}$b(c[k>>2]|0,f);f=_(c[b+116>>2]|0,c[b+112>>2]|0)|0;i=b+196|0;c[(c[i>>2]|0)+36>>2]=f;f=Qc(f,40)|0;g=c[i>>2]|0;c[g+40>>2]=f;if(!f){k=0;return k|0}if(!(c[g+36>>2]|0)){k=1;return k|0}h=0;while(1){c[f+(h*40|0)+28>>2]=100;c[f+(h*40|0)+20>>2]=0;k=Qc(100,24)|0;g=c[i>>2]|0;f=c[g+40>>2]|0;c[f+(h*40|0)+24>>2]=k;h=h+1|0;if(!k){f=0;g=30;break}if(h>>>0>=(c[g+36>>2]|0)>>>0){f=1;g=30;break}}if((g|0)==30)return f|0}Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}function bd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(!a)return;b=a+28|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}h=a+40|0;b=c[h>>2]|0;if(b){g=a+36|0;if(c[g>>2]|0){d=b;f=0;do{e=c[d+(f*40|0)+36>>2]|0;if(e){Uc(e);b=c[h>>2]|0;c[b+(f*40|0)+36>>2]=0;d=b}e=c[d+(f*40|0)+16>>2]|0;if(e){Uc(e);b=c[h>>2]|0;c[b+(f*40|0)+16>>2]=0;d=b}e=c[d+(f*40|0)+24>>2]|0;if(e){Uc(e);d=c[h>>2]|0;c[d+(f*40|0)+24>>2]=0;b=d}f=f+1|0}while(f>>>0<(c[g>>2]|0)>>>0)}Uc(b);c[h>>2]=0}Uc(a);return}function cd(d,e,f,g,h,j,k,l,m,n,o){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=i;i=i+256|0;Ca=Da+200|0;Ba=Da+192|0;za=Da+184|0;ya=Da+176|0;pa=Da+168|0;oa=Da+160|0;na=Da+152|0;ma=Da+144|0;la=Da+136|0;ka=Da+128|0;ia=Da+120|0;ha=Da+112|0;wa=Da+104|0;ua=Da+96|0;ga=Da+88|0;fa=Da+80|0;ea=Da+72|0;va=Da+64|0;da=Da+56|0;ca=Da+48|0;sa=Da+40|0;ra=Da+32|0;qa=Da+24|0;ja=Da+16|0;ba=Da+8|0;aa=Da;V=Da+240|0;T=Da+236|0;X=Da+232|0;Z=Da+228|0;$=Da+224|0;U=Da+220|0;Y=Da+216|0;S=Da+212|0;W=Da+208|0;c[S>>2]=65424;Aa=d+8|0;a:do{switch(c[Aa>>2]|0){case 256:{c[S>>2]=65497;p=d+76|0;xa=117;break}case 8:{ta=d+76|0;if(!(a[ta>>0]&1)){O=d+200|0;P=d+164|0;Q=d+72|0;R=d+24|0;B=d+196|0;D=d+112|0;E=d+116|0;G=V+2|0;H=V+6|0;I=V+7|0;J=d+16|0;K=d+20|0;L=d+64|0;p=65424;b:while(1){c:do{if((p|0)!=65427){while(1){A=Qb(n)|0;if((A|0)==0&(C|0)==0){xa=7;break}if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=9;break b}qb(c[J>>2]|0,W,2);if((c[W>>2]|0)>>>0<2){xa=11;break b}if((c[S>>2]|0)==32896?(A=Qb(n)|0,(A|0)==0&(C|0)==0):0){xa=14;break}s=c[Aa>>2]|0;p=c[W>>2]|0;if(s&16)c[R>>2]=-2-p+(c[R>>2]|0);q=p+-2|0;c[W>>2]=q;p=c[S>>2]|0;r=784;while(1){A=c[r>>2]|0;if((A|0)==0|(A|0)==(p|0)){y=r;break}else r=r+12|0}if(!(c[r+4>>2]&s)){xa=20;break b}if(q>>>0>(c[K>>2]|0)>>>0){A=Qb(n)|0;z=C;if(0>(z|0)|0==(z|0)&q>>>0>A>>>0){xa=24;break b}p=Tc(c[J>>2]|0,c[W>>2]|0)|0;if(!p){xa=26;break b}c[J>>2]=p;q=c[W>>2]|0;c[K>>2]=q}else p=c[J>>2]|0;q=Mb(n,p,q,o)|0;if((q|0)!=(c[W>>2]|0)){xa=29;break b}p=c[r+8>>2]|0;if(!p){xa=31;break b}if(!(Za[p&63](d,c[J>>2]|0,q,o)|0)){xa=33;break b}r=c[O>>2]|0;q=c[B>>2]|0;v=c[y>>2]|0;w=Pb(n)|0;x=c[W>>2]|0;w=w-x+-4|0;x=x+4|0;q=q+40|0;u=c[q>>2]|0;p=c[u+(r*40|0)+20>>2]|0;s=u+(r*40|0)+28|0;t=c[s>>2]|0;if((p+1|0)>>>0>t>>>0){t=~~(+(t>>>0)+100)>>>0;c[s>>2]=t;s=Tc(c[u+(r*40|0)+24>>2]|0,t*24|0)|0;t=c[q>>2]|0;p=t+(r*40|0)+24|0;if(!s){xa=41;break b}c[p>>2]=s;q=t;p=c[t+(r*40|0)+20>>2]|0}else{q=u;s=c[u+(r*40|0)+24>>2]|0}b[s+(p*24|0)>>1]=v;A=s+(p*24|0)+8|0;c[A>>2]=w;c[A+4>>2]=((w|0)<0)<<31>>31;c[s+(p*24|0)+16>>2]=x;c[q+(r*40|0)+20>>2]=p+1;if((v|0)==65424?(F=c[q+(r*40|0)+16>>2]|0,(F|0)!=0):0){A=F+((c[q+(r*40|0)+12>>2]|0)*24|0)|0;c[A>>2]=w;c[A+4>>2]=0}do{if((c[y>>2]|0)==65424){p=Pb(n)|0;p=-4-(c[W>>2]|0)+p|0;A=L;z=c[A+4>>2]|0;if(!(0>(z|0)|(0==(z|0)?p>>>0>(c[A>>2]|0)>>>0:0)))break;A=L;c[A>>2]=p;c[A+4>>2]=0}}while(0);if(a[ta>>0]&4){xa=46;break}if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=50;break b}qb(c[J>>2]|0,S,2);if((c[S>>2]|0)==65427)break c}if((xa|0)==7){xa=0;c[Aa>>2]=64;break}else if((xa|0)==14){xa=0;c[Aa>>2]=64;break}else if((xa|0)==46){xa=0;A=Rb(n,c[R>>2]|0,0,o)|0;if(!((C|0)==0?(A|0)==(c[R>>2]|0):0)){xa=47;break b}c[S>>2]=65427;break}}}while(0);A=Qb(n)|0;if((A|0)==0&(C|0)==0?(c[Aa>>2]|0)==64:0){xa=115;break}p=a[ta>>0]|0;if(!(p&4)){q=c[O>>2]|0;r=c[P>>2]|0;if(!(c[Q>>2]|0)){p=c[R>>2]|0;if(p>>>0>1){s=p+-2|0;c[R>>2]=s}else s=p}else{s=Qb(n)|0;s=Si(s|0,C|0,-2,0)|0;c[R>>2]=s}p=r+(q*5640|0)+5592|0;A=r+(q*5640|0)+5596|0;do{if(!s)z=1;else{z=Qb(n)|0;y=C;if(0>(y|0)|0==(y|0)&s>>>0>z>>>0)Ub(o,2,8573,ga)|0;q=c[p>>2]|0;if(!q){z=Pc(c[R>>2]|0)|0;c[p>>2]=z;if(!z)break b;else{z=0;break}}q=Tc(q,(c[R>>2]|0)+(c[A>>2]|0)|0)|0;if(!q){xa=65;break b}c[p>>2]=q;z=0}}while(0);q=c[B>>2]|0;if(q){w=Pb(n)|0;s=C;y=Si(w|0,s|0,-2,-1)|0;r=c[O>>2]|0;q=q+40|0;u=c[q>>2]|0;v=c[u+(r*40|0)+12>>2]|0;t=c[u+(r*40|0)+16>>2]|0;x=t+(v*24|0)+8|0;c[x>>2]=y;c[x+4>>2]=C;x=c[R>>2]|0;s=Si(x|0,0,w|0,s|0)|0;v=t+(v*24|0)+16|0;c[v>>2]=s;c[v+4>>2]=C;x=x+2|0;v=c[u+(r*40|0)+20>>2]|0;s=u+(r*40|0)+28|0;t=c[s>>2]|0;if((v+1|0)>>>0>t>>>0){t=~~(+(t>>>0)+100)>>>0;c[s>>2]=t;s=Tc(c[u+(r*40|0)+24>>2]|0,t*24|0)|0;t=c[q>>2]|0;u=t+(r*40|0)+24|0;if(!s){p=u;xa=74;break}c[u>>2]=s;w=t;q=c[t+(r*40|0)+20>>2]|0}else{w=u;s=c[u+(r*40|0)+24>>2]|0;q=v}b[s+(q*24|0)>>1]=-109;v=Pi(0,y|0,32)|0;y=s+(q*24|0)+8|0;c[y>>2]=v;c[y+4>>2]=C;c[s+(q*24|0)+16>>2]=x;c[w+(r*40|0)+20>>2]=q+1}if(!z)p=Mb(n,(c[p>>2]|0)+(c[A>>2]|0)|0,c[R>>2]|0,o)|0;else p=0;c[Aa>>2]=(p|0)==(c[R>>2]|0)?8:64;c[A>>2]=(c[A>>2]|0)+p;p=a[ta>>0]|0;if((p&9)==1){a[ta>>0]=p|8;q=c[O>>2]|0;do{if((Tb(n)|0)!=0?(M=Pb(n)|0,N=C,!((M|0)==-1&(N|0)==-1)):0){while(1){if((Mb(n,V,2,o)|0)!=2){xa=81;break}qb(V,T,2);if((c[T>>2]|0)!=65424){xa=83;break}if((Mb(n,V,2,o)|0)!=2){xa=85;break}qb(V,X,2);if((c[X>>2]|0)!=10){xa=87;break}c[X>>2]=8;p=Mb(n,V,8,o)|0;if((p|0)!=(c[X>>2]|0)){xa=89;break}if((p|0)!=8){xa=91;break}qb(V,Z,2);qb(G,$,4);qb(H,U,1);qb(I,Y,1);if((c[Z>>2]|0)==(q|0)){xa=97;break}p=c[$>>2]|0;if(p>>>0<14){xa=94;break}xa=p+-12|0;c[$>>2]=xa;xa=Rb(n,xa,0,o)|0;if(!((C|0)==0?(xa|0)==(c[$>>2]|0):0)){xa=96;break}}if((xa|0)==81){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==83){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==85){xa=0;Ub(o,1,8295,ha)|0;p=0;q=0;break}else if((xa|0)==87){xa=0;Ub(o,1,8313,ia)|0;p=0;q=0;break}else if((xa|0)==89){xa=0;Ub(o,1,8295,ka)|0;p=0;q=0;break}else if((xa|0)==91){xa=0;Ub(o,1,8662,la)|0;p=0;q=0;break}else if((xa|0)==94){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==96){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==97){xa=0;q=(c[U>>2]|0)==(c[Y>>2]|0)&1;p=(Sb(n,M,N,o)|0)!=0&1;break}}else{p=1;q=0}}while(0);if(!p){xa=99;break}if(q){p=_(c[E>>2]|0,c[D>>2]|0)|0;a[ta>>0]=a[ta>>0]&-18|16;if(p){q=c[P>>2]|0;t=0;do{r=q+(t*5640|0)+5588|0;s=c[r>>2]|0;if(s)c[r>>2]=s+1;t=t+1|0}while((t|0)!=(p|0))}Ub(o,2,8734,na)|0}}if(!(a[ta>>0]&1)){if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=109;break}qb(c[J>>2]|0,S,2)}}else{a[ta>>0]=p&-6;c[Aa>>2]=8;if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=113;break}qb(c[J>>2]|0,S,2)}p=c[S>>2]|0;if(!((p|0)!=65497&(a[ta>>0]&1)==0)){xa=116;break}}switch(xa|0){case 9:{Ub(o,1,8295,aa)|0;o=0;i=Da;return o|0}case 11:{Ub(o,1,8313,ba)|0;o=0;i=Da;return o|0}case 20:{Ub(o,1,8339,ja)|0;o=0;i=Da;return o|0}case 24:{Ub(o,1,8382,qa)|0;o=0;i=Da;return o|0}case 26:{Uc(c[J>>2]|0);c[J>>2]=0;c[K>>2]=0;Ub(o,1,8427,ra)|0;o=0;i=Da;return o|0}case 29:{Ub(o,1,8295,sa)|0;o=0;i=Da;return o|0}case 31:{Ub(o,1,8461,ca)|0;o=0;i=Da;return o|0}case 33:{c[da>>2]=c[S>>2];Ub(o,1,8490,da)|0;o=0;i=Da;return o|0}case 41:{Uc(c[p>>2]|0);Ca=c[q>>2]|0;c[Ca+(r*40|0)+24>>2]=0;c[Ca+(r*40|0)+28>>2]=0;c[Ca+(r*40|0)+20>>2]=0;Ub(o,1,8537,va)|0;o=0;i=Da;return o|0}case 47:{Ub(o,1,8295,ea)|0;o=0;i=Da;return o|0}case 50:{Ub(o,1,8295,fa)|0;o=0;i=Da;return o|0}case 65:{Uc(c[p>>2]|0);c[p>>2]=0;break}case 74:{Uc(c[p>>2]|0);Ca=c[q>>2]|0;c[Ca+(r*40|0)+24>>2]=0;c[Ca+(r*40|0)+28>>2]=0;c[Ca+(r*40|0)+20>>2]=0;Ub(o,1,8537,wa)|0;o=0;i=Da;return o|0}case 99:{Ub(o,1,8688,ma)|0;o=0;i=Da;return o|0}case 109:{Ub(o,1,8295,oa)|0;o=0;i=Da;return o|0}case 113:{Ub(o,1,8295,pa)|0;o=0;i=Da;return o|0}case 115:{p=c[S>>2]|0;xa=116;break}}if((xa|0)==116)if((p|0)==65497){p=ta;xa=117;break a}else{p=ta;break a}Ub(o,1,8628,ua)|0;o=0;i=Da;return o|0}else p=ta;break}default:{o=0;i=Da;return o|0}}}while(0);if((xa|0)==117)if((c[Aa>>2]|0)!=256){c[d+200>>2]=0;c[Aa>>2]=256}if(!(a[p>>0]&1)){s=_(c[d+112>>2]|0,c[d+116>>2]|0)|0;t=d+200|0;q=c[t>>2]|0;d:do{if(q>>>0>>0){p=q;r=(c[d+164>>2]|0)+(q*5640|0)|0;while(1){if(c[r+5592>>2]|0){q=p;break d}q=p+1|0;c[t>>2]=q;if(q>>>0>>0){p=q;r=r+5640|0}else break}}}while(0);if((q|0)==(s|0)){c[m>>2]=0;o=1;i=Da;return o|0}}else{q=d+200|0;t=q;q=c[q>>2]|0}A=c[d+164>>2]|0;if(a[A+(q*5640|0)+5636>>0]&2){B=A+(q*5640|0)+5160|0;r=c[B>>2]|0;if(!r)p=0;else{s=c[A+(q*5640|0)+5164>>2]|0;u=0;p=0;do{p=(c[s+(u<<3)+4>>2]|0)+p|0;u=u+1|0}while((u|0)!=(r|0))}xa=Pc(p)|0;z=A+(q*5640|0)+5172|0;c[z>>2]=xa;if(!xa){Ub(o,1,8775,ya)|0;Ub(o,1,8813,za)|0;o=0;i=Da;return o|0}y=A+(q*5640|0)+5180|0;c[y>>2]=p;r=c[B>>2]|0;x=A+(q*5640|0)+5164|0;if(!r)p=c[x>>2]|0;else{p=c[x>>2]|0;v=p;w=0;u=0;while(1){s=c[v+(w<<3)>>2]|0;if(!s)s=v;else{Ui((c[z>>2]|0)+u|0,s|0,c[v+(w<<3)+4>>2]|0)|0;s=c[x>>2]|0;u=(c[s+(w<<3)+4>>2]|0)+u|0;Uc(c[s+(w<<3)>>2]|0);s=c[x>>2]|0;c[s+(w<<3)>>2]=0;c[s+(w<<3)+4>>2]=0;r=c[B>>2]|0;p=s}w=w+1|0;if(w>>>0>=r>>>0)break;else v=s}}c[B>>2]=0;Uc(p);c[x>>2]=0;c[A+(q*5640|0)+5168>>2]=c[z>>2];c[A+(q*5640|0)+5176>>2]=c[y>>2];q=c[t>>2]|0}p=d+204|0;if(!($f(c[p>>2]|0,q,o)|0)){Ub(o,1,8839,Ba)|0;o=0;i=Da;return o|0}else{Ba=_(c[d+112>>2]|0,c[d+116>>2]|0)|0;c[Ca>>2]=(c[t>>2]|0)+1;c[Ca+4>>2]=Ba;Ub(o,4,8873,Ca)|0;c[e>>2]=c[t>>2];c[m>>2]=1;c[f>>2]=ag(c[p>>2]|0)|0;o=c[c[(c[p>>2]|0)+20>>2]>>2]|0;c[g>>2]=c[o>>2];c[h>>2]=c[o+4>>2];c[j>>2]=c[o+8>>2];c[k>>2]=c[o+12>>2];c[l>>2]=c[o+16>>2];c[Aa>>2]=c[Aa>>2]|128;o=1;i=Da;return o|0}return 0}function dd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;r=t+28|0;s=t+32|0;o=b+8|0;if(!(c[o>>2]&128)){g=0;i=t;return g|0}q=b+200|0;if((c[q>>2]|0)!=(d|0)){g=0;i=t;return g|0}j=c[b+164>>2]|0;n=j+(d*5640|0)|0;p=j+(d*5640|0)+5592|0;k=c[p>>2]|0;if(!k){sd(n);g=0;i=t;return g|0}l=b+204|0;m=j+(d*5640|0)+5596|0;if(!(cg(c[l>>2]|0,k,c[m>>2]|0,d,c[b+196>>2]|0,h)|0)){sd(n);c[o>>2]=c[o>>2]|32768;Ub(h,1,8912,t)|0;g=0;i=t;return g|0}if(!(dg(c[l>>2]|0,e,f)|0)){g=0;i=t;return g|0}j=c[p>>2]|0;if(j){Uc(j);c[p>>2]=0;c[m>>2]=0}p=b+76|0;a[p>>0]=a[p>>0]&-2;c[o>>2]=c[o>>2]&-129;p=Qb(g)|0;b=c[o>>2]|0;if((b|0)==256|(p|0)==0&(C|0)==0&(b|0)==64){g=1;i=t;return g|0}if((Mb(g,s,2,h)|0)!=2){Ub(h,2,8931,t+8|0)|0;g=1;i=t;return g|0}qb(s,r,2);switch(c[r>>2]|0){case 65497:{c[q>>2]=0;c[o>>2]=256;g=1;i=t;return g|0}case 65424:{g=1;i=t;return g|0}default:if((Qb(g)|0)==0&(C|0)==0){c[o>>2]=64;Ub(h,2,8975,t+16|0)|0;g=1;i=t;return g|0}else{Ub(h,1,9005,t+24|0)|0;g=0;i=t;return g|0}}return 0}function ed(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;y=z+96|0;x=z+88|0;w=z+80|0;v=z+72|0;u=z+64|0;s=z+56|0;r=z+48|0;o=z+40|0;n=z+32|0;m=z+24|0;l=z+16|0;p=c[b+80>>2]|0;if((c[b+8>>2]|0)!=8){Ub(j,1,9037,z)|0;j=0;i=z;return j|0}if(!(f|e|g|h)){Ub(j,4,9116,z+8|0)|0;c[b+28>>2]=0;c[b+32>>2]=0;c[b+36>>2]=c[b+112>>2];c[b+40>>2]=c[b+116>>2];j=1;i=z;return j|0}t=p+8|0;k=c[t>>2]|0;if(k>>>0>>0){c[l>>2]=e;c[l+4>>2]=k;Ub(j,1,9185,l)|0;j=0;i=z;return j|0}k=c[p>>2]|0;if(k>>>0>e>>>0){c[m>>2]=e;c[m+4>>2]=k;Ub(j,2,9272,m)|0;k=0;e=c[p>>2]|0}else k=((e-(c[b+92>>2]|0)|0)>>>0)/((c[b+100>>2]|0)>>>0)|0;c[b+28>>2]=k;c[d>>2]=e;q=p+12|0;e=c[q>>2]|0;if(e>>>0>>0){c[n>>2]=f;c[n+4>>2]=e;Ub(j,1,9360,n)|0;j=0;i=z;return j|0}l=p+4|0;e=c[l>>2]|0;if(e>>>0>f>>>0){c[o>>2]=f;c[o+4>>2]=e;Ub(j,2,9445,o)|0;e=0;f=c[l>>2]|0}else e=((f-(c[b+96>>2]|0)|0)>>>0)/((c[b+104>>2]|0)>>>0)|0;c[b+32>>2]=e;m=d+4|0;c[m>>2]=f;e=c[p>>2]|0;if(e>>>0>g>>>0){c[r>>2]=g;c[r+4>>2]=e;Ub(j,1,9531,r)|0;j=0;i=z;return j|0}e=c[t>>2]|0;if(e>>>0>>0){c[s>>2]=g;c[s+4>>2]=e;Ub(j,2,9620,s)|0;e=c[b+112>>2]|0;g=c[t>>2]|0}else{e=c[b+100>>2]|0;e=(g+-1-(c[b+92>>2]|0)+e|0)/(e|0)|0}c[b+36>>2]=e;k=d+8|0;c[k>>2]=g;g=c[l>>2]|0;if(g>>>0>h>>>0){c[u>>2]=h;c[u+4>>2]=g;Ub(j,1,9708,u)|0;j=0;i=z;return j|0}g=c[q>>2]|0;if(g>>>0>>0){c[v>>2]=h;c[v+4>>2]=g;Ub(j,2,9798,v)|0;e=c[q>>2]|0;g=c[b+116>>2]|0}else{g=c[b+104>>2]|0;e=h;g=(h+-1-(c[b+96>>2]|0)+g|0)/(g|0)|0}c[b+40>>2]=g;h=d+12|0;c[h>>2]=e;v=b+76|0;a[v>>0]=a[v>>0]|2;v=c[d+16>>2]|0;b=c[d>>2]|0;a:do{if(v){f=c[m>>2]|0;t=f+-1|0;u=c[k>>2]|0;q=u+-1|0;r=b+-1|0;g=0;p=c[d+24>>2]|0;while(1){d=c[p>>2]|0;e=(r+d|0)/(d|0)|0;c[p+16>>2]=e;o=c[p+4>>2]|0;k=(t+o|0)/(o|0)|0;c[p+20>>2]=k;d=(q+d|0)/(d|0)|0;l=c[p+40>>2]|0;m=Ri(1,0,l|0)|0;n=C;d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;d=Si(d|0,C|0,m|0,n|0)|0;d=Pi(d|0,C|0,l|0)|0;e=Si(e|0,((e|0)<0)<<31>>31|0,-1,-1)|0;e=Si(e|0,C|0,m|0,n|0)|0;e=Pi(e|0,C|0,l|0)|0;e=d-e|0;if((e|0)<0){k=29;break}s=c[h>>2]|0;d=(o+-1+s|0)/(o|0)|0;c[p+8>>2]=e;d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;d=Si(d|0,C|0,m|0,n|0)|0;d=Pi(d|0,C|0,l|0)|0;e=Si(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;e=Si(e|0,C|0,m|0,n|0)|0;e=Pi(e|0,C|0,l|0)|0;e=d-e|0;if((e|0)<0){k=31;break}c[p+12>>2]=e;g=g+1|0;if(g>>>0>=v>>>0){e=u;g=s;break a}else p=p+52|0}if((k|0)==29){c[w>>2]=g;c[w+4>>2]=e;Ub(j,1,9887,w)|0;j=0;i=z;return j|0}else if((k|0)==31){c[x>>2]=g;c[x+4>>2]=e;Ub(j,1,9956,x)|0;j=0;i=z;return j|0}}else{f=c[m>>2]|0;e=c[k>>2]|0;g=c[h>>2]|0}}while(0);c[y>>2]=b;c[y+4>>2]=f;c[y+8>>2]=e;c[y+12>>2]=g;Ub(j,4,10025,y)|0;j=1;i=z;return j|0}function fd(){var b=0,d=0,e=0;b=Qc(1,208)|0;if(!b){d=0;return d|0}c[b>>2]=1;d=b+184|0;a[d>>0]=a[d>>0]|2;d=Qc(1,5640)|0;c[b+12>>2]=d;if(!d){Yc(b);d=0;return d|0}d=Qc(1,1e3)|0;c[b+16>>2]=d;if(!d){Yc(b);d=0;return d|0}c[b+20>>2]=1e3;c[b+60>>2]=-1;d=b+64|0;c[d>>2]=0;c[d+4>>2]=0;d=Qc(1,48)|0;do{if(d){c[d+32>>2]=100;c[d+24>>2]=0;e=Qc(100,24)|0;c[d+28>>2]=e;if(!e){Uc(d);break}c[d+40>>2]=0;c[b+196>>2]=d;e=qg()|0;c[b+192>>2]=e;if(!e){Yc(b);e=0;return e|0}e=qg()|0;c[b+188>>2]=e;if(e){e=b;return e|0}Yc(b);e=0;return e|0}}while(0);c[b+196>>2]=0;Yc(b);e=0;return e|0}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+128|0;s=t+104|0;r=t+72|0;q=t+64|0;n=t+40|0;l=t+24|0;j=t+16|0;h=t+8|0;g=t;if(b&384){ki(10063,11,1,d)|0;i=t;return}if((b&1|0)!=0?(f=c[a+80>>2]|0,(f|0)!=0):0)hd(f,0,d);if(b&2){ki(10075,36,1,d)|0;f=c[a+96>>2]|0;c[g>>2]=c[a+92>>2];c[g+4>>2]=f;$h(d,10112,g)|0;g=c[a+104>>2]|0;c[h>>2]=c[a+100>>2];c[h+4>>2]=g;$h(d,10130,h)|0;h=c[a+116>>2]|0;c[j>>2]=c[a+112>>2];c[j+4>>2]=h;$h(d,10148,j)|0;xd(c[a+12>>2]|0,c[(c[a+80>>2]|0)+16>>2]|0,d);ki(10164,2,1,d)|0}if((b&8|0)!=0?(k=_(c[a+112>>2]|0,c[a+116>>2]|0)|0,(k|0)!=0):0){f=a+80|0;g=0;h=c[a+164>>2]|0;while(1){xd(h,c[(c[f>>2]|0)+16>>2]|0,d);g=g+1|0;if((g|0)==(k|0))break;else h=h+5640|0}}if(!(b&16)){i=t;return}j=c[a+196>>2]|0;ki(10167,37,1,d)|0;k=j;b=c[k+4>>2]|0;f=j+8|0;a=c[f>>2]|0;f=c[f+4>>2]|0;h=l;c[h>>2]=c[k>>2];c[h+4>>2]=b;h=l+8|0;c[h>>2]=a;c[h+4>>2]=f;$h(d,10205,l)|0;ki(10272,17,1,d)|0;h=j+28|0;f=c[h>>2]|0;a:do{if((f|0)!=0?(m=j+24|0,(c[m>>2]|0)!=0):0){g=0;while(1){b=f+(g*24|0)+8|0;k=c[b>>2]|0;b=c[b+4>>2]|0;l=c[f+(g*24|0)+16>>2]|0;c[n>>2]=e[f+(g*24|0)>>1];a=n+8|0;c[a>>2]=k;c[a+4>>2]=b;c[n+16>>2]=l;$h(d,10290,n)|0;g=g+1|0;if(g>>>0>=(c[m>>2]|0)>>>0)break a;f=c[h>>2]|0}}}while(0);ki(10321,4,1,d)|0;b=j+40|0;h=c[b>>2]|0;if((h|0)!=0?(p=j+36|0,o=c[p>>2]|0,(o|0)!=0):0){g=0;f=0;do{f=(c[h+(g*40|0)+4>>2]|0)+f|0;g=g+1|0}while((g|0)!=(o|0));if(f){ki(10326,16,1,d)|0;if(c[p>>2]|0){f=c[b>>2]|0;k=0;do{j=c[f+(k*40|0)+4>>2]|0;c[q>>2]=k;c[q+4>>2]=j;$h(d,10343,q)|0;f=c[b>>2]|0;g=c[f+(k*40|0)+16>>2]|0;b:do{if(!((j|0)==0|(g|0)==0)){f=0;while(1){a=g+(f*24|0)|0;u=c[a>>2]|0;a=c[a+4>>2]|0;m=g+(f*24|0)+8|0;l=c[m>>2]|0;m=c[m+4>>2]|0;o=g+(f*24|0)+16|0;n=c[o>>2]|0;o=c[o+4>>2]|0;c[r>>2]=f;h=r+8|0;c[h>>2]=u;c[h+4>>2]=a;h=r+16|0;c[h>>2]=l;c[h+4>>2]=m;h=r+24|0;c[h>>2]=n;c[h+4>>2]=o;$h(d,10379,r)|0;h=f+1|0;f=c[b>>2]|0;if((h|0)==(j|0))break b;g=c[f+(k*40|0)+16>>2]|0;f=h}}}while(0);g=c[f+(k*40|0)+24>>2]|0;c:do{if((g|0)!=0?(c[f+(k*40|0)+20>>2]|0)!=0:0){f=0;while(1){o=g+(f*24|0)+8|0;n=c[o>>2]|0;o=c[o+4>>2]|0;h=c[g+(f*24|0)+16>>2]|0;c[s>>2]=e[g+(f*24|0)>>1];u=s+8|0;c[u>>2]=n;c[u+4>>2]=o;c[s+16>>2]=h;$h(d,10290,s)|0;h=f+1|0;f=c[b>>2]|0;if(h>>>0>=(c[f+(k*40|0)+20>>2]|0)>>>0)break c;g=c[f+(k*40|0)+24>>2]|0;f=h}}}while(0);k=k+1|0}while(k>>>0<(c[p>>2]|0)>>>0)}ki(10321,4,1,d)|0}}ki(10164,2,1,d)|0;i=t;return}function hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;h=n+16|0;g=n;k=n+52|0;if(!d){ki(10482,13,1,e)|0;a[k+1>>0]=0;f=9}else{ki(10445,36,1,c[676]|0)|0;f=0}a[k>>0]=f;o=c[b>>2]|0;f=c[b+4>>2]|0;c[g>>2]=k;c[g+4>>2]=o;c[g+8>>2]=f;$h(e,10496,g)|0;g=c[b+8>>2]|0;f=c[b+12>>2]|0;c[h>>2]=k;c[h+4>>2]=g;c[h+8>>2]=f;$h(e,10513,h)|0;h=b+16|0;f=c[h>>2]|0;c[j>>2]=k;c[j+4>>2]=f;$h(e,10530,j)|0;f=b+24|0;if(!(c[f>>2]|0)){ki(10164,2,1,e)|0;i=n;return}if(!(c[h>>2]|0)){ki(10164,2,1,e)|0;i=n;return}else g=0;do{c[l>>2]=k;c[l+4>>2]=g;$h(e,10546,l)|0;id((c[f>>2]|0)+(g*52|0)|0,d,e);c[m>>2]=k;$h(e,10566,m)|0;g=g+1|0}while(g>>>0<(c[h>>2]|0)>>>0);ki(10164,2,1,e)|0;i=n;return}function id(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;k=l+24|0;j=l+16|0;h=l;g=l+32|0;f=(d|0)!=0;if(f){ki(10571,41,1,c[676]|0)|0;d=0}else{a[g+1>>0]=9;a[g+2>>0]=0;d=9}a[g>>0]=d;m=c[b>>2]|0;d=c[b+4>>2]|0;c[h>>2]=g;c[h+4>>2]=m;c[h+8>>2]=d;$h(e,10613,h)|0;h=c[b+24>>2]|0;c[j>>2]=g;c[j+4>>2]=h;$h(e,10630,j)|0;j=c[b+32>>2]|0;c[k>>2]=g;c[k+4>>2]=j;$h(e,10642,k)|0;if(!f){i=l;return}ki(10164,2,1,e)|0;i=l;return}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;e=m;b=a+80|0;k=c[(c[b>>2]|0)+16>>2]|0;d=Qc(1,56)|0;c[e>>2]=d;if(!d){l=0;i=m;return l|0}c[d+24>>2]=c[(c[b>>2]|0)+16>>2];c[d>>2]=c[a+92>>2];c[d+4>>2]=c[a+96>>2];c[d+8>>2]=c[a+100>>2];c[d+12>>2]=c[a+104>>2];c[d+16>>2]=c[a+112>>2];c[d+20>>2]=c[a+116>>2];c[d+52>>2]=0;d=c[a+12>>2]|0;b=c[e>>2]|0;c[b+32>>2]=c[d>>2];c[b+36>>2]=c[d+4>>2];c[b+40>>2]=c[d+8>>2];c[b+44>>2]=c[d+16>>2];c[b+48>>2]=Qc(c[b+24>>2]|0,1080)|0;b=c[e>>2]|0;j=b+48|0;a=c[j>>2]|0;if(!a){Cc(e);l=0;i=m;return l|0}if(!k){l=b;i=m;return l|0}h=d+5584|0;d=0;while(1){g=c[h>>2]|0;c[a+(d*1080|0)+4>>2]=c[g+(d*1080|0)>>2];e=g+(d*1080|0)+4|0;f=c[e>>2]|0;c[a+(d*1080|0)+8>>2]=f;c[a+(d*1080|0)+12>>2]=c[g+(d*1080|0)+8>>2];c[a+(d*1080|0)+16>>2]=c[g+(d*1080|0)+12>>2];c[a+(d*1080|0)+20>>2]=c[g+(d*1080|0)+16>>2];c[a+(d*1080|0)+24>>2]=c[g+(d*1080|0)+20>>2];if(f>>>0<33){Ui(a+(d*1080|0)+948|0,g+(d*1080|0)+944|0,f|0)|0;Ui(a+(d*1080|0)+816|0,g+(d*1080|0)+812|0,c[e>>2]|0)|0}f=c[g+(d*1080|0)+24>>2]|0;c[a+(d*1080|0)+28>>2]=f;c[a+(d*1080|0)+808>>2]=c[g+(d*1080|0)+804>>2];if((f|0)!=1){f=(c[e>>2]|0)*3|0;e=f+-2|0;if((e|0)<97&(f|0)>2)l=10}else{e=1;l=10}if((l|0)==10){l=0;f=0;do{c[a+(d*1080|0)+32+(f<<2)>>2]=c[g+(d*1080|0)+28+(f<<3)+4>>2];c[a+(d*1080|0)+420+(f<<2)>>2]=c[g+(d*1080|0)+28+(f<<3)>>2];f=f+1|0}while((f|0)!=(e|0))}c[a+(d*1080|0)+812>>2]=c[g+(d*1080|0)+808>>2];d=d+1|0;if((d|0)==(k|0))break;a=c[j>>2]|0}i=m;return b|0}function kd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Qc(1,48)|0;if(!b){k=0;return k|0}h=a+196|0;d=c[h>>2]|0;i=d;k=c[i+4>>2]|0;a=b;c[a>>2]=c[i>>2];c[a+4>>2]=k;a=d+8|0;k=c[a+4>>2]|0;i=b+8|0;c[i>>2]=c[a>>2];c[i+4>>2]=k;i=d+16|0;k=c[i+4>>2]|0;a=b+16|0;c[a>>2]=c[i>>2];c[a+4>>2]=k;d=c[d+24>>2]|0;a=b+24|0;c[a>>2]=d;d=Pc(d*24|0)|0;k=b+28|0;c[k>>2]=d;if(!d){Uc(b);k=0;return k|0}e=c[(c[h>>2]|0)+28>>2]|0;if(!e){Uc(d);c[k>>2]=0}else Ui(d|0,e|0,(c[a>>2]|0)*24|0)|0;a=c[(c[h>>2]|0)+36>>2]|0;g=b+36|0;c[g>>2]=a;a=Qc(a,40)|0;i=b+40|0;c[i>>2]=a;if(!a){Uc(c[k>>2]|0);Uc(b);k=0;return k|0}d=c[(c[h>>2]|0)+40>>2]|0;if(!d){Uc(a);c[i>>2]=0;k=b;return k|0}if(!(c[g>>2]|0)){k=b;return k|0}d=c[d+20>>2]|0;c[a+20>>2]=d;d=Pc(d*24|0)|0;a=c[i>>2]|0;c[a+24>>2]=d;a:do{if(!d)d=0;else{f=d;d=0;while(1){e=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+24>>2]|0;if(!e){Uc(f);a=c[i>>2]|0;c[a+(d*40|0)+24>>2]=0}else{Ui(f|0,e|0,(c[a+(d*40|0)+20>>2]|0)*24|0)|0;a=c[i>>2]|0}e=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+4>>2]|0;c[a+(d*40|0)+4>>2]=e;e=Pc(e*24|0)|0;a=c[i>>2]|0;c[a+(d*40|0)+16>>2]=e;if(!e)break;f=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+16>>2]|0;if(!f){Uc(e);a=c[i>>2]|0;c[a+(d*40|0)+16>>2]=0}else{Ui(e|0,f|0,(c[a+(d*40|0)+4>>2]|0)*24|0)|0;a=c[i>>2]|0}c[a+(d*40|0)+32>>2]=0;c[a+(d*40|0)+36>>2]=0;d=d+1|0;if(d>>>0>=(c[g>>2]|0)>>>0){j=32;break}f=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+20>>2]|0;c[a+(d*40|0)+20>>2]=f;f=Pc(f*24|0)|0;a=c[i>>2]|0;c[a+(d*40|0)+24>>2]=f;if(!f)break a}if((j|0)==32)return b|0;if(d){Uc(c[a+24>>2]|0);Uc(c[(c[i>>2]|0)+16>>2]|0);if((d|0)!=1){a=1;do{Uc(c[(c[i>>2]|0)+(a*40|0)+24>>2]|0);Uc(c[(c[i>>2]|0)+(a*40|0)+16>>2]|0);a=a+1|0}while((a|0)!=(d|0))}a=c[i>>2]|0}Uc(a);Uc(c[k>>2]|0);Uc(b);k=0;return k|0}}while(0);if(d){Uc(c[a+24>>2]|0);if((d|0)!=1){a=1;do{Uc(c[(c[i>>2]|0)+(a*40|0)+24>>2]|0);a=a+1|0}while((a|0)!=(d|0))}a=c[i>>2]|0}Uc(a);Uc(c[k>>2]|0);Uc(b);k=0;return k|0}function ld(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if(!d){d=0;return d|0}f=Xb()|0;k=a+84|0;c[k>>2]=f;if(!f){d=0;return d|0}$b(d,f);h=a+188|0;sg(c[h>>2]|0,27,e)|0;h=c[h>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){d=a+80|0;Zb(c[d>>2]|0);c[d>>2]=0;d=0;return d|0}}else vg(h);i=c[d+16>>2]|0;if(!i){d=1;return d|0}h=c[(c[k>>2]|0)+24>>2]|0;f=c[d+24>>2]|0;g=0;do{c[f+(g*52|0)+36>>2]=c[h+(g*52|0)+36>>2];d=h+(g*52|0)+44|0;c[f+(g*52|0)+44>>2]=c[d>>2];c[d>>2]=0;g=g+1|0}while(g>>>0>>0);f=1;return f|0}function md(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;t=i;i=i+16|0;j=t+8|0;if(!d){Ub(e,1,10654,t)|0;s=0;i=t;return s|0}g=c[a+112>>2]|0;h=_(c[a+116>>2]|0,g)|0;if(h>>>0<=f>>>0){c[j>>2]=f;c[j+4>>2]=h+-1;Ub(e,1,10692,j)|0;s=0;i=t;return s|0}s=(f>>>0)%(g>>>0)|0;r=(f>>>0)/(g>>>0)|0;j=c[a+100>>2]|0;h=_(j,s)|0;k=c[a+92>>2]|0;h=h+k|0;c[d>>2]=h;q=a+80|0;g=c[q>>2]|0;l=c[g>>2]|0;h=h>>>0>>0?l:h;c[d>>2]=h;k=(_(j,s+1|0)|0)+k|0;s=d+8|0;c[s>>2]=k;j=c[g+8>>2]|0;k=k>>>0>j>>>0?j:k;c[s>>2]=k;s=c[a+104>>2]|0;j=_(s,r)|0;l=c[a+96>>2]|0;j=j+l|0;p=d+4|0;c[p>>2]=j;o=c[g+4>>2]|0;j=j>>>0>>0?o:j;c[p>>2]=j;l=(_(s,r+1|0)|0)+l|0;r=d+12|0;c[r>>2]=l;s=c[g+12>>2]|0;l=l>>>0>s>>>0?s:l;c[r>>2]=l;r=d+24|0;s=d+16|0;p=c[s>>2]|0;if(p){o=c[g+24>>2]|0;n=h+-1|0;m=j+-1|0;k=k+-1|0;g=l+-1|0;h=0;j=c[r>>2]|0;while(1){l=c[o+(h*52|0)+40>>2]|0;c[j+40>>2]=l;z=c[j>>2]|0;y=(n+z|0)/(z|0)|0;c[j+16>>2]=y;u=c[j+4>>2]|0;x=(m+u|0)/(u|0)|0;c[j+20>>2]=x;z=(k+z|0)/(z|0)|0;u=(g+u|0)/(u|0)|0;w=Ri(1,0,l|0)|0;v=C;z=Si(z|0,((z|0)<0)<<31>>31|0,-1,-1)|0;z=Si(z|0,C|0,w|0,v|0)|0;z=Pi(z|0,C|0,l|0)|0;y=Si(y|0,((y|0)<0)<<31>>31|0,-1,-1)|0;y=Si(y|0,C|0,w|0,v|0)|0;y=Pi(y|0,C|0,l|0)|0;c[j+8>>2]=z-y;u=Si(u|0,((u|0)<0)<<31>>31|0,-1,-1)|0;u=Si(u|0,C|0,w|0,v|0)|0;u=Pi(u|0,C|0,l|0)|0;x=Si(x|0,((x|0)<0)<<31>>31|0,-1,-1)|0;v=Si(x|0,C|0,w|0,v|0)|0;l=Pi(v|0,C|0,l|0)|0;c[j+12>>2]=u-l;h=h+1|0;if(h>>>0>=p>>>0)break;else j=j+52|0}}m=a+84|0;g=c[m>>2]|0;if(g)Zb(g);g=Xb()|0;c[m>>2]=g;if(!g){z=0;i=t;return z|0}$b(d,g);c[a+60>>2]=f;j=a+188|0;sg(c[j>>2]|0,28,e)|0;j=c[j>>2]|0;k=tg(j)|0;g=ug(j)|0;if(k){l=0;h=1;while(1){if(!h)h=0;else h=(Ra[c[g>>2]&63](a,b,e)|0)!=0;l=l+1|0;if((l|0)==(k|0))break;else{g=g+4|0;h=h&1}}vg(j);if(!h){Zb(c[q>>2]|0);c[q>>2]=0;z=0;i=t;return z|0}}else vg(j);g=c[s>>2]|0;if(!g){z=1;i=t;return z|0}k=c[(c[m>>2]|0)+24>>2]|0;j=c[r>>2]|0;l=0;while(1){c[j+(l*52|0)+36>>2]=c[k+(l*52|0)+36>>2];h=c[j+(l*52|0)+44>>2]|0;if(!h)h=k;else{Uc(h);h=c[(c[m>>2]|0)+24>>2]|0;j=c[r>>2]|0;g=c[s>>2]|0}z=h+(l*52|0)+44|0;c[j+(l*52|0)+44>>2]=c[z>>2];c[z>>2]=0;l=l+1|0;if(l>>>0>=g>>>0){g=1;break}else k=h}i=t;return g|0}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;c[a+168>>2]=b;e=c[a+80>>2]|0;a:do{if((((e|0)!=0?(h=c[e+24>>2]|0,(h|0)!=0):0)?(f=c[a+12>>2]|0,(f|0)!=0):0)?(g=c[f+5584>>2]|0,(g|0)!=0):0){e=c[e+16>>2]|0;if(!e)e=1;else{f=0;while(1){if((c[g+(f*1080|0)+4>>2]|0)>>>0<=b>>>0)break;c[h+(f*52|0)+40>>2]=b;f=f+1|0;if(f>>>0>=e>>>0){e=1;break a}}Ub(d,1,10753,j)|0;e=0}}else e=0}while(0);i=k;return e|0}function od(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;Q=i;i=i+48|0;O=Q+32|0;N=Q+24|0;M=Q+16|0;K=Q+8|0;L=Q;A=d+204|0;g=c[A>>2]|0;F=d+116|0;G=d+112|0;H=_(c[G>>2]|0,c[F>>2]|0)|0;I=(H|0)==1;if(!H){P=1;i=Q;return P|0}J=d+200|0;B=d+12|0;C=d+164|0;D=d+8|0;E=g+20|0;y=g+24|0;z=0;g=0;l=0;a:while(1){if((c[J>>2]|0)!=(z|0)){P=5;break}w=z;z=z+1|0;x=_(c[F>>2]|0,c[G>>2]|0)|0;c[K>>2]=z;c[K+4>>2]=x;Ub(f,4,10866,K)|0;c[B>>2]=0;x=c[A>>2]|0;c[x+12>>2]=c[(c[C>>2]|0)+(w*5640|0)+5588>>2];c[D>>2]=0;if(!(_f(x,c[J>>2]|0,f)|0))break;h=c[A>>2]|0;if(c[(c[h+24>>2]|0)+16>>2]|0){k=0;do{j=c[(c[c[E>>2]>>2]|0)+20>>2]|0;if(I){c[j+(k*52|0)+32>>2]=c[(c[(c[y>>2]|0)+24>>2]|0)+(k*52|0)+44>>2];c[j+(k*52|0)+36>>2]=0}else{if(!(Zf(j+(k*52|0)|0)|0)){P=14;break a}h=c[A>>2]|0}k=k+1|0}while(k>>>0<(c[(c[h+24>>2]|0)+16>>2]|0)>>>0)}x=eg(h)|0;if(!I){if(x>>>0>l>>>0){h=Tc(g,x)|0;if(!h){P=20;break}else{g=h;h=x}}else h=l;j=c[A>>2]|0;w=j+24|0;k=c[w>>2]|0;if(c[k+16>>2]|0){v=j+20|0;j=g;u=0;do{r=c[(c[c[v>>2]>>2]|0)+20>>2]|0;m=c[k+24>>2]|0;q=c[m+(u*52|0)+24>>2]|0;q=((q&7|0)!=0&1)+(q>>>3)|0;n=c[r+(u*52|0)+8>>2]|0;o=c[r+(u*52|0)>>2]|0;t=n-o|0;p=c[r+(u*52|0)+12>>2]|0;r=c[r+(u*52|0)+4>>2]|0;T=c[k>>2]|0;S=c[m+(u*52|0)>>2]|0;l=c[m+(u*52|0)+4>>2]|0;R=(S+~T+(c[k+8>>2]|0)|0)/(S|0)|0;s=R-t|0;k=o-((T+-1+S|0)/(S|0)|0)+(_(R,r-(((c[k+4>>2]|0)+-1+l|0)/(l|0)|0)|0)|0)|0;k=(c[m+(u*52|0)+44>>2]|0)+(k<<2)|0;b:do{switch(((q|0)==3?4:q)|0){case 1:{l=(p|0)==(r|0);if(!(c[m+(u*52|0)+32>>2]|0)){if(l)break b;q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){a[m>>0]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+1|0;n=n+4|0}}j=j+t|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}else{if(l)break b;q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){a[m>>0]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+1|0;n=n+4|0}}j=j+t|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}case 2:{l=(p|0)==(r|0);if(!(c[m+(u*52|0)+32>>2]|0)){if(!l){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){b[m>>1]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+2|0;n=n+4|0}}j=j+(t<<1)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}}else if(!l){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){b[m>>1]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+2|0;n=n+4|0}}j=j+(t<<1)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}case 4:{if((p|0)!=(r|0)){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){c[m>>2]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+4|0;n=n+4|0}}j=j+(t<<2)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}default:{}}}while(0);u=u+1|0;k=c[w>>2]|0}while(u>>>0<(c[k+16>>2]|0)>>>0);j=c[A>>2]|0}if(!(fg(j,g,x)|0)){P=63;break}}else h=l;if(!(Ad(d,e,f)|0)){P=65;break}if(z>>>0>=H>>>0){P=67;break}else l=h}if((P|0)==5)Ub(f,1,10829,L)|0;else if((P|0)==14){Ub(f,1,10887,M)|0;if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}else if((P|0)==20){if(g)Uc(g);Ub(f,1,10925,N)|0;T=0;i=Q;return T|0}else if((P|0)==63){Ub(f,1,10964,O)|0;Uc(g);T=0;i=Q;return T|0}else if((P|0)==65){if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}else if((P|0)==67){if(!g){T=1;i=Q;return T|0}Uc(g);T=1;i=Q;return T|0}if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}function pd(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+188|0;if(!(sg(c[f>>2]|0,29,e)|0)){d=0;return d|0}if(((b[a+88>>1]|0)+-3&65535)<4?(sg(c[f>>2]|0,30,e)|0)==0:0){d=0;return d|0}if(!(sg(c[f>>2]|0,31,e)|0)){d=0;return d|0}if(!(sg(c[f>>2]|0,32,e)|0)){d=0;return d|0}if(!(sg(c[f>>2]|0,33,e)|0)){d=0;return d|0}j=c[f>>2]|0;h=tg(j)|0;f=ug(j)|0;if(!h)f=1;else{i=0;g=f;f=1;while(1){if(!f)f=0;else f=(Ra[c[g>>2]&63](a,d,e)|0)!=0;f=f&1;i=i+1|0;if((i|0)==(h|0))break;else g=g+4|0}}vg(j);d=f;return d|0}function qd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=Xb()|0;k=a+80|0;c[k>>2]=g;if(!g){Ub(f,1,11011,m)|0;d=0;i=m;return d|0}$b(e,g);j=c[e+24>>2]|0;if((j|0)!=0?(l=c[e+16>>2]|0,(l|0)!=0):0){h=0;do{e=j+(h*52|0)+44|0;g=c[e>>2]|0;if(g){c[(c[(c[k>>2]|0)+24>>2]|0)+(h*52|0)+44>>2]=g;c[e>>2]=0}h=h+1|0}while(h>>>0>>0)}g=a+192|0;if(!(sg(c[g>>2]|0,34,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,35,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,36,f)|0)){d=0;i=m;return d|0}h=c[g>>2]|0;j=tg(h)|0;g=ug(h)|0;if(j){k=0;e=1;while(1){if(!e)e=0;else e=(Ra[c[g>>2]&63](a,d,f)|0)!=0;k=k+1|0;if((k|0)==(j|0))break;else{g=g+4|0;e=e&1}}vg(h);if(!e){d=0;i=m;return d|0}}else vg(h);g=a+188|0;if(!(sg(c[g>>2]|0,37,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,38,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,39,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,40,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,41,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,42,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,43,f)|0)){d=0;i=m;return d|0}e=a+88|0;if(((b[e>>1]|0)+-3&65535)<4){if(!(sg(c[g>>2]|0,44,f)|0)){d=0;i=m;return d|0}if((b[e>>1]|0)==4?(sg(c[g>>2]|0,45,f)|0)==0:0){d=0;i=m;return d|0}}if(!(sg(c[g>>2]|0,46,f)|0)){d=0;i=m;return d|0}if((c[a+108>>2]|0)!=0?(sg(c[g>>2]|0,47,f)|0)==0:0){d=0;i=m;return d|0}if((b[e>>1]&256)!=0?(sg(c[g>>2]|0,48,f)|0)==0:0){d=0;i=m;return d|0}if((c[a+196>>2]|0)!=0?(sg(c[g>>2]|0,49,f)|0)==0:0){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,50,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,51,f)|0)){d=0;i=m;return d|0}k=c[g>>2]|0;h=tg(k)|0;g=ug(k)|0;if(!h)g=1;else{j=0;e=g;g=1;while(1){if(!g)g=0;else g=(Ra[c[e>>2]&63](a,d,f)|0)!=0;g=g&1;j=j+1|0;if((j|0)==(h|0))break;else e=e+4|0}}vg(k);d=g;i=m;return d|0}function rd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q+40|0;p=q+32|0;n=q+24|0;l=q+16|0;j=q+8|0;h=q;k=a+200|0;if((c[k>>2]|0)==(b|0)){m=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[j>>2]=b+1;c[j+4>>2]=m;Ub(g,4,10866,j)|0;c[a+12>>2]=0;m=a+204|0;j=c[m>>2]|0;c[j+12>>2]=c[(c[a+164>>2]|0)+(b*5640|0)+5588>>2];c[a+8>>2]=0;if(_f(j,c[k>>2]|0,g)|0){h=c[m>>2]|0;a:do{if(c[(c[h+24>>2]|0)+16>>2]|0){j=0;while(1){if(!(Zf((c[(c[c[h+20>>2]>>2]|0)+20>>2]|0)+(j*52|0)|0)|0))break;j=j+1|0;h=c[m>>2]|0;if(j>>>0>=(c[(c[h+24>>2]|0)+16>>2]|0)>>>0)break a}Ub(g,1,10887,n)|0;p=0;i=q;return p|0}}while(0);if(!(fg(h,d,e)|0)){Ub(g,1,10964,p)|0;p=0;i=q;return p|0}if(Ad(a,f,g)|0){p=1;i=q;return p|0}c[o>>2]=b;Ub(g,1,11101,o)|0;p=0;i=q;return p|0}}else Ub(g,1,10829,h)|0;c[l>>2]=b;Ub(g,1,11044,l)|0;p=0;i=q;return p|0}function sd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;f=a+5164|0;b=c[f>>2]|0;if(b){g=a+5160|0;d=c[g>>2]|0;if(d){e=0;while(1){b=c[b+(e<<3)>>2]|0;if(b){Uc(b);d=c[g>>2]|0}e=e+1|0;if(e>>>0>=d>>>0)break;b=c[f>>2]|0}b=c[f>>2]|0}c[g>>2]=0;Uc(b);c[f>>2]=0}b=a+5172|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5584|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5608|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5604|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5624|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0;c[a+5632>>2]=0;c[a+5628>>2]=0}i=a+5612|0;b=c[i>>2]|0;if(b){h=a+5616|0;d=c[h>>2]|0;if(d){g=0;while(1){e=b+12|0;f=c[e>>2]|0;if(f){Uc(f);c[e>>2]=0;d=c[h>>2]|0}g=g+1|0;if(g>>>0>=d>>>0)break;else b=b+20|0}b=c[i>>2]|0}Uc(b);c[i>>2]=0}b=a+5600|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5592|0;d=c[b>>2]|0;if(!d)return;Uc(d);c[b>>2]=0;c[a+5596>>2]=0;return}function td(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function ud(a,b,d){a=a|0;b=b|0;d=d|0;return(c[a+8>>2]|0)==0&(c[a+188>>2]|0)!=0&(c[a+192>>2]|0)!=0&1|0}function vd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+224|0;X=Y+200|0;U=Y+192|0;T=Y+184|0;Q=Y+176|0;P=Y+168|0;O=Y+160|0;M=Y+152|0;L=Y+144|0;K=Y+136|0;E=Y+128|0;J=Y+120|0;D=Y+112|0;B=Y+104|0;A=Y+96|0;z=Y+88|0;y=Y+80|0;I=Y+72|0;H=Y+64|0;x=Y+56|0;w=Y+48|0;v=Y+40|0;F=Y+32|0;p=Y+24|0;m=Y+16|0;l=Y+8|0;N=Y;S=Y+216|0;g=Y+204|0;G=Y+212|0;u=Y+208|0;W=d+8|0;c[W>>2]=1;a:do{if((Mb(e,S,2,f)|0)==2?(qb(S,g,2),(c[g>>2]|0)==65359):0){c[W>>2]=2;o=Pb(e)|0;o=Si(o|0,C|0,-2,-1)|0;n=C;V=d+196|0;h=c[V>>2]|0;c[h>>2]=o;c[h+4>>2]=n;h=N;c[h>>2]=o;c[h+4>>2]=n;Ub(f,4,15766,N)|0;h=c[V>>2]|0;n=c[h>>2]|0;o=h+24|0;g=c[o>>2]|0;k=h+32|0;j=c[k>>2]|0;do{if((g+1|0)>>>0>j>>>0){t=~~(+(j>>>0)+100)>>>0;c[k>>2]=t;g=h+28|0;h=Tc(c[g>>2]|0,t*24|0)|0;if(!h){Uc(c[g>>2]|0);c[g>>2]=0;c[k>>2]=0;c[o>>2]=0;Ub(f,1,15803,l)|0;break a}else{c[g>>2]=h;g=c[o>>2]|0;break}}else h=c[h+28>>2]|0}while(0);b[h+(g*24|0)>>1]=-177;s=Pi(0,n|0,32)|0;t=h+(g*24|0)+8|0;c[t>>2]=s;c[t+4>>2]=C;c[h+(g*24|0)+16>>2]=2;c[o>>2]=g+1;t=d+16|0;if((Mb(e,c[t>>2]|0,2,f)|0)!=2){Ub(f,1,8295,p)|0;f=0;i=Y;return f|0}qb(c[t>>2]|0,G,2);g=c[G>>2]|0;if((g|0)!=65424){s=d+20|0;q=0;j=0;r=0;b:while(1){if(g>>>0<65280){R=14;break}else l=784;while(1){h=c[l>>2]|0;k=(h|0)==0;if(k|(h|0)==(g|0))break;else l=l+12|0}if(k){Ub(f,2,15914,v)|0;m=2;c:while(1){do{if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=20;break b}qb(c[t>>2]|0,N,2);g=c[N>>2]|0}while(g>>>0<65280);l=784;while(1){h=c[l>>2]|0;if((h|0)==0|(h|0)==(g|0)){k=l;g=l;break}else l=l+12|0}if(!(c[g+4>>2]&c[W>>2])){R=25;break b}if((h|0)>=65424){R=100;break}switch(h|0){case 0:break;default:{p=k;o=m;break c}}m=m+2|0}if((R|0)==100){R=0;switch(h|0){case 65424:{h=q;g=r;R=27;break b}default:{p=k;o=m}}}l=c[V>>2]|0;n=Pb(e)|0;n=n-o|0;k=l+24|0;g=c[k>>2]|0;h=l+32|0;m=c[h>>2]|0;if((g+1|0)>>>0>m>>>0){g=~~(+(m>>>0)+100)>>>0;c[h>>2]=g;l=l+28|0;g=Tc(c[l>>2]|0,g*24|0)|0;if(!g){j=l;g=l;R=32;break}c[l>>2]=g;h=g;g=c[k>>2]|0}else h=c[l+28>>2]|0;b[h+(g*24|0)>>1]=0;m=h+(g*24|0)+8|0;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;c[h+(g*24|0)+16>>2]=o;c[k>>2]=g+1;g=c[p>>2]|0;c[G>>2]=g;if((g|0)==65424){h=q;g=r;break}else k=784;while(1){h=c[k>>2]|0;if((h|0)==0|(h|0)==(g|0))break;else k=k+12|0}}else k=l;r=(h|0)==65361?1:r;q=(h|0)==65362?1:q;j=(h|0)==65372?1:j;if(!(c[k+4>>2]&c[W>>2])){R=38;break}if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=40;break}qb(c[t>>2]|0,u,2);h=(c[u>>2]|0)+-2|0;c[u>>2]=h;g=c[t>>2]|0;if(h>>>0>(c[s>>2]|0)>>>0){g=Tc(g,h)|0;if(!g){R=43;break}c[t>>2]=g;h=c[u>>2]|0;c[s>>2]=h}g=Mb(e,g,h,f)|0;if((g|0)!=(c[u>>2]|0)){R=46;break}if(!(Za[c[k+8>>2]&63](d,c[t>>2]|0,g,f)|0)){R=48;break}m=c[V>>2]|0;n=c[k>>2]|0;o=Pb(e)|0;p=c[u>>2]|0;o=-4-p+o|0;p=p+4|0;k=m+24|0;g=c[k>>2]|0;h=m+32|0;l=c[h>>2]|0;if((g+1|0)>>>0>l>>>0){g=~~(+(l>>>0)+100)>>>0;c[h>>2]=g;l=m+28|0;g=Tc(c[l>>2]|0,g*24|0)|0;if(!g){j=l;g=l;R=53;break}c[l>>2]=g;h=g;g=c[k>>2]|0}else h=c[m+28>>2]|0;b[h+(g*24|0)>>1]=n;n=h+(g*24|0)+8|0;c[n>>2]=o;c[n+4>>2]=((o|0)<0)<<31>>31;c[h+(g*24|0)+16>>2]=p;c[k>>2]=g+1;if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=55;break}qb(c[t>>2]|0,G,2);g=c[G>>2]|0;if((g|0)==65424){h=q;g=r;break}}switch(R|0){case 14:{c[F>>2]=g;Ub(f,1,15863,F)|0;f=0;i=Y;return f|0}case 20:{Ub(f,1,8295,w)|0;R=34;break}case 25:{Ub(f,1,8339,x)|0;R=34;break}case 27:{c[G>>2]=65424;break}case 32:{Uc(c[g>>2]|0);c[j>>2]=0;c[h>>2]=0;c[k>>2]=0;Ub(f,1,15803,H)|0;R=34;break}case 38:{Ub(f,1,8339,y)|0;f=0;i=Y;return f|0}case 40:{Ub(f,1,8295,z)|0;f=0;i=Y;return f|0}case 43:{Uc(c[t>>2]|0);c[t>>2]=0;c[s>>2]=0;Ub(f,1,8427,A)|0;f=0;i=Y;return f|0}case 46:{Ub(f,1,8295,B)|0;f=0;i=Y;return f|0}case 48:{Ub(f,1,15985,D)|0;f=0;i=Y;return f|0}case 53:{Uc(c[g>>2]|0);c[j>>2]=0;c[h>>2]=0;c[k>>2]=0;Ub(f,1,15803,J)|0;f=0;i=Y;return f|0}case 55:{Ub(f,1,8295,E)|0;f=0;i=Y;return f|0}}if((R|0)==34){Ub(f,1,15930,I)|0;f=0;i=Y;return f|0}if(g){if(!h){Ub(f,1,16090,L)|0;f=0;i=Y;return f|0}if(!j){Ub(f,1,16136,M)|0;f=0;i=Y;return f|0}d:do{if(a[d+184>>0]&1){s=d+120|0;do{if(c[s>>2]|0){n=d+124|0;o=0;g=0;h=0;e:do{j=c[n>>2]|0;k=c[j+(o<<3)>>2]|0;f:do{if(k){l=c[j+(o<<3)+4>>2]|0;j=g>>>0>>0;m=j?0:g-l|0;if((l|0)==(g|0)|j^1)g=m;else{k=j?k+g|0:k;g=l-g|0;while(1){if(g>>>0<4){R=70;break e}qb(k,N,4);j=g+-4|0;g=c[N>>2]|0;h=g+h|0;if(j>>>0>>0)break;if((j|0)==(g|0)){g=m;break f}else{k=k+(g+4)|0;g=j-g|0}}g=g-j|0}}}while(0);o=o+1|0}while(o>>>0<(c[s>>2]|0)>>>0);if((R|0)==70){Ub(f,1,16182,O)|0;break}if(!g)R=77;else Ub(f,1,16213,P)|0}else{h=0;R=77}}while(0);g:do{if((R|0)==77){j=Pc(h)|0;p=d+144|0;c[p>>2]=j;if(!j){Ub(f,1,13302,Q)|0;break}q=d+132|0;c[q>>2]=h;k=c[s>>2]|0;r=d+124|0;do{if(k){g=c[r>>2]|0;j=g;o=0;n=0;h=0;h:while(1){l=c[j+(o<<3)>>2]|0;if(!l)l=n;else{j=c[j+(o<<3)+4>>2]|0;g=(c[p>>2]|0)+h|0;i:do{if(n>>>0>>0){Ui(g|0,l|0,n|0)|0;h=h+n|0;if((j|0)==(n|0)){l=0;break}m=l+n|0;g=j-n|0;while(1){if(g>>>0<4){R=88;break h}qb(m,S,4);l=m+4|0;k=g+-4|0;j=c[S>>2]|0;g=(c[p>>2]|0)+h|0;if(k>>>0>>0){j=l;break}Ui(g|0,l|0,j|0)|0;g=c[S>>2]|0;h=g+h|0;if((k|0)==(g|0)){l=0;break i}else{m=m+(g+4)|0;g=k-g|0}}Ui(g|0,j|0,k|0)|0;l=(c[S>>2]|0)-k|0;h=k+h|0}else{Ui(g|0,l|0,j|0)|0;l=n-j|0;h=j+h|0}}while(0);Uc(c[(c[r>>2]|0)+(o<<3)>>2]|0);j=c[r>>2]|0;c[j+(o<<3)>>2]=0;c[j+(o<<3)+4>>2]=0;k=c[s>>2]|0;g=j}o=o+1|0;if(o>>>0>=k>>>0){R=94;break}else n=l}if((R|0)==88){Ub(f,1,16182,T)|0;break g}else if((R|0)==94){j=c[p>>2]|0;h=c[q>>2]|0;break}}else g=c[r>>2]|0}while(0);c[d+128>>2]=j;c[d+152>>2]=h;c[s>>2]=0;Uc(g);c[r>>2]=0;break d}}while(0);Ub(f,1,16236,U)|0;f=0;i=Y;return f|0}}while(0);Ub(f,4,16262,X)|0;X=Pb(e)|0;f=(c[V>>2]|0)+8|0;c[f>>2]=X+-2;c[f+4>>2]=0;c[W>>2]=8;f=1;i=Y;return f|0}}Ub(f,1,16044,K)|0;f=0;i=Y;return f|0}}while(0);Ub(f,1,15839,m)|0;f=0;i=Y;return f|0}function wd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+16|0;F=G;D=c[b+80>>2]|0;E=b+88|0;A=_(c[b+112>>2]|0,c[b+116>>2]|0)|0;q=c[D+16>>2]|0;o=q*1080|0;p=c[b+12>>2]|0;q=_(q<<2,q)|0;a:do{if(A){r=p+5604|0;s=p+5620|0;t=p+5612|0;u=p+5616|0;v=p+5632|0;w=p+5624|0;x=p+5584|0;B=0;C=c[b+164>>2]|0;b:while(1){k=C+5584|0;y=c[k>>2]|0;Ui(C|0,p|0,5640)|0;d=C+5636|0;a[d>>0]=a[d>>0]&-4;c[C+5168>>2]=0;d=C+5604|0;c[d>>2]=0;l=C+5620|0;c[l>>2]=0;z=C+5612|0;c[z>>2]=0;m=C+5632|0;c[m>>2]=0;n=C+5624|0;c[n>>2]=0;c[k>>2]=y;if(c[r>>2]|0){f=Pc(q)|0;c[d>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[r>>2]|0,q|0)|0}d=(c[s>>2]|0)*20|0;f=Pc(d)|0;c[z>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[t>>2]|0,d|0)|0;d=c[u>>2]|0;if(d){h=0;j=c[z>>2]|0;k=c[t>>2]|0;while(1){g=k+12|0;if(c[g>>2]|0){d=k+16|0;f=Pc(c[d>>2]|0)|0;c[j+12>>2]=f;if(!f){d=0;f=25;break b}Ui(f|0,c[g>>2]|0,c[d>>2]|0)|0;d=c[u>>2]|0}c[l>>2]=(c[l>>2]|0)+1;h=h+1|0;if(h>>>0>=d>>>0)break;else{j=j+20|0;k=k+20|0}}}d=(c[v>>2]|0)*20|0;f=Pc(d)|0;c[n>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[w>>2]|0,d|0)|0;c[m>>2]=c[v>>2];h=c[v>>2]|0;if(h){j=0;f=c[n>>2]|0;g=c[w>>2]|0;while(1){d=c[g+8>>2]|0;if(d)c[f+8>>2]=(c[z>>2]|0)+(((d-(c[t>>2]|0)|0)/20|0)*20|0);d=c[g+12>>2]|0;if(d)c[f+12>>2]=(c[z>>2]|0)+(((d-(c[t>>2]|0)|0)/20|0)*20|0);j=j+1|0;if(j>>>0>=h>>>0)break;else{f=f+20|0;g=g+20|0}}}Ui(y|0,c[x>>2]|0,o|0)|0;B=B+1|0;if(B>>>0>=A>>>0)break a;else C=C+5640|0}if((f|0)==25){i=G;return d|0}}}while(0);f=Tf(1)|0;d=b+204|0;c[d>>2]=f;if(!f){e=0;i=G;return e|0}if(Xf(f,D,E)|0){e=1;i=G;return e|0}Yf(c[d>>2]|0);c[d>>2]=0;Ub(e,1,8839,F)|0;e=0;i=G;return e|0}function xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+128|0;u=w+120|0;t=w+112|0;s=w+104|0;r=w+96|0;q=w+88|0;p=w+80|0;o=w+72|0;n=w+64|0;m=w+56|0;l=w+48|0;k=w+40|0;j=w+32|0;h=w+24|0;g=w+16|0;f=w+8|0;e=w;if(!a){i=w;return}ki(12191,17,1,d)|0;c[e>>2]=c[a>>2];$h(d,12209,e)|0;c[f>>2]=c[a+4>>2];$h(d,12222,f)|0;c[g>>2]=c[a+8>>2];$h(d,12234,g)|0;c[h>>2]=c[a+16>>2];$h(d,12251,h)|0;if((b|0)>0){g=a+5584|0;h=0;do{f=c[g>>2]|0;c[j>>2]=h;$h(d,12262,j)|0;c[k>>2]=c[f+(h*1080|0)>>2];$h(d,12276,k)|0;a=f+(h*1080|0)+4|0;c[l>>2]=c[a>>2];$h(d,12290,l)|0;c[m>>2]=c[f+(h*1080|0)+8>>2];$h(d,12313,m)|0;c[n>>2]=c[f+(h*1080|0)+12>>2];$h(d,12329,n)|0;c[o>>2]=c[f+(h*1080|0)+16>>2];$h(d,12345,o)|0;c[p>>2]=c[f+(h*1080|0)+20>>2];$h(d,12362,p)|0;ki(12377,23,1,d)|0;if(c[a>>2]|0){e=0;do{x=c[f+(h*1080|0)+944+(e<<2)>>2]|0;c[q>>2]=c[f+(h*1080|0)+812+(e<<2)>>2];c[q+4>>2]=x;$h(d,12401,q)|0;e=e+1|0}while(e>>>0<(c[a>>2]|0)>>>0)}ai(10,d)|0;x=f+(h*1080|0)+24|0;c[r>>2]=c[x>>2];$h(d,12410,r)|0;c[s>>2]=c[f+(h*1080|0)+804>>2];$h(d,12425,s)|0;ki(12442,20,1,d)|0;if((c[x>>2]|0)!=1){a=(c[a>>2]|0)*3|0;if((a|0)>2){a=a+-2|0;v=8}}else{a=1;v=8}if((v|0)==8){v=0;e=0;do{x=c[f+(h*1080|0)+28+(e<<3)>>2]|0;c[t>>2]=c[f+(h*1080|0)+28+(e<<3)+4>>2];c[t+4>>2]=x;$h(d,12401,t)|0;e=e+1|0}while((e|0)!=(a|0))}ai(10,d)|0;c[u>>2]=c[f+(h*1080|0)+808>>2];$h(d,12463,u)|0;ki(12480,5,1,d)|0;h=h+1|0}while((h|0)!=(b|0))}ki(10321,4,1,d)|0;i=w;return}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;u=B+32|0;v=B+24|0;y=B+16|0;x=B+8|0;o=B+64|0;w=B+60|0;n=B+56|0;q=B+52|0;s=B+48|0;r=B+44|0;t=B+40|0;p=B+36|0;c[o>>2]=1;e=Pc(1e3)|0;if(!e){Ub(d,1,12127,B)|0;d=0;i=B;return d|0}z=a+116|0;A=a+112|0;k=a+204|0;l=a+84|0;m=a+8|0;f=1e3;j=0;while(1){if(!(cd(a,w,n,q,s,r,t,p,o,b,d)|0)){g=5;break}if(!(c[o>>2]|0)){g=17;break}h=c[n>>2]|0;if(h>>>0>f>>>0){f=Tc(e,h)|0;if(!f){g=9;break}else{e=f;g=h}}else g=f;f=c[w>>2]|0;if(!(dd(a,f,e,h,b,d)|0)){g=11;break}f=f+1|0;h=_(c[A>>2]|0,c[z>>2]|0)|0;c[v>>2]=f;c[v+4>>2]=h;Ub(d,4,11986,v)|0;h=c[k>>2]|0;if(!(ce(c[(c[c[h+20>>2]>>2]|0)+20>>2]|0,c[h+24>>2]|0,e,c[(c[l>>2]|0)+24>>2]|0)|0)){g=13;break}c[u>>2]=f;Ub(d,4,12016,u)|0;h=Qb(b)|0;if((h|0)==0&(C|0)==0?(c[m>>2]|0)==64:0){g=17;break}j=j+1|0;if((j|0)==(_(c[A>>2]|0,c[z>>2]|0)|0)){g=17;break}else f=g}if((g|0)==5){Uc(e);d=0;i=B;return d|0}else if((g|0)==9){Uc(e);A=_(c[A>>2]|0,c[z>>2]|0)|0;c[x>>2]=(c[w>>2]|0)+1;c[x+4>>2]=A;Ub(d,1,11946,x)|0;d=0;i=B;return d|0}else if((g|0)==11){Uc(e);A=_(c[A>>2]|0,c[z>>2]|0)|0;c[y>>2]=f+1;c[y+4>>2]=A;Ub(d,1,12162,y)|0;d=0;i=B;return d|0}else if((g|0)==13){Uc(e);d=0;i=B;return d|0}else if((g|0)==17){Uc(e);d=1;i=B;return d|0}return 0}function zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;y=G+56|0;D=G+48|0;x=G+40|0;z=G+32|0;E=G+24|0;k=G+16|0;j=G+8|0;r=G+92|0;B=G+88|0;q=G+84|0;t=G+80|0;v=G+76|0;u=G+72|0;w=G+68|0;s=G+64|0;c[r>>2]=1;e=Pc(1e3)|0;if(!e){Ub(d,1,11880,G)|0;F=0;i=G;return F|0}A=a+196|0;g=c[A>>2]|0;f=c[g+40>>2]|0;a:do{if(!f){f=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[g+36>>2]=f;f=Qc(f,40)|0;g=c[A>>2]|0;c[g+40>>2]=f;b:do{if(f){if(c[g+36>>2]|0){h=0;do{c[f+(h*40|0)+28>>2]=100;c[f+(h*40|0)+20>>2]=0;p=Qc(100,24)|0;g=c[A>>2]|0;f=c[g+40>>2]|0;c[f+(h*40|0)+24>>2]=p;h=h+1|0;if(!p)break b}while(h>>>0<(c[g+36>>2]|0)>>>0)}g=c[a+60>>2]|0;if(!f)break a;else{F=12;break a}}}while(0);Uc(e);F=0;i=G;return F|0}else{g=c[a+60>>2]|0;F=12}}while(0);if((F|0)==12)if(c[f+16>>2]|0){if(!(c[f+(g*40|0)+4>>2]|0)){p=a+64|0;p=Si(c[p>>2]|0,c[p+4>>2]|0,2,0)|0;if(!(xb(b,p,C,d)|0)){Ub(d,1,11918,j)|0;Uc(e);F=0;i=G;return F|0}}else{p=c[f+(g*40|0)+16>>2]|0;p=Si(c[p>>2]|0,c[p+4>>2]|0,2,0)|0;if(!(xb(b,p,C,d)|0)){Ub(d,1,11918,k)|0;Uc(e);F=0;i=G;return F|0}}f=a+8|0;if((c[f>>2]|0)==256)c[f>>2]=8}c:do{if(cd(a,B,q,t,v,u,w,s,r,b,d)|0){o=a+116|0;p=a+112|0;l=a+204|0;m=a+84|0;n=g+1|0;f=1e3;while(1){if(!(c[r>>2]|0))break;k=c[q>>2]|0;if(k>>>0>f>>>0){f=Tc(e,k)|0;if(!f){F=26;break}else{e=f;j=k}}else j=f;h=c[B>>2]|0;if(!(dd(a,h,e,k,b,d)|0)){F=28;break}f=h+1|0;k=_(c[p>>2]|0,c[o>>2]|0)|0;c[z>>2]=f;c[z+4>>2]=k;Ub(d,4,11986,z)|0;k=c[l>>2]|0;if(!(ce(c[(c[c[k+20>>2]>>2]|0)+20>>2]|0,c[k+24>>2]|0,e,c[(c[m>>2]|0)+24>>2]|0)|0)){F=30;break}c[x>>2]=f;Ub(d,4,12016,x)|0;if((h|0)==(g|0)){F=32;break}c[y>>2]=f;c[y+4>>2]=n;Ub(d,2,12060,y)|0;if(!(cd(a,B,q,t,v,u,w,s,r,b,d)|0))break c;else f=j}if((F|0)==26){Uc(e);F=_(c[p>>2]|0,c[o>>2]|0)|0;c[E>>2]=(c[B>>2]|0)+1;c[E+4>>2]=F;Ub(d,1,11946,E)|0;F=0;i=G;return F|0}else if((F|0)==28){Uc(e);F=0;i=G;return F|0}else if((F|0)==30){Uc(e);F=0;i=G;return F|0}else if((F|0)==32){F=(c[A>>2]|0)+8|0;F=Si(c[F>>2]|0,c[F+4>>2]|0,2,0)|0;if(!(xb(b,F,C,d)|0)){Ub(d,1,11918,D)|0;Uc(e);F=0;i=G;return F|0}}Uc(e);F=1;i=G;return F|0}}while(0);Uc(e);F=0;i=G;return F|0}function Ad(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;H=i;i=i+32|0;D=H+16|0;t=H+8|0;l=H;C=H+20|0;E=c[a+40>>2]|0;G=a+36|0;n=c[G>>2]|0;o=a+204|0;k=c[o>>2]|0;c[k+16>>2]=0;B=a+8|0;c[B>>2]=0;c[C>>2]=0;pb(n,65424,2);pb(n+2|0,10,2);F=a+200|0;pb(n+4|0,c[F>>2]|0,2);z=a+12|0;pb(n+10|0,c[z>>2]|0,1);A=a+164|0;pb(n+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=12;h=n+12|0;f=E+-12|0;m=a+88|0;if(((b[m>>1]|0)+-3&65535)>=4?(g=c[F>>2]|0,j=c[A>>2]|0,(c[j+(g*5640|0)+420>>2]|0)!=0):0){c[C>>2]=0;_d(c[(c[a+80>>2]|0)+16>>2]|0,j,g,h,C);y=c[C>>2]|0;g=y+12|0;h=n+g|0;f=f-y|0}else g=12;c[C>>2]=0;pb(h,65427,2);c[k+4>>2]=c[B>>2];y=c[z>>2]|0;c[k+8>>2]=y;if(!y)c[(c[c[k+20>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(k,c[F>>2]|0,h+2|0,C,f+-4|0,0)|0)){Ub(e,1,11860,l)|0;d=0;i=H;return d|0}f=(c[C>>2]|0)+2|0;c[C>>2]=f;f=f+g|0;pb(n+6|0,f,4);if(((b[m>>1]|0)+-3&65535)<4){y=a+28|0;pb(c[y>>2]|0,c[F>>2]|0,1);x=(c[y>>2]|0)+1|0;c[y>>2]=x;pb(x,f,4);c[y>>2]=(c[y>>2]|0)+4}g=n+f|0;y=E-f|0;v=c[o>>2]|0;w=a+88|0;r=c[A>>2]|0;s=c[F>>2]|0;m=be(w,0,s)|0;x=a+8|0;c[z>>2]=(c[z>>2]|0)+1;a:do{if(m>>>0>1){n=v+4|0;o=v+8|0;p=v+20|0;q=a+28|0;j=g;g=y;f=0;l=1;while(1){c[x>>2]=l;c[C>>2]=0;pb(j,65424,2);pb(j+2|0,10,2);pb(j+4|0,c[F>>2]|0,2);pb(j+10|0,c[z>>2]|0,1);pb(j+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=0;pb(j+12|0,65427,2);c[n>>2]=c[B>>2];k=c[z>>2]|0;c[o>>2]=k;if(!k)c[(c[c[p>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(v,c[F>>2]|0,j+14|0,C,g+-16|0,0)|0))break;I=c[C>>2]|0;J=I+2|0;c[C>>2]=J;k=I+14|0;h=j+k|0;f=f+12+J|0;g=g+-12+(-2-I)|0;pb(j+6|0,k,4);if(((b[w>>1]|0)+-3&65535)<4){pb(c[q>>2]|0,c[F>>2]|0,1);J=(c[q>>2]|0)+1|0;c[q>>2]=J;pb(J,k,4);c[q>>2]=(c[q>>2]|0)+4}c[z>>2]=(c[z>>2]|0)+1;l=l+1|0;if(l>>>0>=m>>>0){u=12;break a}else j=h}Ub(e,1,11860,t)|0}else{h=g;g=y;f=0;u=12}}while(0);b:do{if((u|0)==12){p=r+(s*5640|0)+420|0;c:do{if(c[p>>2]|0){q=v+16|0;r=v+4|0;s=v+8|0;t=v+20|0;o=a+28|0;n=1;d:while(1){c[q>>2]=n;m=be(w,n,c[F>>2]|0)|0;if(m){l=0;while(1){c[x>>2]=l;c[C>>2]=0;pb(h,65424,2);pb(h+2|0,10,2);pb(h+4|0,c[F>>2]|0,2);pb(h+10|0,c[z>>2]|0,1);pb(h+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=0;pb(h+12|0,65427,2);c[r>>2]=c[B>>2];J=c[z>>2]|0;c[s>>2]=J;if(!J)c[(c[c[t>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(v,c[F>>2]|0,h+14|0,C,g+-16|0,0)|0))break d;J=c[C>>2]|0;j=J+2|0;c[C>>2]=j;f=f+12+j|0;j=J+14|0;k=h+j|0;g=g+-12+(-2-J)|0;pb(h+6|0,j,4);if(((b[w>>1]|0)+-3&65535)<4){pb(c[o>>2]|0,c[F>>2]|0,1);J=(c[o>>2]|0)+1|0;c[o>>2]=J;pb(J,j,4);c[o>>2]=(c[o>>2]|0)+4}c[z>>2]=(c[z>>2]|0)+1;l=l+1|0;if(l>>>0>=m>>>0){h=k;break}else h=k}}n=n+1|0;if(n>>>0>(c[p>>2]|0)>>>0)break c}Ub(e,1,11860,D)|0;break b}}while(0);J=f-y+E|0;if((Nb(d,c[G>>2]|0,J,e)|0)!=(J|0)){J=0;i=H;return J|0}c[F>>2]=(c[F>>2]|0)+1;J=1;i=H;return J|0}}while(0);J=0;i=H;return J|0}function Bd(a,b,d){a=a|0;b=b|0;d=d|0;a=a+44|0;pb(c[a>>2]|0,65497,2);if((Nb(b,c[a>>2]|0,2,d)|0)!=2){b=0;return b|0}b=(Ob(b,d)|0)!=0&1;return b|0}function Cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=(c[a+32>>2]|0)*5|0;i=a+16|0;i=Si(c[i>>2]|0,c[i+4>>2]|0,6,0)|0;h=C;e=Pb(b)|0;f=C;if(!(Sb(b,i,h,d)|0)){i=0;return i|0}if((Nb(b,c[a+24>>2]|0,g,d)|0)!=(g|0)){i=0;return i|0}i=(Sb(b,e,f,d)|0)!=0&1;return i|0}function Dd(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+196>>2]|0;if(!a)return 1;b=Pb(b)|0;d=a;d=Oi(b|0,C|0,c[d>>2]|0,c[d+4>>2]|0)|0;b=a+16|0;c[b>>2]=d;c[b+4>>2]=C;return 1}function Ed(a,b,d){a=a|0;b=b|0;d=d|0;d=a+204|0;Yf(c[d>>2]|0);c[d>>2]=0;d=a+24|0;b=c[d>>2]|0;if(b){Uc(b);c[d>>2]=0;c[a+28>>2]=0}d=a+36|0;b=c[d>>2]|0;if(!b){a=a+40|0;c[a>>2]=0;return 1}Uc(b);c[d>>2]=0;a=a+40|0;c[a>>2]=0;return 1}function Fd(a,b,d){a=a|0;b=b|0;d=d|0;d=a+44|0;b=c[d>>2]|0;if(b){Uc(b);c[d>>2]=0}c[a+48>>2]=0;return 1}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=(c[a+8>>2]|0)==0&(c[a+188>>2]|0)!=0&(c[a+192>>2]|0)!=0&1;b=(c[(c[(c[a+164>>2]|0)+5584>>2]|0)+4>>2]|0)+-1|0;if(b>>>0>31){Ub(d,1,11790,f)|0;d=0;i=f;return d|0}b=1<>2]|0)>>>0>>0){Ub(d,1,11790,f+8|0)|0;d=0;i=f;return d|0}if((c[a+104>>2]|0)>>>0>=b>>>0){d=e;i=f;return d|0}Ub(d,1,11790,f+16|0)|0;d=0;i=f;return d|0}function Id(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if((b[a+88>>1]&-32256)<<16>>16!=-32256){j=1;return j|0}i=_(c[a+112>>2]|0,c[a+116>>2]|0)|0;if(!i){j=1;return j|0}h=a+80|0;j=0;e=1;g=c[a+164>>2]|0;while(1){if((c[g+16>>2]|0)==2){e=(c[g+5608>>2]|0)!=0&e;a=c[(c[h>>2]|0)+16>>2]|0;if(a){f=0;d=c[g+5584>>2]|0;while(1){e=(c[d+20>>2]&1^1)&e;f=f+1|0;if(f>>>0>=a>>>0)break;else d=d+1080|0}}}j=j+1|0;if((j|0)==(i|0))break;else g=g+5640|0}return e|0}function Jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+88|0;h=a+32|0;i=c[a+80>>2]|0;j=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[h>>2]=0;if(!j)return 1;e=c[a+164>>2]|0;f=0;while(1){Nf(i,g,f);b=e+420|0;d=0;a=0;do{k=be(g,a,f)|0;c[h>>2]=(c[h>>2]|0)+k;d=k+d|0;a=a+1|0}while(a>>>0<=(c[b>>2]|0)>>>0);c[e+5588>>2]=d;f=f+1|0;if((f|0)==(j|0))break;else e=e+5640|0}return 1}function Kd(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+44>>2]|0;pb(a,65359,2);return(Nb(b,a,2,d)|0)==2|0}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+16|0;j=p;k=c[a+80>>2]|0;n=k+16|0;l=(c[n>>2]|0)*3|0;o=l+40|0;f=c[k+24>>2]|0;h=a+48|0;m=a+44|0;g=c[m>>2]|0;do{if(o>>>0>(c[h>>2]|0)>>>0){g=Tc(g,o)|0;if(g){c[m>>2]=g;c[h>>2]=o;break}Uc(c[m>>2]|0);c[m>>2]=0;c[h>>2]=0;Ub(d,1,11752,j)|0;b=0;i=p;return b|0}}while(0);pb(g,65361,2);pb(g+2|0,l+38|0,2);pb(g+4|0,e[a+88>>1]|0,2);pb(g+6|0,c[k+8>>2]|0,4);pb(g+10|0,c[k+12>>2]|0,4);pb(g+14|0,c[k>>2]|0,4);pb(g+18|0,c[k+4>>2]|0,4);pb(g+22|0,c[a+100>>2]|0,4);pb(g+26|0,c[a+104>>2]|0,4);pb(g+30|0,c[a+92>>2]|0,4);pb(g+34|0,c[a+96>>2]|0,4);pb(g+38|0,c[n>>2]|0,2);if(c[n>>2]|0){h=0;g=g+40|0;while(1){pb(g,(c[f+24>>2]|0)+-1+(c[f+32>>2]<<7)|0,1);pb(g+1|0,c[f>>2]|0,1);pb(g+2|0,c[f+4>>2]|0,1);h=h+1|0;if(h>>>0>=(c[n>>2]|0)>>>0)break;else{g=g+3|0;f=f+52|0}}}b=(Nb(b,c[m>>2]|0,o,d)|0)==(o|0)&1;i=p;return b|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;q=r+16|0;p=r+8|0;j=r;o=r+20|0;k=a+200|0;l=c[k>>2]|0;m=a+164|0;n=c[m>>2]|0;e=c[n+(l*5640|0)+5584>>2]|0;if(!(c[e>>2]&1))g=5;else g=(c[e+4>>2]|0)+5|0;h=g+9|0;c[o>>2]=h;f=a+48|0;a=a+44|0;e=c[a>>2]|0;do{if(h>>>0>(c[f>>2]|0)>>>0){e=Tc(e,h)|0;if(e){c[a>>2]=e;c[f>>2]=h;break}Uc(c[a>>2]|0);c[a>>2]=0;c[f>>2]=0;Ub(d,1,11687,j)|0;q=0;i=r;return q|0}}while(0);pb(e,65362,2);pb(e+2|0,g+7|0,2);pb(e+4|0,c[n+(l*5640|0)>>2]|0,1);pb(e+5|0,c[n+(l*5640|0)+4>>2]|0,1);pb(e+6|0,c[n+(l*5640|0)+8>>2]|0,2);pb(e+8|0,c[n+(l*5640|0)+16>>2]|0,1);c[o>>2]=g;if(!(ae(c[m>>2]|0,c[k>>2]|0,e+9|0,o,d)|0)){Ub(d,1,11726,p)|0;q=0;i=r;return q|0}if(!(c[o>>2]|0)){q=(Nb(b,c[a>>2]|0,h,d)|0)==(h|0)&1;i=r;return q|0}else{Ub(d,1,11726,q)|0;q=0;i=r;return q|0}return 0}function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;o=p+16|0;n=p+8|0;j=p;l=p+20|0;k=a+200|0;m=a+164|0;e=c[(c[m>>2]|0)+((c[k>>2]|0)*5640|0)+5584>>2]|0;f=c[e+24>>2]|0;if((f|0)==1)e=1;else e=((c[e+4>>2]|0)*3|0)+-2|0;g=(f|0)==0?e+1|0:e<<1|1;h=g+4|0;c[l>>2]=h;f=a+48|0;a=a+44|0;e=c[a>>2]|0;do{if(h>>>0>(c[f>>2]|0)>>>0){e=Tc(e,h)|0;if(e){c[a>>2]=e;c[f>>2]=h;break}Uc(c[a>>2]|0);c[a>>2]=0;c[f>>2]=0;Ub(d,1,11622,j)|0;o=0;i=p;return o|0}}while(0);pb(e,65372,2);pb(e+2|0,g+2|0,2);c[l>>2]=g;if(!($d(c[m>>2]|0,c[k>>2]|0,0,e+4|0,l,d)|0)){Ub(d,1,11661,n)|0;o=0;i=p;return o|0}if(!(c[l>>2]|0)){o=(Nb(b,c[a>>2]|0,h,d)|0)==(h|0)&1;i=p;return o|0}else{Ub(d,1,11661,o)|0;o=0;i=p;return o|0}return 0}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+16|0;u=w;r=w+4|0;o=a+80|0;e=c[(c[o>>2]|0)+16>>2]|0;if(e>>>0<=1){v=1;i=w;return v|0}s=a+164|0;t=a+200|0;q=a+48|0;n=a+44|0;m=1;while(1){h=c[s>>2]|0;k=c[t>>2]|0;g=c[h+(k*5640|0)+5584>>2]|0;j=c[g+(m*1080|0)>>2]|0;a:do{if((((((c[g>>2]|0)==(j|0)?(p=c[g+4>>2]|0,(p|0)==(c[g+(m*1080|0)+4>>2]|0)):0)?(c[g+8>>2]|0)==(c[g+(m*1080|0)+8>>2]|0):0)?(c[g+12>>2]|0)==(c[g+(m*1080|0)+12>>2]|0):0)?(c[g+16>>2]|0)==(c[g+(m*1080|0)+16>>2]|0):0)?(c[g+20>>2]|0)==(c[g+(m*1080|0)+20>>2]|0):0){if(p){a=0;do{if((c[g+812+(a<<2)>>2]|0)!=(c[g+(m*1080|0)+812+(a<<2)>>2]|0)){v=13;break a}if((c[g+944+(a<<2)>>2]|0)!=(c[g+(m*1080|0)+944+(a<<2)>>2]|0)){v=13;break a}a=a+1|0}while(a>>>0

>>0)}}else v=13}while(0);if((v|0)==13){v=0;if(!(j&1))a=5;else a=(c[g+(m*1080|0)+4>>2]|0)+5|0;l=a+(e>>>0<257?6:7)|0;f=c[n>>2]|0;if(l>>>0>(c[q>>2]|0)>>>0){a=Tc(f,l)|0;if(!a){v=17;break}c[n>>2]=a;c[q>>2]=l;k=c[t>>2]|0;h=c[s>>2]|0;g=c[h+(k*5640|0)+5584>>2]|0;e=c[(c[o>>2]|0)+16>>2]|0;j=c[g+(m*1080|0)>>2]|0;f=a}e=e>>>0<257?1:2;if(!(j&1))a=5;else a=(c[g+(m*1080|0)+4>>2]|0)+5|0;pb(f,65363,2);pb(f+2|0,e+3+a|0,2);pb(f+4|0,m,e);j=e|4;pb(f+j|0,c[(c[h+(k*5640|0)+5584>>2]|0)+(m*1080|0)>>2]|0,1);c[r>>2]=a;ae(c[s>>2]|0,c[t>>2]|0,f+(j+1)|0,r,d)|0;if((Nb(b,c[n>>2]|0,l,d)|0)!=(l|0)){a=0;v=24;break}e=c[(c[o>>2]|0)+16>>2]|0}m=m+1|0;if(m>>>0>=e>>>0){a=1;v=24;break}}if((v|0)==17){Uc(c[n>>2]|0);c[n>>2]=0;c[q>>2]=0;Ub(d,1,11548,u)|0;v=0;i=w;return v|0}else if((v|0)==24){i=w;return a|0}return 0}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+16|0;r=t;o=t+4|0;m=a+80|0;e=c[(c[m>>2]|0)+16>>2]|0;if(e>>>0<=1){s=1;i=t;return s|0}p=a+164|0;q=a+200|0;n=a+48|0;l=a+44|0;k=1;while(1){j=c[(c[p>>2]|0)+((c[q>>2]|0)*5640|0)+5584>>2]|0;g=c[j+24>>2]|0;h=c[j+(k*1080|0)+24>>2]|0;a:do{if((g|0)==(h|0)?(c[j+804>>2]|0)==(c[j+(k*1080|0)+804>>2]|0):0){if((g|0)!=1){f=(c[j+4>>2]|0)*3|0;a=f+-2|0;if((f|0)!=((c[j+(k*1080|0)+4>>2]|0)*3|0)){s=14;break}if(!a)break}else a=1;f=0;do{if((c[j+28+(f<<3)>>2]|0)!=(c[j+(k*1080|0)+28+(f<<3)>>2]|0)){s=14;break a}f=f+1|0}while(f>>>0>>0);if(g){f=0;do{if((c[j+28+(f<<3)+4>>2]|0)!=(c[j+(k*1080|0)+28+(f<<3)+4>>2]|0)){s=14;break a}f=f+1|0}while(f>>>0>>0)}}else s=14}while(0);if((s|0)==14){s=0;if((h|0)==1)a=1;else a=((c[j+(k*1080|0)+4>>2]|0)*3|0)+-2|0;g=((h|0)==0?a+1|0:a<<1|1)+5+(e>>>0>256&1)|0;a=c[l>>2]|0;if(g>>>0>(c[n>>2]|0)>>>0){a=Tc(a,g)|0;if(!a){s=18;break}c[l>>2]=a;c[n>>2]=g;e=c[(c[p>>2]|0)+((c[q>>2]|0)*5640|0)+5584>>2]|0;f=c[e+(k*1080|0)+24>>2]|0}else{f=h;e=j}if((f|0)==1)e=1;else e=((c[e+(k*1080|0)+4>>2]|0)*3|0)+-2|0;f=(f|0)==0?e+1|0:e<<1|1;c[o>>2]=f+6;pb(a,65373,2);e=a+2|0;if((c[(c[m>>2]|0)+16>>2]|0)>>>0<257){pb(e,f+3|0,2);pb(a+4|0,k,1);a=a+5|0}else{pb(e,f+4|0,2);pb(a+4|0,k,2);a=a+6|0}c[o>>2]=f;$d(c[p>>2]|0,c[q>>2]|0,k,a,o,d)|0;if((Nb(b,c[l>>2]|0,g,d)|0)!=(g|0)){a=0;s=28;break}e=c[(c[m>>2]|0)+16>>2]|0}k=k+1|0;if(k>>>0>=e>>>0){a=1;s=28;break}}if((s|0)==18){Uc(c[l>>2]|0);c[l>>2]=0;c[n>>2]=0;Ub(d,1,11476,r)|0;s=0;i=t;return s|0}else if((s|0)==28){i=t;return a|0}return 0}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l;h=(c[a+32>>2]|0)*5|0;j=h+6|0;f=a+48|0;k=a+44|0;e=c[k>>2]|0;do{if(j>>>0>(c[f>>2]|0)>>>0){e=Tc(e,j)|0;if(e){c[k>>2]=e;c[f>>2]=j;break}Uc(c[k>>2]|0);c[k>>2]=0;c[f>>2]=0;Ub(d,1,11437,g)|0;b=0;i=l;return b|0}}while(0);g=Pb(b)|0;a=a+16|0;c[a>>2]=g;c[a+4>>2]=C;pb(e,65365,2);pb(e+2|0,h+4|0,2);pb(e+4|0,0,1);pb(e+5|0,80,1);b=(Nb(b,c[k>>2]|0,j,d)|0)==(j|0)&1;i=l;return b|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+16|0;j=q;p=q+4|0;c[p>>2]=0;m=a+200|0;e=c[m>>2]|0;l=a+164|0;f=c[l>>2]|0;k=a+80|0;h=c[(c[k>>2]|0)+16>>2]|0;o=(_(h>>>0<257?7:9,(c[f+(e*5640|0)+420>>2]|0)+1|0)|0)+4|0;g=a+48|0;n=a+44|0;a=c[n>>2]|0;do{if(o>>>0>(c[g>>2]|0)>>>0){e=Tc(a,o)|0;if(e){c[n>>2]=e;c[g>>2]=o;g=e;a=c[(c[k>>2]|0)+16>>2]|0;f=c[l>>2]|0;e=c[m>>2]|0;break}Uc(c[n>>2]|0);c[n>>2]=0;c[g>>2]=0;Ub(d,1,11398,j)|0;b=0;i=q;return b|0}else{g=a;a=h}}while(0);_d(a,f,e,g,p);b=(Nb(b,c[n>>2]|0,o,d)|0)==(o|0)&1;i=q;return b|0}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+164|0;j=a+80|0;f=c[j>>2]|0;e=c[f+16>>2]|0;if(!e){b=1;return b|0}h=a+44|0;a=0;g=c[(c[i>>2]|0)+5584>>2]|0;while(1){if(c[g+808>>2]|0){k=c[(c[i>>2]|0)+5584>>2]|0;m=e>>>0<257?1:2;f=m+6|0;l=c[h>>2]|0;pb(l,65374,2);e=m|4;pb(l+2|0,e,2);pb(l+4|0,a,m);pb(l+e|0,0,1);pb(l+(e+1)|0,c[k+(a*1080|0)+808>>2]|0,1);if((Nb(b,c[h>>2]|0,f,d)|0)!=(f|0)){a=0;e=7;break}f=c[j>>2]|0}a=a+1|0;e=c[f+16>>2]|0;if(a>>>0>=e>>>0){a=1;e=7;break}else g=g+1080|0}if((e|0)==7)return a|0;return 0}function Td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l;h=c[a+108>>2]|0;j=wi(h)|0;k=j+6|0;e=a+48|0;f=a+44|0;a=c[f>>2]|0;do{if(k>>>0>(c[e>>2]|0)>>>0){a=Tc(a,k)|0;if(a){c[f>>2]=a;c[e>>2]=k;break}Uc(c[f>>2]|0);c[f>>2]=0;c[e>>2]=0;Ub(d,1,11355,g)|0;b=0;i=l;return b|0}}while(0);pb(a,65380,2);pb(a+2|0,j+4|0,2);pb(a+4|0,1,2);Ui(a+6|0,h|0,j|0)|0;b=(Nb(b,c[f>>2]|0,k,d)|0)==(k|0)&1;i=l;return b|0}function Ud(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+32|0;w=A+24|0;t=A+16|0;o=A+8|0;g=A;j=c[b+80>>2]|0;k=j+16|0;h=c[k>>2]|0;l=h+6|0;v=b+48|0;z=b+44|0;f=c[z>>2]|0;do{if(l>>>0>(c[v>>2]|0)>>>0){f=Tc(f,l)|0;if(f){c[z>>2]=f;c[v>>2]=l;break}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11199,g)|0;d=0;i=A;return d|0}}while(0);pb(f,65400,2);pb(f+2|0,h+4|0,2);pb(f+4|0,c[k>>2]|0,2);if(c[k>>2]|0){h=0;g=c[j+24>>2]|0;f=f+6|0;while(1){pb(f,(c[g+24>>2]|0)+-1|c[g+32>>2]<<7,1);h=h+1|0;if(h>>>0>=(c[k>>2]|0)>>>0)break;else{g=g+52|0;f=f+1|0}}}if((Nb(d,c[z>>2]|0,l,e)|0)!=(l|0)){d=0;i=A;return d|0}q=b+200|0;n=c[q>>2]|0;r=b+164|0;m=c[r>>2]|0;g=m+(n*5640|0)+5616|0;a:do{if(c[g>>2]|0){l=0;b=c[m+(n*5640|0)+5612>>2]|0;while(1){h=b+16|0;j=c[h>>2]|0;k=j+10|0;f=c[z>>2]|0;if(k>>>0>(c[v>>2]|0)>>>0){f=Tc(f,k)|0;if(!f)break;c[z>>2]=f;c[v>>2]=k}pb(f,65396,2);pb(f+2|0,j+8|0,2);pb(f+4|0,0,2);pb(f+6|0,c[b+4>>2]<<8|c[b+8>>2]&255|c[b>>2]<<10,2);pb(f+8|0,0,2);Ui(f+10|0,c[b+12>>2]|0,c[h>>2]|0)|0;if((Nb(d,c[z>>2]|0,k,e)|0)!=(k|0)){s=0;x=42;break}l=l+1|0;if(l>>>0>=(c[g>>2]|0)>>>0)break a;else b=b+20|0}if((x|0)==42){i=A;return s|0}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11238,o)|0;d=0;i=A;return d|0}}while(0);o=m+(n*5640|0)+5628|0;b:do{if(c[o>>2]|0){p=0;m=c[m+(n*5640|0)+5624>>2]|0;while(1){l=m+4|0;g=c[l>>2]|0;j=g>>>0>255;k=j?2:1;j=j?32768:0;g=_(k,g<<1)|0;b=g+19|0;f=c[z>>2]|0;if(b>>>0>(c[v>>2]|0)>>>0){f=Tc(f,b)|0;if(!f)break;c[z>>2]=f;c[v>>2]=b}pb(f,65397,2);pb(f+2|0,g+17|0,2);pb(f+4|0,0,2);pb(f+6|0,c[m>>2]|0,1);pb(f+7|0,0,2);pb(f+9|0,1,2);pb(f+11|0,1,1);pb(f+12|0,c[l>>2]|j,2);f=f+14|0;if(!(c[l>>2]|0))g=0;else{h=0;do{pb(f,h,k);f=f+k|0;h=h+1|0;g=c[l>>2]|0}while(h>>>0>>0)}pb(f,g|j,2);f=f+2|0;if(!(c[l>>2]|0))h=f;else{g=0;do{pb(f,g,k);f=f+k|0;g=g+1|0}while(g>>>0<(c[l>>2]|0)>>>0);h=f}f=((a[m+16>>0]^1)&255)<<16&65536;g=c[m+8>>2]|0;if(g)f=c[g+8>>2]|f;g=c[m+12>>2]|0;if(g)f=c[g+8>>2]<<8|f;pb(h,f,3);if((Nb(d,c[z>>2]|0,b,e)|0)!=(b|0)){s=0;x=42;break}p=p+1|0;if(p>>>0>=(c[o>>2]|0)>>>0)break b;else m=m+20|0}if((x|0)==42){i=A;return s|0}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11277,t)|0;d=0;i=A;return d|0}}while(0);k=c[q>>2]|0;j=c[r>>2]|0;l=j+(k*5640|0)+5628|0;g=c[l>>2]|0;b=g+5|0;f=c[z>>2]|0;do{if(b>>>0>(c[v>>2]|0)>>>0){f=Tc(f,b)|0;if(!f){Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11316,w)|0;u=1;break}else{c[z>>2]=f;c[v>>2]=b;y=f;x=37;break}}else{y=f;x=37}}while(0);if((x|0)==37){pb(y,65399,2);pb(y+2|0,g+3|0,2);pb(y+4|0,c[l>>2]|0,1);if(c[l>>2]|0){h=0;g=y+5|0;f=c[j+(k*5640|0)+5624>>2]|0;while(1){pb(g,c[f>>2]|0,1);h=h+1|0;if(h>>>0>=(c[l>>2]|0)>>>0)break;else{g=g+1|0;f=f+20|0}}}u=(Nb(d,c[z>>2]|0,b,e)|0)!=(b|0)}d=u&1^1;i=A;return d|0}function Vd(a,b,d){a=a|0;b=b|0;d=d|0;d=Pb(b)|0;b=(c[a+196>>2]|0)+8|0;c[b>>2]=d;c[b+4>>2]=C;return 1}function Wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;b=Tf(0)|0;e=a+204|0;c[e>>2]=b;if(!b){Ub(d,1,11159,f)|0;d=0;i=f;return d|0}if(Xf(b,c[a+80>>2]|0,a+88|0)|0){d=1;i=f;return d|0}Yf(c[e>>2]|0);c[e>>2]=0;d=0;i=f;return d|0}function Xd(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;O=d+80|0;E=c[O>>2]|0;P=d+164|0;i=c[P>>2]|0;N=E+24|0;F=c[N>>2]|0;f=c[F>>2]|0;h=c[F+4>>2]|0;M=E+16|0;F=_(c[F+24>>2]|0,c[M>>2]|0)|0;D=Pb(e)|0;q=d+116|0;l=c[q>>2]|0;r=d+112|0;e=c[r>>2]|0;G=(+(D>>>0)+4294967296*+(C|0))/+((_(e,l)|0)>>>0);D=(a[d+181>>0]&8)==0?1:2;if(l){s=d+92|0;u=d+100|0;v=d+96|0;y=d+104|0;z=E+4|0;A=E+8|0;B=E+12|0;x=+((_(f<<3,h)|0)>>>0);m=e;f=e;p=0;e=i;do{o=p;p=p+1|0;if(!f)f=0;else{m=0;do{w=+Sa[D&3](e);l=c[e+8>>2]|0;w=w/+(l>>>0);Q=c[s>>2]|0;i=c[u>>2]|0;k=(_(i,m)|0)+Q|0;f=c[E>>2]|0;f=(k|0)>(f|0)?k:f;k=c[v>>2]|0;j=c[y>>2]|0;R=(_(j,o)|0)+k|0;h=c[z>>2]|0;h=(R|0)>(h|0)?R:h;m=m+1|0;Q=(_(i,m)|0)+Q|0;i=c[A>>2]|0;i=(Q|0)<(i|0)?Q:i;k=(_(j,p)|0)+k|0;j=c[B>>2]|0;j=(k|0)<(j|0)?k:j;k=e+20|0;n=+g[k>>2];if(n!=0)g[k>>2]=+((_(_(i-f|0,F)|0,j-h|0)|0)>>>0)/(x*n)-w;if(l>>>0>1){n=+((_(_(i-f|0,F)|0,j-h|0)|0)>>>0);f=1;h=e+24|0;while(1){t=+g[h>>2];if(t!=0)g[h>>2]=n/(x*t)-w;f=f+1|0;if(f>>>0>=l>>>0)break;else h=h+4|0}}e=e+5640|0;f=c[r>>2]|0}while(m>>>0>>0);l=c[q>>2]|0;m=f}}while(p>>>0>>0);if(!l)l=0;else{s=(m|0)==0;t=G+2;v=m>>>0>1?m:1;u=0;f=c[P>>2]|0;do{if(!s){p=f+16|0;q=0;r=f;while(1){e=r+20|0;n=+g[e>>2];if(n!=0?(x=n-G,g[e>>2]=x,x<30):0)g[e>>2]=30;j=r+24|0;e=c[r+8>>2]|0;o=e+-1|0;n=+g[j>>2];h=n!=0;if(o>>>0>1){k=p+(e<<2)|0;i=1;e=j;do{if(h?(x=n-G,g[e>>2]=x,I=+g[e+-4>>2],x>2]=I+20;e=e+4|0;i=i+1|0;n=+g[e>>2];h=n!=0}while((i|0)!=(o|0));if(h){H=n;K=k;L=29}}else if(h){H=n;K=j;L=29}if((L|0)==29?(L=0,x=H-t,g[K>>2]=x,J=+g[K+-4>>2],x>2]=J+20;q=q+1|0;if(q>>>0>=m>>>0)break;else{p=p+5640|0;r=r+5640|0}}f=f+(v*5640|0)|0}u=u+1|0}while(u>>>0>>0)}}else{m=e;l=0}h=c[M>>2]|0;if(!h)u=0;else{i=(c[d+100>>2]|0)+-1|0;j=(c[d+104>>2]|0)+-1|0;k=0;e=c[N>>2]|0;f=0;while(1){R=c[e>>2]|0;Q=c[e+4>>2]|0;R=_(((j+Q|0)>>>0)/(Q>>>0)|0,((i+R|0)>>>0)/(R>>>0)|0)|0;f=(_(R,c[e+24>>2]|0)|0)+f|0;k=k+1|0;if(k>>>0>=h>>>0)break;else e=e+52|0}u=~~(+(f>>>0)*.1625)>>>0}o=c[(c[O>>2]|0)+16>>2]|0;q=o+-1|0;s=_(l,m)|0;p=(s|0)==0;if(p)i=0;else{e=0;f=0;h=c[P>>2]|0;while(1){R=c[h+5588>>2]|0;f=f>>>0>R>>>0?f:R;e=e+1|0;if((e|0)==(s|0))break;else h=h+5640|0}i=f*12|0}r=d+88|0;if(((b[r>>1]|0)+-3&65535)>=4){if(p){e=0;f=0}else{m=(o|0)==0;k=0;f=0;do{if(!m){h=c[(c[P>>2]|0)+(k*5640|0)+5584>>2]|0;j=0;do{if(!(c[h+(j*1080|0)>>2]&1))e=5;else e=(c[h+(j*1080|0)+4>>2]|0)+5|0;f=f>>>0>e>>>0?f:e;j=j+1|0}while((j|0)!=(o|0))}k=k+1|0}while((k|0)!=(s|0));l=0;e=0;do{if(!m){j=c[(c[P>>2]|0)+(l*5640|0)+5584>>2]|0;k=0;do{if(!(c[j+(k*1080|0)>>2]&1))h=5;else h=(c[j+(k*1080|0)+4>>2]|0)+5|0;e=e>>>0>h>>>0?e:h;k=k+1|0}while((k|0)!=(o|0))}l=l+1|0}while((l|0)!=(s|0))}i=(_(f+12+e|0,q)|0)+i|0}if(p)f=13;else{h=0;f=0;e=c[P>>2]|0;while(1){R=c[e+420>>2]|0;f=f>>>0>R>>>0?f:R;h=h+1|0;if((h|0)==(s|0))break;else e=e+5640|0}f=(f*9|0)+13|0}R=i+u+f|0;c[d+40>>2]=R;R=Pc(R)|0;c[d+36>>2]=R;if(!R){R=0;return R|0}if(((b[r>>1]|0)+-3&65535)>=4){R=1;return R|0}f=Pc((c[d+32>>2]|0)*5|0)|0;c[d+24>>2]=f;if(!f){R=0;return R|0}c[d+28>>2]=f;R=1;return R|0}function Yd(a){a=a|0;return 0}function Zd(a){a=a|0;return+ +((((c[a+5588>>2]|0)*14|0)+-14|0)>>>0)}function _d(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=c[b+(d*5640|0)+5584>>2]|0;q=(c[b+(d*5640|0)+420>>2]|0)+1|0;j=a>>>0<257?1:2;p=_(q,(j<<1)+5|0)|0;r=p+4|0;pb(e,65375,2);pb(e+2|0,p+2|0,2);if(!q){c[f>>2]=r;return}k=j+1|0;l=j+3|0;m=j|4;n=m+j|0;o=n+1|0;p=b+(d*5640|0)+8|0;h=g+4|0;i=0;e=e+4|0;g=b+(d*5640|0)+424|0;while(1){pb(e,c[g>>2]|0,1);pb(e+1|0,c[g+4>>2]|0,j);t=g+8|0;pb(e+k|0,c[t>>2]|0,2);b=g+12|0;pb(e+l|0,c[b>>2]|0,1);d=g+16|0;pb(e+m|0,c[d>>2]|0,j);pb(e+n|0,c[g+36>>2]|0,1);u=c[t>>2]|0;s=c[p>>2]|0;c[t>>2]=(u|0)<(s|0)?u:s;t=c[b>>2]|0;s=c[h>>2]|0;c[b>>2]=(t|0)<(s|0)?t:s;b=c[d>>2]|0;c[d>>2]=(b|0)<(a|0)?b:a;i=i+1|0;if((i|0)==(q|0))break;else{e=e+o|0;g=g+148|0}}c[f>>2]=r;return}function $d(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+8|0;j=n;l=c[a+(b*5640|0)+5584>>2]|0;b=c[l+(d*1080|0)+24>>2]|0;do{if((b|0)!=1){a=(c[l+(d*1080|0)+4>>2]|0)*3|0;h=a+-2|0;if(!b){a=a+-1|0;if((c[f>>2]|0)>>>0>>0){Ub(g,1,11515,j)|0;f=0;i=n;return f|0}else{pb(e,c[l+(d*1080|0)+804>>2]<<5,1);if(!h)break;else b=0;do{e=e+1|0;pb(e,c[l+(d*1080|0)+28+(b<<3)>>2]<<3,1);b=b+1|0}while((b|0)!=(h|0))}}else m=7}else{h=1;b=1;m=7}}while(0);if((m|0)==7){a=h<<1|1;if((c[f>>2]|0)>>>0>>0){Ub(g,1,11515,k)|0;f=0;i=n;return f|0}pb(e,(c[l+(d*1080|0)+804>>2]<<5)+b|0,1);if(h){e=e+1|0;b=0;while(1){pb(e,(c[l+(d*1080|0)+28+(b<<3)>>2]<<11)+(c[l+(d*1080|0)+28+(b<<3)+4>>2]|0)|0,2);b=b+1|0;if((b|0)==(h|0))break;else e=e+2|0}}}c[f>>2]=(c[f>>2]|0)-a;f=1;i=n;return f|0}function ae(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=c[a+(b*5640|0)+5584>>2]|0;if((c[e>>2]|0)>>>0<5){Ub(f,1,11587,j)|0;e=0;i=j;return e|0}h=g+4|0;pb(d,(c[h>>2]|0)+-1|0,1);pb(d+1|0,(c[g+8>>2]|0)+-2|0,1);pb(d+2|0,(c[g+12>>2]|0)+-2|0,1);pb(d+3|0,c[g+16>>2]|0,1);pb(d+4|0,c[g+20>>2]|0,1);b=(c[e>>2]|0)+-5|0;c[e>>2]=b;if(!(c[g>>2]&1)){e=1;i=j;return e|0}a=c[h>>2]|0;if(b>>>0>>0){Ub(f,1,11587,j+8|0)|0;e=0;i=j;return e|0}if(!a)a=0;else{b=d+5|0;d=0;while(1){pb(b,(c[g+944+(d<<2)>>2]<<4)+(c[g+812+(d<<2)>>2]|0)|0,1);d=d+1|0;a=c[h>>2]|0;if(d>>>0>=a>>>0)break;else b=b+1|0}b=c[e>>2]|0}c[e>>2]=b-a;e=1;i=j;return e|0}function be(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=c[b+76>>2]|0;g=c[i+(f*5640|0)+4>>2]|0;h=696;while(1){m=c[h>>2]|0;if((m|0)==-1|(m|0)==(g|0))break;else h=h+12|0}if(!(a[b+93>>0]&8)){b=1;return b|0}m=d[b+92>>0]|0;j=i+(f*5640|0)+424+(e*148|0)+92|0;k=i+(f*5640|0)+424+(e*148|0)+88|0;l=i+(f*5640|0)+424+(e*148|0)+96|0;e=i+(f*5640|0)+424+(e*148|0)+84|0;i=a[h+4>>0]|0;switch(i|0){case 67:{g=c[j>>2]|0;break}case 82:{g=c[k>>2]|0;break}case 80:{g=c[l>>2]|0;break}case 76:{g=c[e>>2]|0;break}default:g=1}if((m|0)!=(i|0)){i=a[h+5>>0]|0;switch(i|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)!=(i|0)){i=a[h+6>>0]|0;switch(i|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)!=(i|0)){h=a[h+7>>0]|0;switch(h|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)==(h|0))h=3;else{b=g;return b|0}}else h=2}else h=1}else h=0;c[b+84>>2]=h;b=g;return b|0}function ce(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=g+16|0;if(!(c[B>>2]|0)){B=1;return B|0}A=0;z=c[g+24>>2]|0;while(1){k=i+44|0;j=c[k>>2]|0;l=i+8|0;if(!j){g=i+12|0;j=Qc(_(c[g>>2]|0,c[l>>2]|0)|0,4)|0;c[k>>2]=j;if(!j){h=0;i=61;break}}else g=i+12|0;q=z+36|0;c[i+36>>2]=c[q>>2];x=c[z+24>>2]|0;t=c[f+24>>2]|0;q=c[q>>2]|0;x=((x&7|0)!=0&1)+(x>>>3)|0;x=(x|0)==3?4:x;n=c[t+(q*136|0)+8>>2]|0;m=c[t+(q*136|0)>>2]|0;v=n-m|0;s=c[t+(q*136|0)+12>>2]|0;q=c[t+(q*136|0)+4>>2]|0;t=s-q|0;k=c[i+16>>2]|0;p=c[i+40>>2]|0;o=Ri(1,0,p|0)|0;w=C;k=Si(k|0,0,-1,-1)|0;k=Si(k|0,C|0,o|0,w|0)|0;k=Ti(k|0,C|0,p|0)|0;r=Si(c[i+20>>2]|0,0,-1,-1)|0;w=Si(r|0,C|0,o|0,w|0)|0;p=Ti(w|0,C|0,p|0)|0;w=c[l>>2]|0;l=k+w|0;o=c[g>>2]|0;r=p+o|0;do{if(k>>>0>>0){g=m-k|0;if(n>>>0>l>>>0){y=l-m|0;u=0;m=v-y|0;n=g}else{u=0;m=0;n=g;y=v}}else{g=k-m|0;if(n>>>0>l>>>0){u=g;m=n-l|0;n=0;y=w;break}else{u=g;m=0;n=0;y=v-g|0;break}}}while(0);do{if(p>>>0>>0){l=q-p|0;if(s>>>0>r>>>0){k=r-q|0;o=k;g=0;k=t-k|0}else{o=t;g=0;k=0}}else{g=p-q|0;if(s>>>0>r>>>0){k=s-r|0;l=0;break}else{o=t-g|0;k=0;l=0;break}}}while(0);if((u|m|y|k|g|o|0)<0){h=0;i=61;break}g=(_(g,v)|0)+u|0;q=u+m|0;r=(_(k,v)|0)-u|0;p=w-y|0;j=j+((_(w,l)|0)+n<<2)|0;switch(x|0){case 1:{h=h+g|0;g=(o|0)==0;if(!(c[z+32>>2]|0)){if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=d[j>>0];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+1|0}}g=l;h=h+y|0}h=h+q|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}}else if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=a[j>>0];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+1|0}}g=l;h=h+y|0}h=h+q|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+r|0;break}case 2:{h=h+(g<<1)|0;g=(o|0)==0;if(!(c[z+32>>2]|0)){if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=e[j>>1];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+2|0}}g=l;h=h+(y<<1)|0}h=h+(q<<1)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}}else if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=b[j>>1];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+2|0}}g=l;h=h+(y<<1)|0}h=h+(q<<1)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+(r<<1)|0;break}case 4:{h=h+(g<<2)|0;if(o){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=c[j>>2];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+4|0}}g=l;h=h+(y<<2)|0}h=h+(q<<2)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+(r<<2)|0;break}default:{}}A=A+1|0;if(A>>>0>=(c[B>>2]|0)>>>0){h=1;i=61;break}else{i=i+52|0;z=z+52|0;f=f+52|0}}if((i|0)==61)return h|0;return 0}function de(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;x=z+88|0;u=z+80|0;v=z+72|0;t=z+64|0;q=z+56|0;p=z+48|0;m=z+40|0;k=z+32|0;j=z+24|0;h=z+16|0;r=z+100|0;s=z+96|0;w=z+92|0;c[s>>2]=0;y=b+200|0;if((f|0)!=8){Ub(g,1,8662,z)|0;Ub(g,1,8662,z+8|0)|0;g=0;i=z;return g|0}qb(e,y,2);qb(e+2|0,r,4);qb(e+6|0,w,1);qb(e+7|0,s,1);l=c[y>>2]|0;e=c[b+112>>2]|0;if(l>>>0>=(_(c[b+116>>2]|0,e)|0)>>>0){c[h>>2]=l;Ub(g,1,15258,h)|0;g=0;i=z;return g|0}f=c[b+164>>2]|0;o=(l>>>0)%(e>>>0)|0;n=(l>>>0)/(e>>>0)|0;e=c[r>>2]|0;do{if((e+-1|0)>>>0<13){if((e|0)==12){c[j>>2]=12;Ub(g,2,15282,j)|0;e=c[r>>2]|0;break}c[k>>2]=e;Ub(g,1,15319,k)|0;g=0;i=z;return g|0}}while(0);if(!e){Ub(g,4,15380,m)|0;c[b+72>>2]=1}e=c[s>>2]|0;do{if(!e)e=c[f+(l*5640|0)+5588>>2]|0;else{e=((d[b+76>>0]|0)>>>4&1)+e|0;c[s>>2]=e;h=f+(l*5640|0)+5588|0;j=c[h>>2]|0;f=c[w>>2]|0;if((j+-1|0)>>>0>>0){c[p>>2]=f;c[p+4>>2]=j;Ub(g,1,15491,p)|0;c[b+72>>2]=1;g=0;i=z;return g|0}if(f>>>0>>0){c[h>>2]=e;break}c[q>>2]=f;c[q+4>>2]=e;Ub(g,1,15590,q)|0;c[b+72>>2]=1;g=0;i=z;return g|0}}while(0);if((e|0)!=0?(e|0)==((c[w>>2]|0)+1|0):0){q=b+76|0;a[q>>0]=a[q>>0]|1}c[b+24>>2]=(c[b+72>>2]|0)==0?(c[r>>2]|0)+-12|0:0;c[b+8>>2]=16;e=c[b+60>>2]|0;if((e|0)==-1){if((o>>>0>=(c[b+28>>2]|0)>>>0?o>>>0<(c[b+36>>2]|0)>>>0:0)?n>>>0>=(c[b+32>>2]|0)>>>0:0)e=(n>>>0>=(c[b+40>>2]|0)>>>0&1)<<2&255;else e=4;r=b+76|0;a[r>>0]=a[r>>0]&-5|e}else{r=b+76|0;a[r>>0]=((c[y>>2]|0)!=(e|0)&1)<<2&255|a[r>>0]&-5}k=b+196|0;e=c[k>>2]|0;if(!e){g=1;i=z;return g|0}j=c[y>>2]|0;e=c[e+40>>2]|0;c[e+(j*40|0)>>2]=j;c[e+(j*40|0)+12>>2]=c[w>>2];f=c[s>>2]|0;if(f){c[e+(j*40|0)+4>>2]=f;c[e+(j*40|0)+8>>2]=c[s>>2];e=c[e+(j*40|0)+16>>2]|0;if(!e){x=Qc(c[s>>2]|0,24)|0;c[(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16>>2]=x;if(x){g=1;i=z;return g|0}Ub(g,1,15698,t)|0;g=0;i=z;return g|0}e=Tc(e,(c[s>>2]|0)*24|0)|0;f=(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16|0;if(!e){Uc(c[f>>2]|0);c[(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16>>2]=0;Ub(g,1,15698,v)|0;g=0;i=z;return g|0}else{c[f>>2]=e;g=1;i=z;return g|0}}if(!(c[e+(j*40|0)+16>>2]|0)){c[e+(j*40|0)+8>>2]=10;v=Qc(10,24)|0;f=c[y>>2]|0;e=c[(c[k>>2]|0)+40>>2]|0;c[e+(f*40|0)+16>>2]=v;if(!v){c[e+(f*40|0)+8>>2]=0;Ub(g,1,15698,u)|0;g=0;i=z;return g|0}else j=f}f=c[w>>2]|0;h=e+(j*40|0)+8|0;if(f>>>0<(c[h>>2]|0)>>>0){g=1;i=z;return g|0}f=f+1|0;c[h>>2]=f;e=Tc(c[e+(j*40|0)+16>>2]|0,f*24|0)|0;f=(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16|0;if(!e){Uc(c[f>>2]|0);y=c[y>>2]|0;w=c[(c[k>>2]|0)+40>>2]|0;c[w+(y*40|0)+16>>2]=0;c[w+(y*40|0)+8>>2]=0;Ub(g,1,15698,x)|0;g=0;i=z;return g|0}else{c[f>>2]=e;g=1;i=z;return g|0}return 0}function ee(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;p=s+48|0;q=s+40|0;k=s+32|0;n=s+56|0;j=s+52|0;c[n>>2]=e;r=b+80|0;l=c[r>>2]|0;o=b+8|0;if((c[o>>2]|0)==16)m=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else m=c[b+12>>2]|0;g=m+5636|0;h=a[g>>0]|0;if(h&1){Ub(f,1,15025,s)|0;r=0;i=s;return r|0}a[g>>0]=h|1;if(e>>>0<5){Ub(f,1,15089,s+8|0)|0;r=0;i=s;return r|0}qb(d,m,1);if((c[m>>2]|0)>>>0>7){Ub(f,1,15115,s+16|0)|0;r=0;i=s;return r|0}qb(d+1|0,j,1);j=c[j>>2]|0;g=m+4|0;c[g>>2]=j;if((j|0)>4){Ub(f,1,15149,s+24|0)|0;c[g>>2]=-1}g=m+8|0;qb(d+2|0,g,2);g=c[g>>2]|0;if((g+-1|0)>>>0>65534){c[k>>2]=g;Ub(f,1,15190,k)|0;r=0;i=s;return r|0}k=c[b+172>>2]|0;c[m+12>>2]=(k|0)==0?g:k;qb(d+4|0,m+16|0,1);k=d+5|0;c[n>>2]=e+-5;j=c[l+16>>2]|0;if(j){d=c[m>>2]&1;g=c[m+5584>>2]|0;h=0;do{c[g+(h*1080|0)>>2]=d;h=h+1|0}while(h>>>0>>0)}if(!(Fe(b,0,k,n,f)|0)){Ub(f,1,15089,q)|0;r=0;i=s;return r|0}if(c[n>>2]|0){Ub(f,1,15089,p)|0;r=0;i=s;return r|0}if((c[o>>2]|0)==16)g=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else g=c[b+12>>2]|0;g=c[g+5584>>2]|0;e=g+4|0;h=c[e>>2]|0;m=h<<2;if((c[(c[r>>2]|0)+16>>2]|0)>>>0<=1){r=1;i=s;return r|0}n=g+8|0;o=g+12|0;b=g+16|0;f=g+20|0;p=g+812|0;q=g+944|0;c[g+1084>>2]=h;j=c[n>>2]|0;c[g+1088>>2]=j;d=c[o>>2]|0;c[g+1092>>2]=d;k=c[b>>2]|0;c[g+1096>>2]=k;l=c[f>>2]|0;c[g+1100>>2]=l;Ui(g+1892|0,p|0,m|0)|0;Ui(g+2024|0,q|0,m|0)|0;if((c[(c[r>>2]|0)+16>>2]|0)>>>0<=2){r=1;i=s;return r|0}c[g+2164>>2]=h;c[g+2168>>2]=j;c[g+2172>>2]=d;c[g+2176>>2]=k;c[g+2180>>2]=l;Ui(g+2972|0,p|0,m|0)|0;Ui(g+3104|0,q|0,m|0)|0;if((c[(c[r>>2]|0)+16>>2]|0)>>>0>3)h=3;else{r=1;i=s;return r|0}while(1){j=c[n>>2]|0;d=c[o>>2]|0;k=c[b>>2]|0;l=c[f>>2]|0;c[g+3244>>2]=c[e>>2];c[g+3248>>2]=j;c[g+3252>>2]=d;c[g+3256>>2]=k;c[g+3260>>2]=l;Ui(g+4052|0,p|0,m|0)|0;Ui(g+4184|0,q|0,m|0)|0;h=h+1|0;if(h>>>0>=(c[(c[r>>2]|0)+16>>2]|0)>>>0){g=1;break}else g=g+1080|0}i=s;return g|0}function lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+272|0;n=u;s=u+136|0;t=u+8|0;if(!a){t=0;i=u;return t|0}m=a+4|0;if((c[a>>2]|0)==(b|0)?(c[m>>2]|0)==(d|0):0)f=a+8|0;else{c[a>>2]=b;c[m>>2]=d;c[s>>2]=b;c[t>>2]=d;f=a+8|0;c[f>>2]=0;g=0;j=d;k=b;l=0;while(1){r=_(j,k)|0;k=(k+1|0)/2|0;h=l+1|0;c[s+(h<<2)>>2]=k;j=(j+1|0)/2|0;c[t+(h<<2)>>2]=j;g=g+r|0;if(r>>>0<=1)break;else l=h}c[f>>2]=g;if(!g){f=a+12|0;g=c[f>>2]|0;if(g){Uc(g);c[f>>2]=0}Uc(a);t=0;i=u;return t|0}h=g<<4;j=a+16|0;k=a+12|0;do{if(h>>>0>(c[j>>2]|0)>>>0){g=Tc(c[k>>2]|0,h)|0;if(g){c[k>>2]=g;d=c[j>>2]|0;Qi(g+d|0,0,h-d|0)|0;c[j>>2]=h;d=c[m>>2]|0;b=c[a>>2]|0;break}Ub(e,1,20166,n)|0;f=c[k>>2]|0;if(f){Uc(f);c[k>>2]=0}Uc(a);t=0;i=u;return t|0}}while(0);g=c[k>>2]|0;b=g+((_(d,b)|0)<<4)|0;if(l){r=0;d=b;do{p=c[t+(r<<2)>>2]|0;a:do{if((p|0)>0){q=c[s+(r<<2)>>2]|0;if((q|0)<=0){h=p+-1|0;j=0;while(1){o=(j&1|0)!=0|(j|0)==(h|0);k=o?d:b+(q<<4)|0;d=o?d:b;j=j+1|0;if((j|0)>=(p|0)){b=k;break a}else b=k}}o=((q+2+((q|0)<2?~q:-3)|0)>>>1)+1|0;e=p+-1|0;n=0;while(1){m=q;k=d;while(1){c[g>>2]=k;h=g+16|0;j=m;m=m+-2|0;if((m|0)>-1){c[h>>2]=k;g=g+32|0}else g=h;if((j|0)<=2)break;else k=k+16|0}d=d+(o<<4)|0;m=(n&1|0)!=0|(n|0)==(e|0);h=m?d:b+(q<<4)|0;d=m?d:b;n=n+1|0;if((n|0)>=(p|0)){b=h;break}else b=h}}}while(0);r=r+1|0}while((r|0)!=(l|0))}c[g>>2]=0}f=c[f>>2]|0;if(!f){t=a;i=u;return t|0}g=0;b=c[a+12>>2]|0;while(1){c[b+4>>2]=999;c[b+8>>2]=0;c[b+12>>2]=0;g=g+1|0;if((g|0)==(f|0))break;else b=b+16|0}i=u;return a|0}function mg(a){a=a|0;var b=0,d=0;if(!a)return;b=a+12|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}Uc(a);return}function ng(a,b,d){a=a|0;b=b|0;d=d|0;b=(c[a+12>>2]|0)+(b<<4)|0;if(!b)return;while(1){a=b+4|0;if((c[a>>2]|0)<=(d|0)){b=4;break}c[a>>2]=d;b=c[b>>2]|0;if(!b){b=4;break}}if((b|0)==4)return}function og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+128|0;j=k;d=(c[b+12>>2]|0)+(d<<4)|0;if(!(c[d>>2]|0)){f=0;g=j}else{f=d;b=j;while(1){g=b+4|0;c[b>>2]=d;d=c[f>>2]|0;if(!(c[d>>2]|0)){f=0;break}else{f=d;b=g}}}while(1){h=d+8|0;b=c[h>>2]|0;if((f|0)>(b|0)){c[h>>2]=f;b=f}a:do{if((b|0)<(e|0)){f=d+4|0;while(1){if((b|0)>=(c[f>>2]|0))break;Bg(a,0,1);b=b+1|0;if((b|0)>=(e|0)){d=b;break a}}d=d+12|0;if(!(c[d>>2]|0)){Bg(a,1,1);c[d>>2]=1;d=b}else d=b}else d=b}while(0);c[h>>2]=d;if((g|0)==(j|0))break;h=g+-4|0;f=d;d=c[h>>2]|0;g=h}i=k;return}function pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+128|0;j=k;d=(c[b+12>>2]|0)+(d<<4)|0;if(!(c[d>>2]|0)){b=0;g=j}else{f=d;b=j;while(1){g=b+4|0;c[b>>2]=d;d=c[f>>2]|0;if(!(c[d>>2]|0)){b=0;break}else{f=d;b=g}}}while(1){h=d+8|0;f=c[h>>2]|0;if((b|0)>(f|0))c[h>>2]=b;else b=f;d=d+4|0;a:do{if((b|0)<(e|0)){while(1){if((b|0)>=(c[d>>2]|0))break a;if(Cg(a,1)|0)break;b=b+1|0;if((b|0)>=(e|0))break a}c[d>>2]=b}}while(0);c[h>>2]=b;if((g|0)==(j|0))break;h=g+-4|0;d=c[h>>2]|0;g=h}i=k;return(c[d>>2]|0)<(e|0)|0}function qg(){var a=0,b=0;a=Qc(1,12)|0;if(!a){a=0;return a|0}c[a+4>>2]=10;b=Qc(10,4)|0;c[a+8>>2]=b;if(b){b=a;return b|0}Uc(a);b=0;return b|0}function rg(a){a=a|0;var b=0;if(!a)return;b=c[a+8>>2]|0;if(b)Uc(b);Uc(a);return}function sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=a+4|0;f=c[g>>2]|0;e=c[a>>2]|0;do{if((f|0)==(e|0)){f=f+10|0;c[g>>2]=f;e=a+8|0;f=Tc(c[e>>2]|0,f<<2)|0;if(f){c[e>>2]=f;e=c[a>>2]|0;break}Uc(c[e>>2]|0);c[g>>2]=0;c[a>>2]=0;Ub(d,1,20214,h)|0;a=0;i=j;return a|0}else f=c[a+8>>2]|0}while(0);c[f+(e<<2)>>2]=b;c[a>>2]=e+1;a=1;i=j;return a|0}function tg(a){a=a|0;return c[a>>2]|0}function ug(a){a=a|0;return c[a+8>>2]|0}function vg(a){a=a|0;c[a>>2]=0;return}function wg(){return Pc(20)|0}function xg(a){a=a|0;if(!a)return;Uc(a);return}function yg(a){a=a|0;return(c[a+8>>2]|0)-(c[a>>2]|0)|0}function zg(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=b+d;c[a+8>>2]=b;c[a+12>>2]=0;c[a+16>>2]=8;return}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=b+d;c[a+8>>2]=b;c[a+12>>2]=0;c[a+16>>2]=0;return}function Bg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!e)return;k=b+16|0;l=b+12|0;m=b+8|0;h=b+4|0;b=c[k>>2]|0;j=e+-1|0;do{i=d>>>j&1;if(!b){g=c[l>>2]|0;b=g<<8&65280;c[l>>2]=b;b=(b|0)==65280?7:8;c[k>>2]=b;f=c[m>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[m>>2]=f+1;a[f>>0]=g;b=c[k>>2]|0}}b=b+-1|0;c[k>>2]=b;c[l>>2]=i<>2];j=j+-1|0}while(j>>>0>>0);return}function Cg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!b){b=0;return b|0}j=a+16|0;k=a+12|0;l=a+8|0;h=a+4|0;e=c[j>>2]|0;f=c[k>>2]|0;i=b+-1|0;a=0;do{if(!e){g=f<<8&65280;c[k>>2]=g;e=(g|0)==65280?7:8;c[j>>2]=e;f=c[l>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[l>>2]=f+1;f=d[f>>0]|0|g;c[k>>2]=f}else f=g}e=e+-1|0;c[j>>2]=e;a=((f>>>e&1)<>>0>>0);return a|0}function Dg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=b+12|0;d=c[f>>2]|0;i=d<<8&65280;c[f>>2]=i;g=b+16|0;c[g>>2]=(i|0)==65280?7:8;i=b+8|0;e=c[i>>2]|0;h=b+4|0;if(e>>>0>=(c[h>>2]|0)>>>0){i=0;return i|0}c[i>>2]=e+1;a[e>>0]=d;if((c[g>>2]|0)!=7){i=1;return i|0}d=c[f>>2]|0;b=d<<8&65280;c[f>>2]=b;c[g>>2]=(b|0)==65280?7:8;b=c[i>>2]|0;if(b>>>0>=(c[h>>2]|0)>>>0){i=0;return i|0}c[i>>2]=b+1;a[b>>0]=d;i=1;return i|0}function Eg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=a+12|0;b=c[h>>2]|0;do{if((b&255|0)==255){f=b<<8&65280;c[h>>2]=f;b=a+16|0;c[b>>2]=(f|0)==65280?7:8;g=a+8|0;e=c[g>>2]|0;if(e>>>0<(c[a+4>>2]|0)>>>0){c[g>>2]=e+1;c[h>>2]=d[e>>0]|0|f;break}else{a=0;return a|0}}else b=a+16|0}while(0);c[b>>2]=0;a=1;return a|0}function Fg(a){a=a|0;return Pg(a,1)|0}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+32|0;B=D+16|0;C=D;k=c[a+24>>2]|0;j=(c[k+8>>2]|0)-(c[k>>2]|0)|0;h=(c[k+12>>2]|0)-(c[k+4>>2]|0)|0;A=(c[a+8>>2]|0)-(c[a>>2]|0)|0;if((b|0)==1){C=1;i=D;return C|0}g=b+-1|0;f=(g|0)==0;if(f)b=0;else{d=k;e=g;b=0;do{z=d;d=d+136|0;y=(c[z+144>>2]|0)-(c[d>>2]|0)|0;b=b>>>0>>0?y:b;z=(c[z+148>>2]|0)-(c[z+140>>2]|0)|0;b=b>>>0>>0?z:b;e=e+-1|0}while((e|0)!=0);b=b<<2}z=Rc(b)|0;c[B>>2]=z;if(!z){C=0;i=D;return C|0}c[C>>2]=z;if(!f){s=a+32|0;t=B+8|0;u=C+8|0;v=B+4|0;w=B+12|0;x=C+4|0;y=C+12|0;do{q=c[s>>2]|0;n=k;k=k+136|0;c[t>>2]=j;c[u>>2]=h;o=c[n+144>>2]|0;p=c[k>>2]|0;e=j;j=o-p|0;b=c[n+148>>2]|0;n=n+140|0;r=c[n>>2]|0;d=h;h=b-r|0;c[v>>2]=j-e;c[w>>2]=(p|0)%2|0;r=(b|0)==(r|0);if(!r){m=j<<2;b=0;while(1){a=_(b,A)|0;l=q+(a<<2)|0;if(e){d=l;f=z+(c[w>>2]<<2)|0;while(1){e=e+-1|0;c[f>>2]=c[d>>2];if(!e)break;else{d=d+4|0;f=f+8|0}}}d=c[v>>2]|0;if(d){e=q+((c[t>>2]|0)+a<<2)|0;f=z+(1-(c[w>>2]|0)<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+4|0;f=f+8|0}}}Qg(B);Ui(l|0,z|0,m|0)|0;b=b+1|0;if((b|0)==(h|0))break;e=c[t>>2]|0}d=c[u>>2]|0;b=c[n>>2]|0}c[x>>2]=h-d;c[y>>2]=(b|0)%2|0;a:do{if((o|0)!=(p|0)){b=0;while(1){if(d){e=q+(b<<2)|0;f=z+(c[y>>2]<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+(A<<2)|0;f=f+8|0}}}d=c[x>>2]|0;if(d){e=q+((_(c[u>>2]|0,A)|0)+b<<2)|0;f=z+(1-(c[y>>2]|0)<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+(A<<2)|0;f=f+8|0}}}Qg(C);if(!r){d=0;do{c[q+((_(d,A)|0)+b<<2)>>2]=c[z+(d<<2)>>2];d=d+1|0}while((d|0)!=(h|0))}b=b+1|0;if((b|0)==(j|0))break a;d=c[u>>2]|0}}}while(0);g=g+-1|0}while((g|0)!=0)}Sc(z);C=1;i=D;return C|0}function Hg(a){a=a|0;if(!a){a=0;return a|0}a=(a+-1|0)>>>0<2?1:2;return a|0}function Ig(a,b){a=a|0;b=b|0;return+ +h[56+(b*80|0)+(a<<3)>>3]}function Jg(a){a=a|0;return Pg(a,2)|0}function Kg(a){a=a|0;return 0}function Lg(a,b){a=a|0;b=b|0;return+ +h[376+(b*80|0)+(a<<3)>>3]}function Mg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+4|0;l=((c[k>>2]|0)*3|0)+-2|0;if(!l)return;m=a+20|0;n=a+24|0;o=0;do{if(!o){e=0;f=0}else{f=o+-1|0;e=((f>>>0)/3|0)+1|0;f=((f>>>0)%3|0)+1|0}if((f|0)==0|(c[m>>2]|0)==0)g=0;else g=(f+-1|0)>>>0<2?1:2;if(!(c[n>>2]|0))d=1;else d=+(1<>2]|0)+~e<<3)>>3];j=~~+M(+(d*8192));i=g+b|0;if((j|0)>1){e=j;f=0;while(1){e=e>>1;if((e|0)<=1)break;else f=f+1|0}g=j;e=0;do{g=g>>1;e=e+1|0}while((g|0)>1);f=f+-12|0}else{f=-13;e=0}g=11-e|0;c[a+28+(o<<3)+4>>2]=((g|0)<0?j>>0-g:j<>2]=i-f;o=o+1|0}while((o|0)!=(l|0));return}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=i;i=i+32|0;Q=T+16|0;R=T;m=c[a+24>>2]|0;n=c[m+8>>2]|0;o=c[m>>2]|0;k=c[m+12>>2]|0;l=c[m+4>>2]|0;P=a+8|0;h=c[P>>2]|0;j=c[a>>2]|0;O=h-j|0;g=b+-1|0;f=(g|0)==0;if(f)b=80;else{d=m;e=g;b=0;do{N=d;d=d+136|0;M=(c[N+144>>2]|0)-(c[d>>2]|0)|0;b=b>>>0>>0?M:b;N=(c[N+148>>2]|0)-(c[N+140>>2]|0)|0;b=b>>>0>>0?N:b;e=e+-1|0}while((e|0)!=0);b=(b<<4)+80|0}N=Rc(b)|0;c[Q>>2]=N;if(!N){S=0;i=T;return S|0}c[R>>2]=N;a:do{if(!f){y=a+32|0;z=a+12|0;A=a+4|0;B=Q+8|0;C=R+8|0;D=Q+4|0;E=Q+12|0;F=R+4|0;G=R+12|0;H=O<<1;I=O<<2;J=O*3|0;L=j<<2;M=h<<2;K=L-M|0;L=M-L|0;M=h-j<<2;b=g;d=N;g=h;e=j;r=k-l|0;f=m;h=n-o|0;while(1){s=c[y>>2]|0;e=_((c[z>>2]|0)-(c[A>>2]|0)|0,g-e|0)|0;c[B>>2]=h;c[C>>2]=r;w=f+136|0;p=c[f+144>>2]|0;q=c[w>>2]|0;x=p-q|0;u=c[f+148>>2]|0;n=f+140|0;t=c[n>>2]|0;v=u-t|0;c[D>>2]=x-h;c[E>>2]=(q|0)%2|0;if((v|0)>3){g=(x|0)>0;h=(u+-4-t|0)>>>2;m=_(K,h)|0;h=s+(L+(_(M,h)|0)<<2)|0;j=s;k=e;l=v;while(1){Sg(Q,j,O,k);Tg(Q);if(g){f=x;do{o=f;f=f+-1|0;c[j+(f<<2)>>2]=c[N+(f<<4)>>2];c[j+(f+O<<2)>>2]=c[N+(f<<4)+4>>2];c[j+(f+H<<2)>>2]=c[N+(f<<4)+8>>2];c[j+(f+J<<2)>>2]=c[N+(f<<4)+12>>2]}while((o|0)>1)}l=l+-4|0;if((l|0)<=3)break;else{j=j+(I<<2)|0;k=k-I|0}}e=K+e+m|0}else h=s;g=v&3;b:do{if(!g)S=21;else{Sg(Q,h,O,e);Tg(Q);if((x|0)>0)e=x;else{k=v-r|0;c[F>>2]=k;g=(c[n>>2]|0)%2|0;c[G>>2]=g;l=r;j=s;break}while(1){f=e;e=e+-1|0;switch(g|0){case 3:{c[h+(e+H<<2)>>2]=c[N+(e<<4)+8>>2];S=18;break}case 2:{S=18;break}case 1:{S=19;break}default:{}}if((S|0)==18){c[h+(e+O<<2)>>2]=c[N+(e<<4)+4>>2];S=19}if((S|0)==19){S=0;c[h+(e<<2)>>2]=c[N+(e<<4)>>2]}if((f|0)<=1){S=21;break b}}}}while(0);if((S|0)==21){S=0;k=v-r|0;c[F>>2]=k;g=(c[n>>2]|0)%2|0;c[G>>2]=g;if((x|0)>3){o=(u|0)==(t|0);p=p+-4-q|0;n=c[C>>2]|0;l=(n|0)>0;j=1-g|0;m=(k|0)>0;f=s;h=x;while(1){if(l){e=0;do{r=d+((e<<1)+g<<4)|0;q=f+((_(e,O)|0)<<2)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(n|0))}if(m){e=0;do{r=d+(j+(e<<1)<<4)|0;q=f+((_(e+n|0,O)|0)<<2)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(k|0))}Tg(R);if(!o){d=c[R>>2]|0;e=0;do{r=f+((_(e,O)|0)<<2)|0;q=d+(e<<4)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(v|0))}h=h+-4|0;if((h|0)<=3)break;else f=f+16|0}l=n;j=s+((p+4&-4)<<2)|0}else{l=r;j=s}}h=x&3;if(h){d=c[R>>2]|0;if((l|0)>0){e=h<<2;f=0;do{Ui(d+((f<<1)+g<<4)|0,j+((_(f,O)|0)<<2)|0,e|0)|0;f=f+1|0}while((f|0)!=(l|0))}e=1-g|0;if((k|0)>0){f=h<<2;g=0;do{Ui(d+(e+(g<<1)<<4)|0,j+((_(g+l|0,O)|0)<<2)|0,f|0)|0;g=g+1|0}while((g|0)!=(k|0))}Tg(R);if((u|0)!=(t|0)){e=h<<2;f=0;do{Ui(j+((_(f,O)|0)<<2)|0,d+(f<<4)|0,e|0)|0;f=f+1|0}while((f|0)!=(v|0))}}b=b+-1|0;if(!b)break a;g=c[P>>2]|0;e=c[a>>2]|0;r=v;f=w;h=x}}}while(0);Sc(N);S=1;i=T;return S|0}function Og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if(!e){e=(b|0)>0;if(!(e|(d|0)>1))return;if(e){e=a+((d<<1)+-2<<2)|0;f=0;do{j=f;f=f+1|0;k=a+((j<<1|1)<<2)|0;c[k>>2]=(c[k>>2]|0)-((c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((j|0)<(d|0)?a+(j<<1<<2)|0:e)>>2]|0)>>1)}while((f|0)!=(b|0))}if((d|0)<=0)return;f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;k=a+(h<<1<<2)|0;c[k>>2]=((c[e>>2]|0)+2+(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)>>2)+(c[k>>2]|0);h=h+1|0}while((h|0)!=(d|0));return}if((b|0)==1&(d|0)==0){c[a>>2]=c[a>>2]<<1;return}if((b|0)>0){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;i=a+(i<<2)|0;c[i>>2]=(c[i>>2]|0)-((c[e>>2]|0)+j>>1);k=k+1|0}while((k|0)!=(b|0))}if((d|0)<=0)return;e=a+((b<<1)+-2<<2)|0;f=0;do{j=f;f=f+1|0;k=a+((j<<1|1)<<2)|0;c[k>>2]=((c[((j|0)<(b|0)?a+(j<<1<<2)|0:e)>>2]|0)+2+(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)>>2)+(c[k>>2]|0)}while((f|0)!=(d|0));return}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=(c[a+8>>2]|0)-(c[a>>2]|0)|0;g=c[a+16>>2]|0;i=g+-1|0;x=c[a+32>>2]|0;h=c[a+24>>2]|0;f=(i|0)==0;if(f)a=0;else{d=h;e=i;a=0;do{v=d;d=d+136|0;u=(c[v+144>>2]|0)-(c[d>>2]|0)|0;a=a>>>0>>0?u:a;v=(c[v+148>>2]|0)-(c[v+140>>2]|0)|0;a=a>>>0>>0?v:a;e=e+-1|0}while((e|0)!=0);a=a<<2}v=Pc(a)|0;if(!((a|0)==0|(v|0)!=0)){b=0;return b|0}if(!f){t=g+-2|0;u=t;a=h+(i*136|0)|0;t=h+(t*136|0)|0;while(1){q=c[a>>2]|0;s=(c[a+8>>2]|0)-q|0;m=c[a+4>>2]|0;o=(c[a+12>>2]|0)-m|0;p=(c[t+8>>2]|0)-(c[t>>2]|0)|0;a=c[t+12>>2]|0;d=c[t+4>>2]|0;l=a-d|0;q=q&1;m=m&1;n=o-l|0;r=(s|0)>0;a:do{if(r){f=(a|0)==(d|0);i=(o|0)==(l|0);j=v+((m^1)<<2)|0;k=_(l,w)|0;h=v+(m<<2)|0;if((o|0)>0){g=0;while(1){d=x+(g<<2)|0;a=0;do{c[v+(a<<2)>>2]=c[x+((_(a,w)|0)+g<<2)>>2];a=a+1|0}while((a|0)!=(o|0));ab[b&3](v,n,l,m);if(!f){e=l;a=h;while(1){e=e+-1|0;c[d>>2]=c[a>>2];if(!e)break;else{d=d+(w<<2)|0;a=a+8|0}}}if(!i){a=n;d=x+(g+k<<2)|0;e=j;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}}g=g+1|0;if((g|0)==(s|0))break a}}if(f){d=0;while(1){ab[b&3](v,n,l,m);if(!i){a=n;e=x+(d+k<<2)|0;f=j;while(1){a=a+-1|0;c[e>>2]=c[f>>2];if(!a)break;else{e=e+(w<<2)|0;f=f+8|0}}}d=d+1|0;if((d|0)==(s|0))break a}}else f=0;do{ab[b&3](v,n,l,m);a=l;d=x+(f<<2)|0;e=h;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}if(!i){a=n;d=x+(f+k<<2)|0;e=j;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}}f=f+1|0}while((f|0)!=(s|0))}}while(0);g=s-p|0;if((o|0)>0){h=(p|0)>0;i=v+(q<<2)|0;j=(g|0)>0;k=v+((q^1)<<2)|0;l=0;do{f=_(l,w)|0;d=x+(f<<2)|0;if(r){a=0;do{c[v+(a<<2)>>2]=c[x+(a+f<<2)>>2];a=a+1|0}while((a|0)!=(s|0))}ab[b&3](v,g,p,q);if(h){e=0;a=i;while(1){c[d>>2]=c[a>>2];e=e+1|0;if((e|0)==(p|0))break;else{d=d+4|0;a=a+8|0}}}if(j){e=0;a=x+(f+p<<2)|0;d=k;while(1){c[a>>2]=c[d>>2];e=e+1|0;if((e|0)==(g|0))break;else{a=a+4|0;d=d+8|0}}}l=l+1|0}while((l|0)!=(o|0))}if(!u)break;else{a=t;u=u+-1|0;t=t+-136|0}}}Uc(v);b=1;return b|0}function Qg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=c[a+4>>2]|0;k=c[a+8>>2]|0;if(!(c[a+12>>2]|0)){e=(j|0)>0;if(!(e|(k|0)>1))return;if((k|0)>0){b=i+4|0;d=(j<<1)+-1|0;f=0;do{if((f|0)<1)a=b;else a=i+((((f|0)>(j|0)?j:f)<<1)+-1<<2)|0;g=f<<1;h=i+(g<<2)|0;c[h>>2]=(c[h>>2]|0)-((c[a>>2]|0)+2+(c[i+(((f|0)<(j|0)?g|1:d)<<2)>>2]|0)>>2);f=f+1|0}while((f|0)!=(k|0))}if(!e)return;a=i+((k<<1)+-2<<2)|0;b=0;do{g=b<<1;f=b;b=b+1|0;h=i+((g|1)<<2)|0;c[h>>2]=((c[((b|0)<(k|0)?i+(b<<1<<2)|0:a)>>2]|0)+(c[((f|0)<(k|0)?i+(g<<2)|0:a)>>2]|0)>>1)+(c[h>>2]|0)}while((b|0)!=(j|0));return}if((j|0)==1&(k|0)==0){c[i>>2]=(c[i>>2]|0)/2|0;return}if((k|0)>0){a=i+((j<<1)+-2<<2)|0;b=0;do{g=b<<1;f=b;b=b+1|0;h=i+((g|1)<<2)|0;c[h>>2]=(c[h>>2]|0)-((c[((f|0)<(j|0)?i+(g<<2)|0:a)>>2]|0)+2+(c[((b|0)<(j|0)?i+(b<<1<<2)|0:a)>>2]|0)>>2)}while((b|0)!=(k|0))}if((j|0)<=0)return;b=i+4|0;d=(k<<1)+-1|0;e=i+(d<<2)|0;h=0;do{f=h<<1;g=c[i+(((h|0)<(k|0)?f|1:d)<<2)>>2]|0;if((h|0)>=1)if((h|0)>(k|0))a=e;else a=i+(f+-1<<2)|0;else a=b;f=i+(f<<2)|0;c[f>>2]=((c[a>>2]|0)+g>>1)+(c[f>>2]|0);h=h+1|0}while((h|0)!=(j|0));return}function Rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!e){j=(b|0)>0;if(!(j|(d|0)>1))return;if(j){e=a+((d<<1)+-2<<2)|0;f=0;do{m=f;f=f+1|0;l=(c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((m|0)<(d|0)?a+(m<<1<<2)|0:e)>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,12993,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+((m<<1|1)<<2)|0;c[m>>2]=(c[m>>2]|0)-l}while((f|0)!=(b|0))}i=(d|0)>0;if(i){f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;l=(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)+(c[e>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,434,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+(h<<1<<2)|0;c[m>>2]=(c[m>>2]|0)-l;h=h+1|0}while((h|0)!=(d|0))}if(j){e=a+((d<<1)+-2<<2)|0;f=0;do{m=f;f=f+1|0;l=(c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((m|0)<(d|0)?a+(m<<1<<2)|0:e)>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,7233,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+((m<<1|1)<<2)|0;c[m>>2]=l+(c[m>>2]|0)}while((f|0)!=(b|0))}if(i){f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;l=(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)+(c[e>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,3633,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+(h<<1<<2)|0;c[m>>2]=l+(c[m>>2]|0);h=h+1|0}while((h|0)!=(d|0))}if(j){e=0;do{m=a+((e<<1|1)<<2)|0;l=c[m>>2]|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,5038,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;c[m>>2]=l;e=e+1|0}while((e|0)!=(b|0))}if(i)e=0;else return;do{b=a+(e<<1<<2)|0;m=c[b>>2]|0;m=Zi(m|0,((m|0)<0)<<31>>31|0,6659,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;c[b>>2]=m;e=e+1|0}while((e|0)!=(d|0));return}m=(d|0)>0;if(!((b|0)>1|m))return;l=(b|0)>0;if(l){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;e=(c[e>>2]|0)+j|0;e=Zi(e|0,((e|0)<0)<<31>>31|0,12993,0)|0;e=Si(e|0,C|0,4096,0)|0;e=Ti(e|0,C|0,13)|0;j=a+(i<<2)|0;c[j>>2]=(c[j>>2]|0)-e;k=k+1|0}while((k|0)!=(b|0))}if(m){e=a+((b<<1)+-2<<2)|0;f=0;do{k=f;f=f+1|0;j=(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((k|0)<(b|0)?a+(k<<1<<2)|0:e)>>2]|0)|0;j=Zi(j|0,((j|0)<0)<<31>>31|0,434,0)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;k=a+((k<<1|1)<<2)|0;c[k>>2]=(c[k>>2]|0)-j}while((f|0)!=(d|0))}if(l){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;e=(c[e>>2]|0)+j|0;e=Zi(e|0,((e|0)<0)<<31>>31|0,7233,0)|0;e=Si(e|0,C|0,4096,0)|0;e=Ti(e|0,C|0,13)|0;j=a+(i<<2)|0;c[j>>2]=e+(c[j>>2]|0);k=k+1|0}while((k|0)!=(b|0))}if(m){e=a+((b<<1)+-2<<2)|0;f=0;do{k=f;f=f+1|0;j=(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((k|0)<(b|0)?a+(k<<1<<2)|0:e)>>2]|0)|0;j=Zi(j|0,((j|0)<0)<<31>>31|0,3633,0)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;k=a+((k<<1|1)<<2)|0;c[k>>2]=j+(c[k>>2]|0)}while((f|0)!=(d|0))}if(l){e=0;do{l=a+(e<<1<<2)|0;k=c[l>>2]|0;k=Zi(k|0,((k|0)<0)<<31>>31|0,5038,0)|0;k=Si(k|0,C|0,4096,0)|0;k=Ti(k|0,C|0,13)|0;c[l>>2]=k;e=e+1|0}while((e|0)!=(b|0))}if(m)e=0;else return;do{b=a+((e<<1|1)<<2)|0;m=c[b>>2]|0;m=Zi(m|0,((m|0)<0)<<31>>31|0,6659,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;c[b>>2]=m;e=e+1|0}while((e|0)!=(d|0));return}function Sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=c[a>>2]|0;i=c[a+12>>2]|0;q=c[a+8>>2]|0;n=d*3|0;l=1-i|0;k=a+4|0;j=q;a=0;while(1){h=m+(i<<4)|0;if(((j+n|0)<(e|0)?(b&15|0)==0:0)?((h|d)&15|0)==0:0){if((j|0)>0){f=0;do{h=f<<3;c[m+(i<<4)+(h<<2)>>2]=c[b+(f<<2)>>2];g=f+d|0;c[m+(i<<4)+((h|1)<<2)>>2]=c[b+(g<<2)>>2];g=g+d|0;c[m+(i<<4)+((h|2)<<2)>>2]=c[b+(g<<2)>>2];c[m+(i<<4)+((h|3)<<2)>>2]=c[b+(g+d<<2)>>2];f=f+1|0}while((f|0)!=(j|0))}}else r=3;if((r|0)==3?(r=0,(j|0)>0):0){h=0;do{f=h<<3;c[m+(i<<4)+(f<<2)>>2]=c[b+(h<<2)>>2];g=h+d|0;if(((g|0)<(e|0)?(c[m+(i<<4)+((f|1)<<2)>>2]=c[b+(g<<2)>>2],o=g+d|0,(o|0)<(e|0)):0)?(c[m+(i<<4)+((f|2)<<2)>>2]=c[b+(o<<2)>>2],p=o+d|0,(p|0)<(e|0)):0)c[m+(i<<4)+((f|3)<<2)>>2]=c[b+(p<<2)>>2];h=h+1|0}while((h|0)!=(j|0))}a=a+1|0;if((a|0)==2)break;else{b=b+(q<<2)|0;e=e-q|0;i=l;j=c[k>>2]|0}}return}function Tg(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;do{if(!(c[a+12>>2]|0)){d=c[a+8>>2]|0;if((c[a+4>>2]|0)>0){b=c[a>>2]|0;if((d|0)>0){i=0;f=1;j=9;break}else{i=0;h=1;break}}if((d|0)>1){e=0;f=1;j=7}else return}else{d=c[a+8>>2]|0;if((d|0)<=0)if((c[a+4>>2]|0)>1){b=c[a>>2]|0;i=1;h=0;break}else return;else{e=1;f=0;j=7}}}while(0);if((j|0)==7){b=c[a>>2]|0;i=e;j=9}if((j|0)==9){e=0;do{j=e<<3;o=b+(i<<4)+(j<<2)|0;m=b+(i<<4)+((j|1)<<2)|0;n=+g[m>>2];h=b+(i<<4)+((j|2)<<2)|0;l=+g[h>>2];j=b+(i<<4)+((j|3)<<2)|0;k=+g[j>>2];g[o>>2]=+g[o>>2]*1.2301740646362305;g[m>>2]=n*1.2301740646362305;g[h>>2]=l*1.2301740646362305;g[j>>2]=k*1.2301740646362305;e=e+1|0}while((e|0)!=(d|0));h=f}e=c[a+4>>2]|0;if((e|0)>0){f=0;do{o=f<<3;j=b+(h<<4)+(o<<2)|0;a=b+(h<<4)+((o|1)<<2)|0;k=+g[a>>2];m=b+(h<<4)+((o|2)<<2)|0;l=+g[m>>2];o=b+(h<<4)+((o|3)<<2)|0;n=+g[o>>2];g[j>>2]=+g[j>>2]*1.625732421875;g[a>>2]=k*1.625732421875;g[m>>2]=l*1.625732421875;g[o>>2]=n*1.625732421875;f=f+1|0}while((f|0)!=(e|0))}p=b+(h<<4)|0;f=b+(i+1<<4)|0;j=e-i|0;j=(d|0)<(j|0)?d:j;Ug(p,f,d,j,-.4435068666934967);a=b+(i<<4)|0;m=b+(h+1<<4)|0;o=d-h|0;o=(e|0)<(o|0)?e:o;Ug(a,m,e,o,-.8829110860824585);Ug(p,f,d,j,.05298011749982834);Ug(a,m,e,o,1.5861343145370483);return}function Ug(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if((d|0)>0){m=d<<1;l=m+-2|0;h=+g[a>>2];i=+g[a+4>>2];j=+g[a+8>>2];f=+g[a+12>>2];a=b;k=0;while(1){w=a+-16|0;t=a+-12|0;v=+g[t>>2];q=a+-8|0;s=+g[q>>2];n=a+-4|0;p=+g[n>>2];x=h;h=+g[a>>2];u=i;i=+g[a+4>>2];r=j;j=+g[a+8>>2];o=f;f=+g[a+12>>2];g[w>>2]=+g[w>>2]+(x+h)*e;g[t>>2]=v+(u+i)*e;g[q>>2]=s+(r+j)*e;g[n>>2]=p+(o+f)*e;k=k+1|0;if((k|0)==(d|0))break;else a=a+32|0}a=b+(l<<4)|0;b=b+(m<<4)|0}if((d|0)>=(c|0))return;f=e+e;h=f*+g[a>>2];i=f*+g[a+4>>2];j=f*+g[a+8>>2];f=f*+g[a+12>>2];while(1){n=b+-16|0;q=b+-12|0;u=+g[q>>2];t=b+-8|0;v=+g[t>>2];w=b+-4|0;x=+g[w>>2];g[n>>2]=h+ +g[n>>2];g[q>>2]=i+u;g[t>>2]=j+v;g[w>>2]=f+x;d=d+1|0;if((d|0)==(c|0))break;else b=b+32|0}return}function Vg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=d<<2;y=Pc(d<<4)|0;if(!y){a=0;return a|0}z=y+x|0;Qi(y|0,0,x|0)|0;v=d+-1|0;u=(d|0)==0;if(!u){e=0;f=y;while(1){c[f>>2]=e;e=e+1|0;if((e|0)==(d|0))break;else f=f+4|0}}a:do{if(v){q=v;j=0;e=0;r=a;s=1;t=y;while(1){k=r+(j<<2)|0;if(j>>>0>>0){i=j;f=k;h=0}else break;while(1){o=+g[f>>2];o=o>0?o:-o;w=o>h;e=w?i:e;h=w?o:h;i=i+1|0;if((i|0)==(d|0))break;else f=f+(d<<2)|0}if(h==0)break;if((e|0)!=(j|0)){w=e-j|0;p=t+(w<<2)|0;n=c[t>>2]|0;c[t>>2]=c[p>>2];c[p>>2]=n;w=r+((_(w,d)|0)<<2)|0;Ui(z|0,w|0,x|0)|0;Ui(w|0,r|0,x|0)|0;Ui(r|0,z|0,x|0)|0}f=j;p=j+1|0;o=+g[k>>2];if(s>>>0>>0){l=r+(p<<2)|0;n=p+q|0;m=s;i=r+(f+d<<2)|0;while(1){h=+g[i>>2]/o;g[i>>2]=h;f=s;j=i;k=l;while(1){j=j+4|0;g[j>>2]=+g[j>>2]-h*+g[k>>2];f=f+1|0;if((f|0)==(d|0))break;else k=k+4|0}m=m+1|0;if((m|0)==(d|0))break;else i=i+(n<<2)|0}}if(p>>>0>>0){q=q+-1|0;j=p;r=r+(d<<2)|0;s=s+1|0;t=t+4|0}else break a}Uc(y);a=0;return a|0}}while(0);e=d<<1;w=z+(e<<2)|0;if(!u){u=z+(v+d<<2)|0;q=z+(e+v<<2)|0;r=a+((_(d,d)|0)+-1<<2)|0;s=~d;t=0;p=b;while(1){Qi(z|0,0,x|0)|0;g[z+(t<<2)>>2]=1;j=0;k=1;l=y;m=w;n=a;while(1){if(!j)h=0;else{e=1;f=w;i=n;h=0;while(1){h=h+ +g[i>>2]*+g[f>>2];e=e+1|0;if((e|0)==(k|0))break;else{f=f+4|0;i=i+4|0}}}g[m>>2]=+g[z+(c[l>>2]<<2)>>2]-h;j=j+1|0;if((j|0)==(d|0)){j=d;k=u;l=w;m=q;n=r;break}else{k=k+1|0;l=l+4|0;m=m+4|0;n=n+(d<<2)|0}}while(1){e=j;j=j+-1|0;o=+g[n>>2];if(e>>>0>>0){f=l;i=n;h=0;while(1){i=i+4|0;h=h+ +g[i>>2]*+g[f>>2];e=e+1|0;if((e|0)==(d|0))break;else f=f+4|0}}else h=0;l=l+-4|0;g[k>>2]=(+g[m>>2]-h)/o;if(!j){e=0;f=p;break}else{k=k+-4|0;m=m+-4|0;n=n+(s<<2)|0}}while(1){c[f>>2]=c[z+(e+d<<2)>>2];e=e+1|0;if((e|0)==(d|0))break;else f=f+(d<<2)|0}t=t+1|0;if((t|0)==(d|0))break;else p=p+4|0}}Uc(y);a=1;return a|0}function Wg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=Qc(1,44)|0;if(!g){g=0;return g|0}h=hh()|0;c[g>>2]=h;if(!h){ih(0);c[g>>2]=0;h=g+4|0;yh(c[h>>2]|0);c[h>>2]=0;if((c[g+40>>2]|0)==0?(d=g+8|0,b=c[d>>2]|0,(b|0)!=0):0){Sc(b);c[d>>2]=0}b=g+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(g);h=0;return h|0}h=xh()|0;b=g+4|0;c[b>>2]=h;if(h){c[g+40>>2]=a;h=g;return h|0}ih(c[g>>2]|0);c[g>>2]=0;yh(c[b>>2]|0);c[b>>2]=0;if((c[g+40>>2]|0)==0?(e=g+8|0,f=c[e>>2]|0,(f|0)!=0):0){Sc(f);c[e>>2]=0}b=g+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(g);h=0;return h|0}function Xg(a){a=a|0;var b=0,d=0,e=0;if(!a)return;ih(c[a>>2]|0);c[a>>2]=0;e=a+4|0;yh(c[e>>2]|0);c[e>>2]=0;if((c[a+40>>2]|0)==0?(b=a+8|0,d=c[b>>2]|0,(d|0)!=0):0){Sc(d);c[b>>2]=0}b=a+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(a);return}function Yg(a,f,h){a=a|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;ya=(c[f+8>>2]|0)-(c[f>>2]|0)|0;za=f+20|0;i=c[za>>2]|0;if(!i){a=1;return a|0}Aa=f+24|0;Ba=h+808|0;Ca=h+16|0;ta=a+4|0;va=a+8|0;wa=a+16|0;xa=a+20|0;sa=h+20|0;pa=f+32|0;qa=a+32|0;ra=a+12|0;h=i;oa=0;a:while(1){ma=c[Aa>>2]|0;na=ma+(oa*136|0)+24|0;f=c[na>>2]|0;if(f){ja=ma+(oa*136|0)+16|0;ka=ma+(oa*136|0)+20|0;la=oa+-1|0;h=c[ka>>2]|0;i=c[ja>>2]|0;ia=0;do{if(_(h,i)|0){da=ma+(oa*136|0)+28+(ia*36|0)+20|0;ea=ma+(oa*136|0)+28+(ia*36|0)+16|0;fa=ma+(oa*136|0)+28+(ia*36|0)|0;ga=ma+(oa*136|0)+28+(ia*36|0)+4|0;ha=ma+(oa*136|0)+28+(ia*36|0)+32|0;ca=0;do{f=c[da>>2]|0;aa=f+(ca*40|0)+16|0;ba=f+(ca*40|0)+20|0;if(_(c[ba>>2]|0,c[aa>>2]|0)|0){Z=f+(ca*40|0)+24|0;$=0;do{h=c[Z>>2]|0;S=c[ea>>2]|0;j=c[Ba>>2]|0;f=c[Ca>>2]|0;T=c[ta>>2]|0;U=c[a>>2]|0;V=h+($*56|0)+8|0;Y=h+($*56|0)+12|0;if(!(_g(a,(c[h+($*56|0)+16>>2]|0)-(c[V>>2]|0)|0,(c[h+($*56|0)+20>>2]|0)-(c[Y>>2]|0)|0)|0)){h=0;G=201;break a}W=h+($*56|0)+24|0;k=c[W>>2]|0;qh(U);rh(U,18,0,46);rh(U,17,0,3);rh(U,0,0,4);X=h+($*56|0)+48|0;i=c[X>>2]|0;if(i){N=h+($*56|0)+4|0;O=(f&1|0)!=0;P=(f&2|0)==0;Q=(f&8|0)==0;R=S<<8;M=(f&32|0)==0;f=k+j|0;h=2;L=0;do{k=c[N>>2]|0;K=O&(h>>>0<2?(f|0)<=((c[W>>2]|0)+-4|0):0);j=c[k+(L<<5)>>2]|0;if(j){i=(c[j>>2]|0)+(c[k+(L<<5)+4>>2]|0)|0;j=c[k+(L<<5)+16>>2]|0;if(!K){if(!(vh(U,i,j)|0)){h=0;G=201;break a}}else zh(T,i,j);I=k+(L<<5)+12|0;b:do{if(c[I>>2]|0){J=P|K;H=0;while(1){c:do{switch(h|0){case 0:{if(K){w=1<>1|w;j=c[xa>>2]|0;if(!j)break c;v=0-w|0;i=c[wa>>2]|0;u=0;while(1){t=u;u=u+4|0;if(!i)i=0;else{q=(t|0)==-4;r=t|3;s=0;do{d:do{if(!q)if(Q){o=t;do{if(o>>>0>=(c[xa>>2]|0)>>>0)break d;m=o;o=o+1|0;i=(_(c[qa>>2]|0,o)|0)+s|0;j=i+1|0;k=c[ra>>2]|0;l=k+(j<<1)|0;m=(_(c[wa>>2]|0,m)|0)+s|0;m=(c[va>>2]|0)+(m<<2)|0;n=c[ta>>2]|0;G=b[l>>1]|0;if((G&255|0)!=0&(G&20480|0)==0){if(Ah(n)|0){D=Ah(n)|0;c[m>>2]=(D|0)!=0?v:w;F=c[qa>>2]|0;G=k+(j-F<<1)|0;E=k+(F+j<<1)|0;C=k+(j+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=i+2|0;C=k+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=k+(i<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[l>>1]=e[l>>1]|4096;C=k+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=k+(F+i<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=k+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[l>>1]=e[l>>1]|16384}}while(o>>>0>>0)}else{p=t;do{i=c[xa>>2]|0;if(p>>>0>=i>>>0)break d;F=p;p=p+1|0;j=(_(c[qa>>2]|0,p)|0)+s|0;k=j+1|0;l=c[ra>>2]|0;m=l+(k<<1)|0;n=(_(c[wa>>2]|0,F)|0)+s|0;n=(c[va>>2]|0)+(n<<2)|0;o=c[ta>>2]|0;G=b[m>>1]|0;G=(F|0)==(r|0)|(F|0)==(i+-1|0)?G&-1095:G;if((G&255|0)!=0&(G&20480|0)==0){if(Ah(o)|0){D=Ah(o)|0;c[n>>2]=(D|0)!=0?v:w;F=c[qa>>2]|0;G=l+(k-F<<1)|0;E=l+(F+k<<1)|0;C=l+(k+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=j+2|0;C=l+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=l+(j<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[m>>1]=e[m>>1]|4096;C=l+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=l+(F+j<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=l+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[m>>1]=e[m>>1]|16384}}while(p>>>0>>0)}}while(0);s=s+1|0;i=c[wa>>2]|0}while(s>>>0>>0);j=c[xa>>2]|0}if(u>>>0>=j>>>0){G=163;break c}}}if(Q){k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;r=1<>1|r;i=c[xa>>2]|0;j=c[wa>>2]|0;if(i>>>0>3){o=j;n=0;while(1){if(!j){j=o;m=0}else{j=0;do{G=(c[qa>>2]|0)+j|0;$g(a,l+(G<<1)|0,k+(j<<2)|0,S,r);i=(c[wa>>2]|0)+j|0;G=(c[qa>>2]|0)+G|0;$g(a,l+(G<<1)|0,k+(i<<2)|0,S,r);i=(c[wa>>2]|0)+i|0;G=(c[qa>>2]|0)+G|0;$g(a,l+(G<<1)|0,k+(i<<2)|0,S,r);$g(a,l+((c[qa>>2]|0)+G<<1)|0,k+((c[wa>>2]|0)+i<<2)|0,S,r);j=j+1|0;i=c[wa>>2]|0}while(j>>>0>>0);j=i;m=i;i=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=l+(c[qa>>2]<<2<<1)|0;n=n+4|0;if(n>>>0<(i&-4)>>>0){o=j;j=m}else{q=l;p=n;break}}}else{q=l;p=0}if(!j){G=163;break c}else o=0;while(1){if(p>>>0>>0){l=k+(o<<2)|0;m=q+(o<<1)|0;n=p;while(1){m=m+(c[qa>>2]<<1)|0;$g(a,m,l,S,r);j=c[wa>>2]|0;n=n+1|0;i=c[xa>>2]|0;if(n>>>0>=i>>>0)break;else l=l+(j<<2)|0}}o=o+1|0;if(o>>>0>=j>>>0){G=163;break c}}}w=1<>1|w;i=c[xa>>2]|0;if(!i){G=163;break c}x=0-w|0;j=c[wa>>2]|0;l=j;v=0;while(1){u=v;v=v+4|0;do{if(!j){k=l;j=0}else{t=u|3;if((u|0)==-4){k=l;j=l;break}else s=0;do{r=u;do{i=c[xa>>2]|0;if(r>>>0>=i>>>0)break;G=r;r=r+1|0;l=(_(c[qa>>2]|0,r)|0)+s|0;m=l+1|0;n=c[ra>>2]|0;o=n+(m<<1)|0;p=(_(c[wa>>2]|0,G)|0)+s|0;p=(c[va>>2]|0)+(p<<2)|0;q=c[a>>2]|0;j=b[o>>1]|0;i=(G|0)==(t|0)|(G|0)==(i+-1|0)?j&-1095:j;j=i&255;if((j|0)!=0&(i&20480|0)==0){k=q+100|0;c[k>>2]=q+24+(d[20267+(j|R)>>0]<<2);if(wh(q)|0){F=i>>>4&255;c[k>>2]=q+24+(d[21291+F>>0]<<2);G=wh(q)|0;F=d[21547+F>>0]|0;D=F^G;c[p>>2]=(G|0)!=(F|0)?x:w;F=c[qa>>2]|0;G=n+(m-F<<1)|0;E=n+(F+m<<1)|0;C=n+(m+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=l+2|0;C=n+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=n+(l<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[o>>1]=e[o>>1]|4096;C=n+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=n+(F+l<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=n+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[o>>1]=e[o>>1]|16384}}while(r>>>0>>0);s=s+1|0;i=c[wa>>2]|0}while(s>>>0>>0);k=i;j=i;i=c[xa>>2]|0}}while(0);if(v>>>0>=i>>>0){G=163;break}else l=k}break}case 1:{if(K){q=1<>1;r=(f|0)>0?0-q|0:-1;j=c[xa>>2]|0;if(!j)break c;k=c[wa>>2]|0;i=k;p=0;while(1){o=p;p=p+4|0;if(!k){l=i;k=0}else{n=(o|0)==-4;m=0;do{l=m;m=m+1|0;if(!n){k=o;do{if(k>>>0>=(c[xa>>2]|0)>>>0)break;j=k;k=k+1|0;i=(_(c[qa>>2]|0,k)|0)+m|0;i=(c[ra>>2]|0)+(i<<1)|0;j=(_(c[wa>>2]|0,j)|0)+l|0;j=(c[va>>2]|0)+(j<<2)|0;if((b[i>>1]&20480)==4096){F=(Ah(c[ta>>2]|0)|0)!=0;F=F?q:r;G=c[j>>2]|0;c[j>>2]=((G|0)<0?0-F|0:F)+G;b[i>>1]=e[i>>1]|8192}}while(k>>>0

>>0);i=c[wa>>2]|0}}while(m>>>0>>0);l=i;k=i;j=c[xa>>2]|0}if(p>>>0>=j>>>0){G=163;break c}else i=l}}if(!Q){t=1<>1;u=(f|0)>0?0-t|0:-1;i=c[xa>>2]|0;if(!i){G=163;break c}j=c[wa>>2]|0;k=j;s=0;while(1){r=s;s=s+4|0;if(!j)j=0;else{p=(r|0)==-4;q=r|3;i=k;o=0;do{n=o;o=o+1|0;if(!p){l=r;do{i=c[xa>>2]|0;if(l>>>0>=i>>>0)break;F=l;l=l+1|0;j=(_(c[qa>>2]|0,l)|0)+o|0;j=(c[ra>>2]|0)+(j<<1)|0;k=(_(c[wa>>2]|0,F)|0)+n|0;k=(c[va>>2]|0)+(k<<2)|0;m=c[a>>2]|0;G=b[j>>1]|0;i=(F|0)==(q|0)|(F|0)==(i+-1|0)?G&-1095:G;if((i&20480|0)==4096){c[m+100>>2]=m+24+(((i&8192|0)!=0?16:(i&255|0)!=0?15:14)<<2);F=(wh(m)|0)!=0;F=F?t:u;G=c[k>>2]|0;c[k>>2]=((G|0)<0?0-F|0:F)+G;b[j>>1]=e[j>>1]|8192}}while(l>>>0>>0);i=c[wa>>2]|0}}while(o>>>0>>0);k=i;j=i;i=c[xa>>2]|0}if(s>>>0>=i>>>0){G=163;break c}}}k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;v=1<>1;w=(f|0)>0?0-v|0:-1;i=c[xa>>2]|0;j=c[wa>>2]|0;if(i>>>0>3){n=j;t=l;u=0;while(1){if(!j){j=n;m=0}else{i=n;s=0;do{j=k+(s<<2)|0;n=c[qa>>2]|0;p=n+s|0;l=t+(p<<1)|0;o=c[a>>2]|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[o+100>>2]=o+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);n=(wh(o)|0)!=0;n=n?v:w;i=c[j>>2]|0;c[j>>2]=((i|0)<0?0-n|0:n)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}else{j=n;n=o}q=i+s|0;o=k+(q<<2)|0;r=j+p|0;l=t+(r<<1)|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);j=(wh(n)|0)!=0;j=j?v:w;i=c[o>>2]|0;c[o>>2]=((i|0)<0?0-j|0:j)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}p=i+q|0;o=k+(p<<2)|0;q=j+r|0;l=t+(q<<1)|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);j=(wh(n)|0)!=0;j=j?v:w;i=c[o>>2]|0;c[o>>2]=((i|0)<0?0-j|0:j)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}m=k+(i+p<<2)|0;j=t+(j+q<<1)|0;l=b[j>>1]|0;if((l&20480|0)==4096){c[n+100>>2]=n+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);G=(wh(n)|0)!=0;G=G?v:w;i=c[m>>2]|0;c[m>>2]=((i|0)<0?0-G|0:G)+i;b[j>>1]=e[j>>1]|8192;i=c[wa>>2]|0}s=s+1|0}while(s>>>0>>0);j=i;m=i;i=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=t+(c[qa>>2]<<2<<1)|0;o=u+4|0;if(o>>>0<(i&-4)>>>0){n=j;j=m;t=l;u=o}else{s=o;break}}}else s=0;if(!j){G=163;break c}else r=0;do{if(s>>>0>>0){o=k+(r<<2)|0;p=l+(r<<1)|0;q=s;while(1){p=p+(c[qa>>2]<<1)|0;n=c[a>>2]|0;m=b[p>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);i=(wh(n)|0)!=0;i=i?v:w;m=c[o>>2]|0;c[o>>2]=((m|0)<0?0-i|0:i)+m;b[p>>1]=e[p>>1]|8192;m=c[wa>>2]|0;i=c[xa>>2]|0}else m=j;q=q+1|0;if(q>>>0>=i>>>0){j=m;break}else{j=m;o=o+(m<<2)|0}}}r=r+1|0}while(r>>>0>>0);G=163;break}case 2:{E=c[a>>2]|0;F=1<>1|F;do{if(Q){k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;j=c[xa>>2]|0;if(j>>>0>3){w=E+92|0;x=E+100|0;y=E+96|0;z=0-F|0;m=c[wa>>2]|0;i=m;o=0;while(1){if(!m)m=0;else{r=o|1;s=r+1|0;t=o|3;u=r+3|0;v=0;do{i=c[qa>>2]|0;j=v;v=v+1|0;D=(_(i,r)|0)+v|0;G=c[ra>>2]|0;D=b[G+((_(i,s)|0)+v<<1)>>1]|b[G+(D<<1)>>1];D=D|b[G+((_(i,t)|0)+v<<1)>>1];e:do{if(!((D|b[G+((_(i,u)|0)+v<<1)>>1])&20735)){c[x>>2]=w;if(!(wh(E)|0))break;c[x>>2]=y;p=(wh(E)|0)<<1;p=p|(wh(E)|0);if(p>>>0>=4)break;q=k+((_(c[wa>>2]|0,p)|0)+j<<2)|0;j=l+((_(c[qa>>2]|0,p)|0)+j<<1)|0;n=p;while(1){if(n>>>0>=(c[xa>>2]|0)>>>0)break e;i=c[qa>>2]|0;m=j;j=j+(i<<1)|0;if((n|0)==(p|0)){G=c[a>>2]|0;D=(e[j>>1]|0)>>>4&255;c[G+100>>2]=G+24+(d[21291+D>>0]<<2);G=wh(G)|0;D=d[21547+D>>0]|0;B=D^G;c[q>>2]=(G|0)!=(D|0)?z:F;D=c[qa>>2]|0;G=m+(i-D<<1)|0;C=m+(D+i<<1)|0;A=m+(i+~D<<1)|0;b[A>>1]=e[A>>1]|2;b[G>>1]=b[G>>1]|b[3436+(B<<1)>>1];G=i+1|0;A=m+(G-D<<1)|0;b[A>>1]=e[A>>1]|4;A=i+-1|0;i=m+(A<<1)|0;b[i>>1]=b[i>>1]|b[3436+(B+2<<1)>>1];b[j>>1]=e[j>>1]|4096;i=m+(G<<1)|0;b[i>>1]=b[i>>1]|b[3436+(B+4<<1)>>1];A=m+(D+A<<1)|0;b[A>>1]=e[A>>1]|1;b[C>>1]=b[C>>1]|b[3436+(B+6<<1)>>1];G=m+(D+G<<1)|0;b[G>>1]=e[G>>1]|8;b[j>>1]=e[j>>1]&49151}else ah(a,j,q,S,F);n=n+1|0;if(n>>>0>=4)break;else q=q+(c[wa>>2]<<2)|0}}else{D=i+j|0;ah(a,l+(D<<1)|0,k+(j<<2)|0,S,F);G=(c[wa>>2]|0)+j|0;D=(c[qa>>2]|0)+D|0;ah(a,l+(D<<1)|0,k+(G<<2)|0,S,F);G=(c[wa>>2]|0)+G|0;D=(c[qa>>2]|0)+D|0;ah(a,l+(D<<1)|0,k+(G<<2)|0,S,F);ah(a,l+((c[qa>>2]|0)+D<<1)|0,k+((c[wa>>2]|0)+G<<2)|0,S,F)}}while(0);i=c[wa>>2]|0}while(v>>>0>>0);m=i;j=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=l+(c[qa>>2]<<2<<1)|0;o=o+4|0;if(o>>>0>=(j&-4)>>>0){q=k;p=l;break}}}else{i=c[wa>>2]|0;q=k;p=l;o=0}if(!i)break;else n=0;do{if(o>>>0>>0){k=q+(n<<2)|0;l=p+(n<<1)|0;m=o;while(1){l=l+(c[qa>>2]<<1)|0;ah(a,l,k,S,F);i=c[wa>>2]|0;m=m+1|0;j=c[xa>>2]|0;if(m>>>0>=j>>>0)break;else k=k+(i<<2)|0}}n=n+1|0}while(n>>>0>>0)}else{i=c[xa>>2]|0;if(!i)break;A=E+92|0;B=E+100|0;C=E+96|0;D=0-F|0;j=c[wa>>2]|0;z=0;while(1){if(!j){k=z+4|0;j=0}else{v=z|3;w=z|1;x=w+1|0;y=w+3|0;k=z+4|0;u=0;while(1){do{if(v>>>0>>0){i=c[qa>>2]|0;l=u+1|0;t=(_(i,w)|0)+l|0;j=c[ra>>2]|0;if(b[j+(t<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,x)|0)+l<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,v)|0)+l<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,y)|0)+l<<1)>>1]&20665){t=0;i=0;G=127;break}c[B>>2]=A;if(!(wh(E)|0))break;c[B>>2]=C;i=(wh(E)|0)<<1;t=1;i=i|(wh(E)|0);G=127}else{t=0;i=0;G=127}}while(0);if((G|0)==127){G=0;l=i+z|0;f:do{if(l>>>0>>0){s=l;do{i=c[xa>>2]|0;if(s>>>0>=i>>>0)break f;Da=s;s=s+1|0;m=(_(c[qa>>2]|0,s)|0)+u|0;n=m+1|0;o=c[ra>>2]|0;p=o+(n<<1)|0;q=(_(c[wa>>2]|0,Da)|0)+u|0;q=(c[va>>2]|0)+(q<<2)|0;r=c[a>>2]|0;j=b[p>>1]|0;j=(Da|0)==(v|0)|(Da|0)==(i+-1|0)?j&-1095:j;do{if(!(t&(Da|0)==(l|0))){if(j&20480)break;i=r+100|0;c[i>>2]=r+24+(d[20267+(j&255|R)>>0]<<2);if(wh(r)|0)G=133}else{i=r+100|0;G=133}}while(0);if((G|0)==133){G=0;j=j>>>4&255;c[i>>2]=r+24+(d[21291+j>>0]<<2);Da=wh(r)|0;r=d[21547+j>>0]|0;j=r^Da;c[q>>2]=(Da|0)!=(r|0)?D:F;r=c[qa>>2]|0;Da=o+(n-r<<1)|0;q=o+(r+n<<1)|0;n=o+(n+~r<<1)|0;b[n>>1]=e[n>>1]|2;b[Da>>1]=b[Da>>1]|b[3436+(j<<1)>>1];Da=m+2|0;n=o+(Da-r<<1)|0;b[n>>1]=e[n>>1]|4;n=o+(m<<1)|0;b[n>>1]=b[n>>1]|b[3436+(j+2<<1)>>1];b[p>>1]=e[p>>1]|4096;n=o+(Da<<1)|0;b[n>>1]=b[n>>1]|b[3436+(j+4<<1)>>1];n=o+(r+m<<1)|0;b[n>>1]=e[n>>1]|1;b[q>>1]=b[q>>1]|b[3436+(j+6<<1)>>1];Da=o+(r+Da<<1)|0;b[Da>>1]=e[Da>>1]|8}b[p>>1]=e[p>>1]&49151}while(s>>>0>>0)}}while(0);l=u+1|0}j=c[wa>>2]|0;i=c[xa>>2]|0;if(l>>>0>>0)u=l;else break}}if(k>>>0>>0)z=k;else break}}}while(0);if(M){G=163;break c}c[E+100>>2]=E+96;wh(E)|0;wh(E)|0;wh(E)|0;wh(E)|0;G=163;break}default:G=163}}while(0);do{if((G|0)==163){G=0;if(J)break;qh(U);rh(U,18,0,46);rh(U,17,0,3);rh(U,0,0,4)}}while(0);h=h+1|0;Da=(h|0)==3;f=(Da<<31>>31)+f|0;h=Da?0:h;H=H+1|0;if(H>>>0>=(c[I>>2]|0)>>>0)break b}}}while(0);i=c[X>>2]|0}L=L+1|0}while(L>>>0>>0)}h=(c[V>>2]|0)-(c[fa>>2]|0)|0;f=(c[Y>>2]|0)-(c[ga>>2]|0)|0;i=c[ea>>2]|0;if(i&1){Da=c[Aa>>2]|0;h=(c[Da+(la*136|0)+8>>2]|0)+h-(c[Da+(la*136|0)>>2]|0)|0}if(i&2){Da=c[Aa>>2]|0;f=(c[Da+(la*136|0)+12>>2]|0)+f-(c[Da+(la*136|0)+4>>2]|0)|0}p=c[va>>2]|0;q=c[wa>>2]|0;r=c[xa>>2]|0;i=c[Ba>>2]|0;if((i|0)!=0?(ua=1<>2]|0;m=(l|0)>-1?l:0-l|0;if((m|0)>=(ua|0)){Da=m>>c[Ba>>2];c[k>>2]=(l|0)<0?0-Da|0:Da}n=n+1|0}while((n|0)!=(q|0))}o=o+1|0}while((o|0)!=(r|0))}n=(_(f,ya)|0)+h|0;o=c[pa>>2]|0;h=(r|0)==0;if((c[sa>>2]|0)==1){if(!h){h=(q|0)==0;k=0;do{if(!h){f=_(k,q)|0;i=(_(k,ya)|0)+n|0;j=0;do{c[o+(i+j<<2)>>2]=(c[p+(j+f<<2)>>2]|0)/2|0;j=j+1|0}while((j|0)!=(q|0))}k=k+1|0}while((k|0)!=(r|0))}}else if(!h){m=(q|0)==0;h=p;l=0;k=o+(n<<2)|0;while(1){if(!m){f=h;i=0;j=k;while(1){g[j>>2]=+(c[f>>2]|0)*+g[ha>>2];i=i+1|0;if((i|0)==(q|0))break;else{f=f+4|0;j=j+4|0}}h=h+(q<<2)|0}l=l+1|0;if((l|0)==(r|0))break;else k=k+(ya<<2)|0}}$=$+1|0}while($>>>0<(_(c[ba>>2]|0,c[aa>>2]|0)|0)>>>0);h=c[ka>>2]|0;i=c[ja>>2]|0}ca=ca+1|0}while(ca>>>0<(_(h,i)|0)>>>0);f=c[na>>2]|0}ia=ia+1|0}while(ia>>>0>>0);h=c[za>>2]|0}oa=oa+1|0;if(oa>>>0>=h>>>0){h=1;G=201;break}}if((G|0)==201)return h|0;return 0}function Zg(f,i,j,k,l){f=f|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0;Ya=i+32|0;h[Ya>>3]=0;Za=i+16|0;m=c[Za>>2]|0;if(!m){_a=1;return _a|0}Xa=i+20|0;Sa=j+5584|0;Ta=f+16|0;Ua=f+20|0;Va=f+8|0;Wa=f+36|0;Pa=(k|0)!=0;Qa=f+32|0;Ra=f+12|0;i=m;Oa=0;a:while(1){j=c[Xa>>2]|0;m=c[Sa>>2]|0;Ma=(c[j+(Oa*52|0)+8>>2]|0)-(c[j+(Oa*52|0)>>2]|0)|0;Na=j+(Oa*52|0)+16|0;n=c[Na>>2]|0;if(n){La=j+(Oa*52|0)+24|0;Ja=j+(Oa*52|0)+32|0;Ka=m+(Oa*1080|0)+20|0;Ga=m+(Oa*1080|0)+16|0;Ia=Pa&Oa>>>0>>0;Ha=k+(Oa<<3)|0;i=n;Fa=0;do{Da=c[La>>2]|0;Ea=Da+(Fa*136|0)+24|0;j=c[Ea>>2]|0;if(j){za=Da+(Fa*136|0)+16|0;Aa=Da+(Fa*136|0)+20|0;Ba=~Fa;Ca=Fa+-1|0;i=c[Aa>>2]|0;m=c[za>>2]|0;ya=0;do{xa=Da+(Fa*136|0)+28+(ya*36|0)+32|0;if(_(i,m)|0){ra=67108864/(~~+M(+(+g[xa>>2]*8192))|0)|0;sa=Da+(Fa*136|0)+28+(ya*36|0)+20|0;ta=Da+(Fa*136|0)+28+(ya*36|0)|0;ua=Da+(Fa*136|0)+28+(ya*36|0)+4|0;va=Da+(Fa*136|0)+28+(ya*36|0)+16|0;wa=((ra|0)<0)<<31>>31;qa=0;do{j=c[sa>>2]|0;oa=j+(qa*40|0)+16|0;pa=j+(qa*40|0)+20|0;if(_(c[pa>>2]|0,c[oa>>2]|0)|0){ma=j+(qa*40|0)+24|0;na=0;do{la=c[ma>>2]|0;n=c[la+(na*52|0)+12>>2]|0;i=n-(c[ta>>2]|0)|0;o=c[la+(na*52|0)+16>>2]|0;j=o-(c[ua>>2]|0)|0;m=c[va>>2]|0;if(m&1){ka=c[La>>2]|0;i=(c[ka+(Ca*136|0)+8>>2]|0)+i-(c[ka+(Ca*136|0)>>2]|0)|0}if(m&2){ka=c[La>>2]|0;j=(c[ka+(Ca*136|0)+12>>2]|0)+j-(c[ka+(Ca*136|0)+4>>2]|0)|0}if(!(_g(f,(c[la+(na*52|0)+20>>2]|0)-n|0,(c[la+(na*52|0)+24>>2]|0)-o|0)|0)){i=0;_a=173;break a}p=c[Ta>>2]|0;q=c[Ua>>2]|0;r=Ma-p|0;u=(_(j,Ma)|0)+i|0;v=c[Ja>>2]|0;c[Va>>2]=v+(u<<2);c[Wa>>2]=Ma;i=(q|0)==0;if((c[Ka>>2]|0)==1){if(!i){n=(p|0)==0;o=0;i=0;while(1){if(!n){j=0;m=i;while(1){ka=v+(m+u<<2)|0;c[ka>>2]=c[ka>>2]<<6;j=j+1|0;if((j|0)==(p|0))break;else m=m+1|0}i=p+i|0}o=o+1|0;if((o|0)==(q|0))break;else i=i+r|0}}}else if(!i){n=(p|0)==0;o=0;i=0;while(1){if(!n){j=0;m=i;while(1){ka=v+(m+u<<2)|0;ja=c[ka>>2]|0;ja=Zi(ja|0,((ja|0)<0)<<31>>31|0,ra|0,wa|0)|0;ja=Si(ja|0,C|0,4096,0)|0;ja=Ti(ja|0,C|0,18)|0;c[ka>>2]=ja;j=j+1|0;if((j|0)==(p|0))break;else m=m+1|0}i=p+i|0}o=o+1|0;if((o|0)==(q|0))break;else i=i+r|0}}ga=c[va>>2]|0;ha=(c[Na>>2]|0)+Ba|0;r=c[Ka>>2]|0;ia=+g[xa>>2];ja=c[Ga>>2]|0;ka=c[f>>2]|0;n=c[Ta>>2]|0;do{if(!n)i=0;else{o=c[Ua>>2]|0;p=(o|0)==0;q=0;i=0;do{if(!p){j=c[Wa>>2]|0;m=0;do{fa=c[v+(u+((_(m,j)|0)+q)<<2)>>2]|0;fa=(fa|0)>-1?fa:0-fa|0;i=(i|0)>(fa|0)?i:fa;m=m+1|0}while((m|0)!=(o|0))}q=q+1|0}while((q|0)!=(n|0));if(!i){i=0;break}if((i|0)>1){j=i;i=0}else{i=-5;break}while(1){j=j>>1;if((j|0)<=1)break;else i=i+1|0}i=i+-4|0}}while(0);ea=la+(na*52|0)+28|0;c[ea>>2]=i;i=i+-1|0;qh(ka);rh(ka,18,0,46);rh(ka,17,0,3);rh(ka,0,0,4);fa=la+(na*52|0)|0;kh(ka,c[fa>>2]|0);b:do{if((i|0)>-1){ca=la+(na*52|0)+8|0;W=ja&1;da=(W|0)!=0;X=(r|0)==1;Y=(ja&4|0)==0;W=(W|0)==0;Z=(ja&2|0)==0;$=(ja&8|0)==0;aa=ga<<8;ba=(ja&32|0)==0;j=0;T=i;U=0;i=0;V=2;while(1){S=c[ca>>2]|0;I=da&(V>>>0<2?(T|0)<((c[ea>>2]|0)+-4|0):0);c:do{switch(V|0){case 0:{G=1<>2]|0;if(!j){n=0;break c}H=(T|0)==0;o=c[Ta>>2]|0;m=o;n=0;F=0;do{E=F;F=F+4|0;if(!m)m=0;else{B=(E|0)==-4;D=E|3;m=o;A=0;do{if(!B){z=E;do{j=c[Ua>>2]|0;if(z>>>0>=j>>>0)break;do{if($)j=0;else{if((z|0)==(D|0)){j=1;break}j=(z|0)==(j+-1|0)}}while(0);p=z;z=z+1|0;u=(_(c[Qa>>2]|0,z)|0)+A|0;v=u+1|0;w=c[Ra>>2]|0;y=w+(v<<1)|0;p=(_(c[Wa>>2]|0,p)|0)+A|0;p=(c[Va>>2]|0)+(p<<2)|0;x=c[f>>2]|0;q=b[y>>1]|0;q=j?q&-1095:q;j=q&255;if((j|0)!=0&(q&20480|0)==0){m=c[p>>2]|0;m=(((m|0)<0?0-m|0:m)&G|0)!=0;o=m&1;r=x+100|0;c[r>>2]=x+24+(d[20267+(j|aa)>>0]<<2);if(I)oh(x,o);else lh(x,o);if(m){j=c[p>>2]|0;m=j>>>31;j=(j|0)<0?0-j|0:j;if(H)j=3708+((j&127)<<1)|0;else j=3452+((j>>>T&127)<<1)|0;n=(b[j>>1]|0)+n|0;j=q>>>4&255;c[r>>2]=x+24+(d[21291+j>>0]<<2);if(I)oh(x,m);else lh(x,d[21547+j>>0]^m);Q=c[Qa>>2]|0;R=w+(v-Q<<1)|0;P=w+(Q+v<<1)|0;O=w+(v+~Q<<1)|0;b[O>>1]=e[O>>1]|2;b[R>>1]=b[R>>1]|b[3436+(m<<1)>>1];R=u+2|0;O=w+(R-Q<<1)|0;b[O>>1]=e[O>>1]|4;O=w+(u<<1)|0;b[O>>1]=b[O>>1]|b[3436+((m|2)<<1)>>1];b[y>>1]=e[y>>1]|4096;O=w+(R<<1)|0;b[O>>1]=b[O>>1]|b[3436+((m|4)<<1)>>1];O=w+(Q+u<<1)|0;b[O>>1]=e[O>>1]|1;b[P>>1]=b[P>>1]|b[3436+((m|6)<<1)>>1];R=w+(Q+R<<1)|0;b[R>>1]=e[R>>1]|8}b[y>>1]=e[y>>1]|16384}}while(z>>>0>>0);m=c[Ta>>2]|0}A=A+1|0}while(A>>>0>>0);j=c[Ua>>2]|0;o=m}}while(F>>>0>>0);break}case 1:{A=1<>2]|0;if(!j){n=0;break c}B=(T|0)==0;o=c[Ta>>2]|0;m=o;n=0;z=0;do{y=z;z=z+4|0;if(!m)m=0;else{w=(y|0)==-4;x=y|3;m=o;v=0;do{u=v;v=v+1|0;if(!w){r=y;do{j=c[Ua>>2]|0;if(r>>>0>=j>>>0)break;do{if($)j=0;else{if((r|0)==(x|0)){j=1;break}j=(r|0)==(j+-1|0)}}while(0);m=r;r=r+1|0;p=(_(c[Qa>>2]|0,r)|0)+v|0;p=(c[Ra>>2]|0)+(p<<1)|0;q=c[f>>2]|0;o=b[p>>1]|0;o=j?o&-1095:o;if((o&20480|0)==4096){m=c[(c[Va>>2]|0)+((_(c[Wa>>2]|0,m)|0)+u<<2)>>2]|0;m=(m|0)<0?0-m|0:m;if(B)j=4220+((m&127)<<1)|0;else j=3964+((m>>>T&127)<<1)|0;n=(b[j>>1]|0)+n|0;j=(m&A|0)!=0&1;c[q+100>>2]=q+24+(((o&8192|0)!=0?16:(o&255|0)!=0?15:14)<<2);if(I)oh(q,j);else lh(q,j);b[p>>1]=e[p>>1]|8192}}while(r>>>0>>0);m=c[Ta>>2]|0}}while(v>>>0>>0);j=c[Ua>>2]|0;o=m}}while(z>>>0>>0);break}case 2:{L=c[f>>2]|0;N=1<>2]|0;if(!m)j=0;else{O=L+92|0;P=L+100|0;Q=L+96|0;R=(T|0)==0;n=c[Ta>>2]|0;j=0;K=0;while(1){if(!n){o=K+4|0;n=0}else{D=K|3;E=K|1;F=E+1|0;G=E+3|0;o=K+4|0;H=K+1|0;I=K+2|0;J=K+3|0;B=0;while(1){do{if(D>>>0>>0){m=c[Qa>>2]|0;q=B+1|0;p=(_(m,E)|0)+q|0;n=c[Ra>>2]|0;p=b[n+(p<<1)>>1]|0;if($){A=b[n+((_(m,F)|0)+q<<1)>>1]|p;A=A|b[n+((_(m,D)|0)+q<<1)>>1];m=((A|b[n+((_(m,G)|0)+q<<1)>>1])&20735)==0&1}else{do{if(!(p&20735)){if(b[n+((_(m,F)|0)+q<<1)>>1]&20735){m=1;break}if(b[n+((_(m,D)|0)+q<<1)>>1]&20735){m=1;break}m=(b[n+((_(m,G)|0)+q<<1)>>1]&20665)!=0}else m=1}while(0);m=m&1^1}if(!m){A=0;m=0;_a=109;break}m=c[Wa>>2]|0;n=c[Va>>2]|0;A=c[n+((_(m,K)|0)+B<<2)>>2]|0;do{if(!(((A|0)<0?0-A|0:A)&N)){A=c[n+((_(m,H)|0)+B<<2)>>2]|0;if(((A|0)<0?0-A|0:A)&N){m=1;break}A=c[n+((_(m,I)|0)+B<<2)>>2]|0;if(((A|0)<0?0-A|0:A)&N){m=2;break}m=c[n+((_(m,J)|0)+B<<2)>>2]|0;m=(((m|0)<0?0-m|0:m)&N|0)==0?4:3}else m=0}while(0);c[P>>2]=O;lh(L,(m|0)!=4&1);if((m|0)==4){p=q;break}c[P>>2]=Q;lh(L,m>>>1);lh(L,m&1);A=1;_a=109}else{A=0;m=0;_a=109}}while(0);if((_a|0)==109){_a=0;z=m+K|0;d:do{if(z>>>0>>0){y=z;do{m=c[Ua>>2]|0;if(y>>>0>=m>>>0)break d;do{if($)m=0;else{if((y|0)==(D|0)){m=1;break}m=(y|0)==(m+-1|0)}}while(0);$a=y;y=y+1|0;r=(_(c[Qa>>2]|0,y)|0)+B|0;u=r+1|0;v=c[Ra>>2]|0;x=v+(u<<1)|0;n=(_(c[Wa>>2]|0,$a)|0)+B|0;n=(c[Va>>2]|0)+(n<<2)|0;w=c[f>>2]|0;p=b[x>>1]|0;q=m?p&-1095:p;do{if(!(A&($a|0)==(z|0))){if(p&20480)break;c[w+100>>2]=w+24+(d[20267+(q&255|aa)>>0]<<2);$a=c[n>>2]|0;$a=((($a|0)<0?0-$a|0:$a)&N|0)!=0;lh(w,$a&1);if($a)_a=117}else _a=117}while(0);if((_a|0)==117){_a=0;n=c[n>>2]|0;m=(n|0)<0?0-n|0:n;if(R)m=3708+((m&127)<<1)|0;else m=3452+((m>>>T&127)<<1)|0;j=(b[m>>1]|0)+j|0;$a=q>>>4&255;c[w+100>>2]=w+24+(d[21291+$a>>0]<<2);p=n>>>31;lh(w,d[21547+$a>>0]^p);w=c[Qa>>2]|0;$a=v+(u-w<<1)|0;q=v+(w+u<<1)|0;u=v+(u+~w<<1)|0;b[u>>1]=e[u>>1]|2;b[$a>>1]=b[$a>>1]|b[3436+(p<<1)>>1];$a=r+2|0;u=v+($a-w<<1)|0;b[u>>1]=e[u>>1]|4;u=v+(r<<1)|0;b[u>>1]=b[u>>1]|b[3436+((p|2)<<1)>>1];b[x>>1]=e[x>>1]|4096;u=v+($a<<1)|0;b[u>>1]=b[u>>1]|b[3436+((p|4)<<1)>>1];u=v+(w+r<<1)|0;b[u>>1]=e[u>>1]|1;b[q>>1]=b[q>>1]|b[3436+((p|6)<<1)>>1];$a=v+(w+$a<<1)|0;b[$a>>1]=e[$a>>1]|8}b[x>>1]=e[x>>1]&49151}while(y>>>0>>0)}}while(0);p=B+1|0}n=c[Ta>>2]|0;m=c[Ua>>2]|0;if(p>>>0>>0)B=p;else break}}if(o>>>0>>0)K=o;else break}}if(ba){n=j;break c}uh(ka);n=j;break}default:n=j}}while(0);if(Ia)s=+h[Ha>>3];else s=1;if(X)t=+Ig(ha,ga);else t=+Lg(ha,ga);t=+(1<>3]=+h[Ya>>3]+t;do{if(Y)_a=137;else{if((T|0)<1&(V|0)==2){_a=137;break}mh(ka);m=S+(i*24|0)+20|0;j=a[m>>0]|1;a[m>>0]=j;m=1}}while(0);do{if((_a|0)==137){j=(c[ea>>2]|0)+-4|0;if((V|0)!=0&(T|0)<(j|0))if(W)_a=141;else _a=140;else if(W|((V|0)!=2|(T|0)!=(j|0)))_a=141;else _a=140;if((_a|0)==140){_a=0;mh(ka);m=S+(i*24|0)+20|0;j=a[m>>0]|1;a[m>>0]=j;m=1;break}else if((_a|0)==141){_a=0;m=S+(i*24|0)+20|0;j=a[m>>0]&-2;a[m>>0]=j;m=3;break}}}while(0);R=V+1|0;$a=(R|0)==3;V=$a?0:R;T=($a<<31>>31)+T|0;do{if((T|0)>0&(j&1)!=0)if(da&(V>>>0<2?(T|0)<((c[ea>>2]|0)+-4|0):0)){nh(ka);break}else{sh(ka);break}}while(0);h[S+(i*24|0)+8>>3]=U;c[S+(i*24|0)>>2]=(jh(ka)|0)+m;if(!Z)ph(ka);i=i+1|0;if((T|0)<=-1)break b;else j=n}}else i=0}while(0);do{if(!(ja&16)){if(ja&1)break;mh(ka)}else th(ka)}while(0);q=la+(na*52|0)+48|0;c[q>>2]=i;if(i){n=la+(na*52|0)+8|0;p=0;do{o=c[n>>2]|0;j=o+(p*24|0)|0;$a=c[j>>2]|0;if($a>>>0>(jh(ka)|0)>>>0){i=jh(ka)|0;c[j>>2]=i}else i=c[j>>2]|0;do{if(i>>>0>1){m=i+-1|0;if((a[(c[fa>>2]|0)+m>>0]|0)!=-1)break;c[j>>2]=m;i=m}}while(0);if(!p)j=0;else j=c[(c[n>>2]|0)+((p+-1|0)*24|0)>>2]|0;c[o+(p*24|0)+16>>2]=i-j;p=p+1|0}while(p>>>0<(c[q>>2]|0)>>>0)}na=na+1|0}while(na>>>0<(_(c[pa>>2]|0,c[oa>>2]|0)|0)>>>0);i=c[Aa>>2]|0;m=c[za>>2]|0}qa=qa+1|0}while(qa>>>0<(_(i,m)|0)>>>0);j=c[Ea>>2]|0}ya=ya+1|0}while(ya>>>0>>0);i=c[Na>>2]|0}Fa=Fa+1|0}while(Fa>>>0>>0);i=c[Za>>2]|0}Oa=Oa+1|0;if(Oa>>>0>=i>>>0){i=1;_a=173;break}}if((_a|0)==173)return i|0;return 0}function _g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=_(d,b)|0;if(!(c[a+40>>2]|0)){h=a+24|0;i=a+8|0;e=c[i>>2]|0;do{if(g>>>0>(c[h>>2]|0)>>>0){Sc(e);f=g<<2;e=Rc(f)|0;c[i>>2]=e;if(!e){b=0;return b|0}else{c[h>>2]=g;break}}else f=g<<2}while(0);Qi(e|0,0,f|0)|0}g=b+2|0;c[a+32>>2]=g;g=_(d+2|0,g)|0;h=a+28|0;i=a+12|0;e=c[i>>2]|0;do{if(g>>>0>(c[h>>2]|0)>>>0){Sc(e);f=g<<1;e=Rc(f)|0;c[i>>2]=e;if(!e){b=0;return b|0}else{c[h>>2]=g;break}}else f=g<<1}while(0);Qi(e|0,0,f|0)|0;c[a+16>>2]=b;c[a+20>>2]=d;b=1;return b|0}function $g(a,f,g,h,i){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=c[a>>2]|0;l=b[f>>1]|0;m=l&255;if(!((m|0)!=0&(l&20480|0)==0))return;k=j+100|0;c[k>>2]=j+24+(d[20267+(m|h<<8)>>0]<<2);if(wh(j)|0){h=l>>>4&255;c[k>>2]=j+24+(d[21291+h>>0]<<2);l=wh(j)|0;h=d[21547+h>>0]|0;m=h^l;c[g>>2]=(l|0)!=(h|0)?0-i|0:i;a=c[a+32>>2]|0;i=f+(0-a<<1)|0;h=f+(a<<1)|0;g=f+(~a<<1)|0;b[g>>1]=e[g>>1]|2;b[i>>1]=b[i>>1]|b[3436+(m<<1)>>1];i=f+(1-a<<1)|0;b[i>>1]=e[i>>1]|4;i=f+-2|0;b[i>>1]=b[i>>1]|b[3436+(m+2<<1)>>1];b[f>>1]=e[f>>1]|4096;i=f+2|0;b[i>>1]=b[i>>1]|b[3436+(m+4<<1)>>1];i=f+(a+-1<<1)|0;b[i>>1]=e[i>>1]|1;b[h>>1]=b[h>>1]|b[3436+(m+6<<1)>>1];a=f+(a+1<<1)|0;b[a>>1]=e[a>>1]|8}b[f>>1]=e[f>>1]|16384;return}function ah(a,f,g,h,i){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=c[a>>2]|0;l=b[f>>1]|0;if(l&20480){a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}k=j+100|0;c[k>>2]=j+24+(d[20267+(l&255|h<<8)>>0]<<2);if(!(wh(j)|0)){a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}h=l>>>4&255;c[k>>2]=j+24+(d[21291+h>>0]<<2);k=wh(j)|0;h=d[21547+h>>0]|0;l=h^k;c[g>>2]=(k|0)!=(h|0)?0-i|0:i;a=c[a+32>>2]|0;i=f+(0-a<<1)|0;h=f+(a<<1)|0;g=f+(~a<<1)|0;b[g>>1]=e[g>>1]|2;b[i>>1]=b[i>>1]|b[3436+(l<<1)>>1];i=f+(1-a<<1)|0;b[i>>1]=e[i>>1]|4;i=f+-2|0;b[i>>1]=b[i>>1]|b[3436+(l+2<<1)>>1];b[f>>1]=e[f>>1]|4096;i=f+2|0;b[i>>1]=b[i>>1]|b[3436+(l+4<<1)>>1];i=f+(a+-1<<1)|0;b[i>>1]=e[i>>1]|1;b[h>>1]=b[h>>1]|b[3436+(l+6<<1)>>1];a=f+(a+1<<1)|0;b[a>>1]=e[a>>1]|8;a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}function bh(a,e,f,g,h,j,k,l,m,n,o,p){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+16|0;H=I;c[H>>2]=0;q=c[a>>2]|0;D=c[a+4>>2]|0;a=c[D+76>>2]|0;F=a+(e*5640|0)|0;s=(b[D>>1]|0)==4?2:1;t=D+80|0;if(!(c[t>>2]|0))r=1;else r=c[q+16>>2]|0;G=(c[a+(e*5640|0)+420>>2]|0)+1|0;E=Lf(q,D,e,p)|0;if(!E){e=0;i=I;return e|0}c[j>>2]=0;a:do{if(!p){if(r){a=0;b:while(1){p=0;o=E;q=0;while(1){Mf(E,D,e,q,a,n,0);if((c[o+80>>2]|0)==-1){a=9;break b}m=o+36|0;c:while(1){do{if(!(Of(o)|0))break c}while((c[m>>2]|0)>>>0>=g>>>0);c[H>>2]=0;if(!(fh(e,f,F,o,h,H,k,l)|0)){a=13;break b}B=c[H>>2]|0;c[j>>2]=(c[j>>2]|0)+B;k=k-B|0;p=B+p|0;h=h+B|0}B=c[t>>2]|0;if((B|0)!=0&p>>>0>B>>>0){a=17;break b}q=q+1|0;if(q>>>0>>0)o=o+232|0;else break}a=a+1|0;if(a>>>0>=r>>>0)break a}if((a|0)==9){Kf(E,G);e=0;i=I;return e|0}else if((a|0)==13){Kf(E,G);e=0;i=I;return e|0}else if((a|0)==17){Kf(E,G);e=0;i=I;return e|0}}}else{Mf(E,D,e,o,m,n,p);z=E+(o*232|0)|0;if((c[E+(o*232|0)+80>>2]|0)==-1){Kf(E,G);e=0;i=I;return e|0}n=E+(o*232|0)+36|0;u=(l|0)==0;v=f+840|0;w=l+12|0;x=l+8|0;y=l+88|0;t=D+93|0;s=a+(e*5640|0)+5636|0;while(1){do{if(!(Of(z)|0))break a}while((c[n>>2]|0)>>>0>=g>>>0);c[H>>2]=0;if(!(fh(e,f,F,z,h,H,k,l)|0))break;r=c[H>>2]|0;h=h+r|0;k=k-r|0;c[j>>2]=(c[j>>2]|0)+r;if(!u){if(!(c[w>>2]|0))a=c[x>>2]|0;else{q=c[y>>2]|0;a=c[x>>2]|0;o=c[q+(e*592|0)+548>>2]|0;p=o+(a<<5)|0;if(!a){m=(c[q+(e*592|0)+12>>2]|0)+1|0;q=((m|0)<0)<<31>>31;D=p;c[D>>2]=m;c[D+4>>2]=q}else{if((((d[s>>0]|0)>>>2|(d[t>>0]|0)>>>3)&1)!=0?(B=p,A=c[B>>2]|0,B=c[B+4>>2]|0,!((A|0)==0&(B|0)==0)):0){m=A;q=B}else{m=o+(a+-1<<5)+16|0;m=Si(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;q=C}D=p;c[D>>2]=m;c[D+4>>2]=q}p=Si(m|0,q|0,-1,-1)|0;m=C;r=Si(p|0,m|0,r|0,0)|0;D=o+(a<<5)+16|0;c[D>>2]=r;c[D+4>>2]=C;D=o+(a<<5)+8|0;r=D;r=Si(p|0,m|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[D>>2]=r;c[D+4>>2]=C}c[x>>2]=a+1}c[v>>2]=(c[v>>2]|0)+1}Kf(E,G);e=0;i=I;return e|0}}while(0);Kf(E,G);e=1;i=I;return e|0}function ch(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0;$=i;i=i+112|0;W=$+64|0;X=$+32|0;S=$;R=$+96|0;Q=$+92|0;k=c[a>>2]|0;M=a+4|0;Z=c[M>>2]|0;h=c[Z+76>>2]|0;O=h+(b*5640|0)|0;P=h+(b*5640|0)+420|0;Y=(c[P>>2]|0)+1|0;Z=Jf(k,Z,b)|0;if(!Z){aa=0;i=$;return aa|0}N=k+16|0;L=h+(b*5640|0)+12|0;K=d+20|0;J=k+24|0;b=g;a=e;H=Z;I=0;a:while(1){if((c[H+80>>2]|0)==-1){aa=4;break}h=Pc(c[N>>2]<<2)|0;if(!h){aa=6;break}Qi(h|0,1,c[N>>2]<<2|0)|0;if(Of(H)|0){g=H+24|0;d=H+28|0;G=H+36|0;k=H+32|0;F=b;E=a;while(1){if((c[L>>2]|0)>>>0>(c[G>>2]|0)>>>0){b=c[g>>2]|0;a=c[K>>2]|0;if((c[d>>2]|0)>>>0<(c[a+(b*52|0)+20>>2]|0)>>>0){c[h+(b<<2)>>2]=0;D=c[M>>2]|0;c[Q>>2]=0;if(!(gh(D,a,O,H,R,E,Q,F,j)|0)){aa=45;break a}C=c[Q>>2]|0;if(!(c[R>>2]|0))a=C;else{B=F-C|0;z=E+C|0;c[Q>>2]=0;b=c[d>>2]|0;l=c[(c[K>>2]|0)+((c[g>>2]|0)*52|0)+24>>2]|0;x=l+(b*136|0)+24|0;a=c[x>>2]|0;b:do{if(!a){a=z;aa=43}else{y=E+F|0;m=a;D=0;w=l+(b*136|0)+28|0;l=z;c:while(1){a=c[k>>2]|0;b=c[w+20>>2]|0;if(((c[w+8>>2]|0)!=(c[w>>2]|0)?(c[w+12>>2]|0)!=(c[w+4>>2]|0):0)?(V=_(c[b+(a*40|0)+20>>2]|0,c[b+(a*40|0)+16>>2]|0)|0,(V|0)!=0):0){A=0;a=c[b+(a*40|0)+24>>2]|0;p=l;while(1){u=a+40|0;if(!(c[u>>2]|0))b=p;else{v=a+44|0;b=c[v>>2]|0;do{if(!b){o=c[a+4>>2]|0;c[v>>2]=1;c[a+36>>2]=0}else{l=b+-1|0;m=c[a+4>>2]|0;if((c[m+(l<<5)+8>>2]|0)!=(c[m+(l<<5)+20>>2]|0)){o=m+(l<<5)|0;break}c[v>>2]=b+1;o=m+(b<<5)|0}}while(0);t=a+36|0;b=a+32|0;s=p;n=o+28|0;l=c[n>>2]|0;if((l+s|0)>>>0>>0|(p+l|0)>>>0>y>>>0){b=D;a=A;break c}m=c[t>>2]|0;s=p;r=o;while(1){o=l+m|0;if(o>>>0>>0){b=D;a=A;aa=29;break a}p=c[a>>2]|0;if(o>>>0>(c[b>>2]|0)>>>0){l=Tc(p,o)|0;if(!l){aa=32;break a}m=c[t>>2]|0;q=c[n>>2]|0;c[b>>2]=q+m;c[a>>2]=l;p=l;l=q}Ui(p+m|0,s|0,l|0)|0;l=r+8|0;m=c[l>>2]|0;if(!m){c[r>>2]=a;o=c[t>>2]|0;c[r+4>>2]=o}else o=c[t>>2]|0;p=c[n>>2]|0;q=s;s=s+p|0;n=c[r+24>>2]|0;m=n+m|0;c[l>>2]=m;l=c[u>>2]|0;c[u>>2]=l-n;c[r+12>>2]=m;m=p+o|0;c[t>>2]=m;o=r+16|0;c[o>>2]=(c[o>>2]|0)+p;if((l|0)==(n|0)){b=s;break}c[v>>2]=(c[v>>2]|0)+1;o=s;n=r+60|0;l=c[n>>2]|0;if((l+o|0)>>>0>>0?1:(q+(l+p)|0)>>>0>y>>>0){b=D;a=A;break c}else r=r+32|0}c[a+48>>2]=c[v>>2]}A=A+1|0;if(A>>>0>=V>>>0){a=b;break}else{a=a+56|0;p=b}}b=c[x>>2]|0}else{b=m;a=l}D=D+1|0;if(D>>>0>=b>>>0){aa=43;break b}else{m=b;w=w+36|0;l=a}}z=c[k>>2]|0;A=c[d>>2]|0;D=c[g>>2]|0;c[S>>2]=l;c[S+4>>2]=B;c[S+8>>2]=a;c[S+12>>2]=z;c[S+16>>2]=b;c[S+20>>2]=A;c[S+24>>2]=D;Ub(j,2,21803,S)|0;a=c[Q>>2]|0}}while(0);if((aa|0)==43){aa=0;a=a-z|0;c[Q>>2]=a}a=a+C|0}l=c[g>>2]|0;C=c[d>>2]|0;b=(c[J>>2]|0)+(l*52|0)+36|0;D=c[b>>2]|0;c[b>>2]=C>>>0>D>>>0?C:D;b=a}else aa=47}else{a=c[K>>2]|0;aa=47}if((aa|0)==47){aa=0;D=c[M>>2]|0;c[Q>>2]=0;if(!(gh(D,a,O,H,R,E,Q,F,j)|0)){aa=69;break a}u=c[Q>>2]|0;if(!(c[R>>2]|0))a=u;else{l=F-u|0;w=c[d>>2]|0;x=c[g>>2]|0;a=c[(c[K>>2]|0)+(x*52|0)+24>>2]|0;c[Q>>2]=0;t=c[a+(w*136|0)+24>>2]|0;if(!t)a=0;else{v=c[k>>2]|0;b=0;s=a+(w*136|0)+28|0;while(1){m=c[s+20>>2]|0;if(((c[s+8>>2]|0)!=(c[s>>2]|0)?(c[s+12>>2]|0)!=(c[s+4>>2]|0):0)?(T=_(c[m+(v*40|0)+20>>2]|0,c[m+(v*40|0)+16>>2]|0)|0,(T|0)!=0):0){a=0;r=c[m+(v*40|0)+24>>2]|0;while(1){p=r+40|0;d:do{if(c[p>>2]|0){q=r+44|0;m=c[q>>2]|0;do{if(!m){o=c[r+4>>2]|0;c[q>>2]=1;c[r+36>>2]=0}else{n=m+-1|0;o=c[r+4>>2]|0;if((c[o+(n<<5)+8>>2]|0)!=(c[o+(n<<5)+20>>2]|0)){o=o+(n<<5)|0;break}c[q>>2]=m+1;o=o+(m<<5)|0}}while(0);D=c[Q>>2]|0;m=c[o+28>>2]|0;n=m+D|0;if(n>>>0>>0|n>>>0>l>>>0){g=v;d=w;k=x;aa=65;break a}while(1){c[Q>>2]=n;D=c[o+24>>2]|0;C=o+8|0;c[C>>2]=(c[C>>2]|0)+D;C=c[p>>2]|0;c[p>>2]=C-D;if((C|0)==(D|0))break d;c[q>>2]=(c[q>>2]|0)+1;D=c[Q>>2]|0;m=c[o+60>>2]|0;n=m+D|0;if(n>>>0>>0|n>>>0>l>>>0){g=v;d=w;k=x;aa=65;break a}else o=o+32|0}}}while(0);a=a+1|0;if(a>>>0>=T>>>0)break;else r=r+56|0}}b=b+1|0;if(b>>>0>=t>>>0)break;else s=s+36|0}a=c[Q>>2]|0}a=a+u|0}l=c[g>>2]|0;b=a}if((c[h+(l<<2)>>2]|0)!=0?(U=(c[J>>2]|0)+(l*52|0)+36|0,(c[U>>2]|0)==0):0)c[U>>2]=(c[(c[K>>2]|0)+(l*52|0)+20>>2]|0)+-1;a=E+b|0;b=F-b|0;if(!(Of(H)|0))break;else{F=b;E=a}}}Uc(h);I=I+1|0;if(I>>>0>(c[P>>2]|0)>>>0){h=a;aa=75;break}else H=H+232|0}if((aa|0)==4){Kf(Z,Y);aa=0;i=$;return aa|0}else if((aa|0)==6){Kf(Z,Y);aa=0;i=$;return aa|0}else if((aa|0)==29){f=c[k>>2]|0;e=c[d>>2]|0;W=c[g>>2]|0;c[X>>2]=l;c[X+4>>2]=m;c[X+8>>2]=~l;c[X+12>>2]=a;c[X+16>>2]=f;c[X+20>>2]=b;c[X+24>>2]=e;c[X+28>>2]=W;Ub(j,1,21888,X)|0;aa=45}else if((aa|0)==32){Uc(c[a>>2]|0);c[a>>2]=0;c[b>>2]=0;aa=45}else if((aa|0)==65){c[W>>2]=m;c[W+4>>2]=l;c[W+8>>2]=a;c[W+12>>2]=g;c[W+16>>2]=b;c[W+20>>2]=d;c[W+24>>2]=k;Ub(j,1,21987,W)|0;aa=69}else if((aa|0)==75){Kf(Z,Y);c[f>>2]=h-e;aa=1;i=$;return aa|0}if((aa|0)==45){Kf(Z,Y);Uc(h);aa=0;i=$;return aa|0}else if((aa|0)==69){Kf(Z,Y);Uc(h);aa=0;i=$;return aa|0}return 0}function dh(a,b){a=a|0;b=b|0;var d=0;d=Qc(1,8)|0;if(!d){a=0;return a|0}c[d>>2]=a;c[d+4>>2]=b;a=d;return a|0}function eh(a){a=a|0;if(!a)return;Uc(a);return}function fh(b,d,e,f,g,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;s=c[f+28>>2]|0;J=c[f+32>>2]|0;K=c[f+36>>2]|0;r=c[(c[d+20>>2]|0)+((c[f+24>>2]|0)*52|0)+24>>2]|0;if(!(c[e>>2]&2))G=g;else{a[g>>0]=-1;a[g+1>>0]=-111;a[g+2>>0]=0;a[g+3>>0]=4;G=d+840|0;a[g+4>>0]=(c[G>>2]|0)>>>8;a[g+5>>0]=c[G>>2];j=j+-6|0;G=g+6|0}if((K|0)==0?(q=r+(s*136|0)+24|0,(c[q>>2]|0)!=0):0){o=r+(s*136|0)+28|0;p=0;while(1){f=c[o+20>>2]|0;kg(c[f+(J*40|0)+32>>2]|0);m=f+(J*40|0)+36|0;kg(c[m>>2]|0);n=_(c[f+(J*40|0)+20>>2]|0,c[f+(J*40|0)+16>>2]|0)|0;if(n){f=f+(J*40|0)+24|0;d=o+28|0;l=0;do{H=c[f>>2]|0;c[H+(l*52|0)+40>>2]=0;ng(c[m>>2]|0,l,(c[d>>2]|0)-(c[H+(l*52|0)+28>>2]|0)|0);l=l+1|0}while((l|0)!=(n|0))}p=p+1|0;if(p>>>0>=(c[q>>2]|0)>>>0)break;else o=o+36|0}}E=wg()|0;if(!E){i=0;return i|0}zg(E,G,j);Bg(E,1,1);F=r+(s*136|0)+28|0;H=r+(s*136|0)+24|0;if(c[H>>2]|0){A=K+1|0;C=F;D=0;while(1){n=c[C+20>>2]|0;B=_(c[n+(J*40|0)+20>>2]|0,c[n+(J*40|0)+16>>2]|0)|0;o=n+(J*40|0)+24|0;f=(B|0)==0;if(!f){d=n+(J*40|0)+32|0;l=c[o>>2]|0;m=0;while(1){if((c[l+40>>2]|0)==0?(c[(c[l+4>>2]|0)+(K*24|0)>>2]|0)!=0:0)ng(c[d>>2]|0,m,K);m=m+1|0;if((m|0)==(B|0))break;else l=l+52|0}if(!f){z=n+(J*40|0)+32|0;y=n+(J*40|0)+36|0;w=c[o>>2]|0;x=0;while(1){f=(c[w+4>>2]|0)+(K*24|0)|0;v=w+40|0;if(!(c[v>>2]|0))og(E,c[z>>2]|0,x,A);else Bg(E,(c[f>>2]|0)!=0&1,1);d=c[f>>2]|0;if(d){if(!(c[v>>2]|0)){c[w+32>>2]=3;og(E,c[y>>2]|0,x,999);d=c[f>>2]|0}a:do{switch(d|0){case 1:{Bg(E,0,1);break}case 2:{Bg(E,2,2);break}default:{if(d>>>0<6){Bg(E,d+-3|12,4);break a}if(d>>>0<37){Bg(E,d+-6|480,9);break a}if(d>>>0<165)Bg(E,d+-37|65408,16)}}}while(0);o=c[v>>2]|0;d=c[f>>2]|0;u=d+o|0;t=w+8|0;if(o>>>0>>0){s=w+32|0;q=o+-1+d|0;m=0;n=0;l=0;r=(c[t>>2]|0)+(o*24|0)|0;while(1){l=l+1|0;n=(c[r+16>>2]|0)+n|0;if((a[r+20>>0]&1)!=0|(o|0)==(q|0)){if((n|0)>1){d=0;do{n=n>>1;d=d+1|0}while((n|0)>1)}else d=0;p=c[s>>2]|0;if((l|0)>1){n=0;do{l=l>>1;n=n+1|0}while((l|0)>1);l=n}else l=0;n=d+1-p-l|0;m=(m|0)>(n|0)?m:n;n=0;l=0}o=o+1|0;if((o|0)==(u|0))break;else r=r+24|0}if((m|0)>0){d=m;while(1){Bg(E,1,1);if((d|0)>1)d=d+-1|0;else{d=n;break}}}else d=n}else{m=0;d=0;l=0}Bg(E,0,1);q=w+32|0;c[q>>2]=(c[q>>2]|0)+m;m=c[v>>2]|0;if(m>>>0>>0){p=(c[t>>2]|0)+(m*24|0)|0;while(1){l=l+1|0;n=(c[p+16>>2]|0)+d|0;if((a[p+20>>0]&1)==0?(m|0)!=((c[v>>2]|0)+-1+(c[f>>2]|0)|0):0)d=n;else{o=c[q>>2]|0;if((l|0)>1){d=0;do{l=l>>1;d=d+1|0}while((l|0)>1)}else d=0;Bg(E,n,d+o|0);d=0;l=0}m=m+1|0;if((m|0)==(u|0))break;else p=p+24|0}}}x=x+1|0;if((x|0)==(B|0))break;else w=w+52|0}}}D=D+1|0;if(D>>>0>=(c[H>>2]|0)>>>0)break;else C=C+36|0}}if(!(Dg(E)|0)){xg(E);i=0;return i|0}d=yg(E)|0;f=G+d|0;j=j-d|0;xg(E);if(c[e>>2]&4){a[f>>0]=-1;a[G+(d+1)>>0]=-110;j=j+-2|0;f=G+(d+2)|0}t=(k|0)!=0;if(t?(c[k+12>>2]|0)!=0:0){G=f-g|0;e=(c[(c[k+88>>2]|0)+(b*592|0)+548>>2]|0)+(c[k+8>>2]<<5)+8|0;c[e>>2]=G;c[e+4>>2]=((G|0)<0)<<31>>31}d=c[H>>2]|0;b:do{if(d){u=k+12|0;v=k+8|0;w=k+88|0;r=F;s=0;c:while(1){l=c[r+20>>2]|0;q=_(c[l+(J*40|0)+20>>2]|0,c[l+(J*40|0)+16>>2]|0)|0;l=c[l+(J*40|0)+24>>2]|0;if(q){if(t){p=0;while(1){o=c[l+4>>2]|0;d=o+(K*24|0)|0;if(c[d>>2]|0){m=o+(K*24|0)+4|0;n=c[m>>2]|0;if(n>>>0>j>>>0){f=0;j=81;break c}Ui(f|0,c[o+(K*24|0)+16>>2]|0,n|0)|0;e=l+40|0;c[e>>2]=(c[e>>2]|0)+(c[d>>2]|0);e=c[m>>2]|0;f=f+e|0;j=j-e|0;if((c[u>>2]|0)!=0?(e=(c[(c[w>>2]|0)+(b*592|0)+548>>2]|0)+(c[v>>2]<<5)+24|0,I=+h[o+(K*24|0)+8>>3]+ +h[e>>3],h[e>>3]=I,+h[k>>3]>3]=I}p=p+1|0;if(p>>>0>=q>>>0)break;else l=l+52|0}}else{p=0;while(1){d=c[l+4>>2]|0;m=d+(K*24|0)|0;if(c[m>>2]|0){n=d+(K*24|0)+4|0;o=c[n>>2]|0;if(o>>>0>j>>>0){f=0;j=81;break c}Ui(f|0,c[d+(K*24|0)+16>>2]|0,o|0)|0;e=l+40|0;c[e>>2]=(c[e>>2]|0)+(c[m>>2]|0);e=c[n>>2]|0;j=j-e|0;f=f+e|0}p=p+1|0;if(p>>>0>=q>>>0)break;else l=l+52|0}}d=c[H>>2]|0}s=s+1|0;if(s>>>0>=d>>>0)break b;else r=r+36|0}if((j|0)==81)return f|0}}while(0);c[i>>2]=f-g+(c[i>>2]|0);i=1;return i|0}function gh(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+64|0;L=N+40|0;K=N+32|0;x=N+24|0;w=N+16|0;u=N+8|0;t=N;v=N+48|0;M=N+44|0;c[M>>2]=h;z=c[f+28>>2]|0;J=f+24|0;y=c[d+((c[J>>2]|0)*52|0)+24>>2]|0;H=f+36|0;if((c[H>>2]|0)==0?(s=y+(z*136|0)+24|0,m=c[s>>2]|0,(m|0)!=0):0){r=f+32|0;p=0;q=y+(z*136|0)+28|0;while(1){d=c[r>>2]|0;n=c[q+20>>2]|0;if((c[q+8>>2]|0)!=(c[q>>2]|0)?(c[q+12>>2]|0)!=(c[q+4>>2]|0):0){kg(c[n+(d*40|0)+32>>2]|0);kg(c[n+(d*40|0)+36>>2]|0);m=_(c[n+(d*40|0)+20>>2]|0,c[n+(d*40|0)+16>>2]|0)|0;if(m){o=0;d=c[n+(d*40|0)+24>>2]|0;while(1){c[d+44>>2]=0;c[d+48>>2]=0;o=o+1|0;if((o|0)==(m|0))break;else d=d+56|0}}m=c[s>>2]|0}p=p+1|0;if(p>>>0>=m>>>0)break;else q=q+36|0}}do{if(c[e>>2]&2){if(k>>>0<6){Ub(l,2,22072,t)|0;break}d=c[M>>2]|0;if((a[d>>0]|0)==-1?(a[d+1>>0]|0)==-111:0){c[M>>2]=d+6;break}Ub(l,2,22114,u)|0}}while(0);G=wg()|0;if(!G){h=0;i=N;return h|0}do{if(!(a[b+96>>0]&1))if(!(a[e+5636>>0]&2)){E=c[M>>2]|0;c[v>>2]=h+k-E;F=M;break}else{F=e+5168|0;E=c[F>>2]|0;v=e+5180|0;break}else{F=b+40|0;E=c[F>>2]|0;v=b+44|0}}while(0);Ag(G,E,c[v>>2]|0);if(!(Cg(G,1)|0)){Eg(G)|0;m=yg(G)|0;d=E+m|0;xg(G);do{if(c[e>>2]&4){if(((c[v>>2]|0)-d+(c[F>>2]|0)|0)>>>0<2){Ub(l,2,22135,w)|0;break}if((a[d>>0]|0)==-1?(a[E+(m+1)>>0]|0)==-110:0){d=E+(m+2)|0;break}Ub(l,2,22177,x)|0}}while(0);c[v>>2]=(c[v>>2]|0)+((c[F>>2]|0)-d);c[F>>2]=d;c[g>>2]=0;c[j>>2]=(c[M>>2]|0)-h;h=1;i=N;return h|0}D=y+(z*136|0)+24|0;d=c[D>>2]|0;a:do{if(d){B=f+32|0;C=e+5584|0;A=0;y=y+(z*136|0)+28|0;b:while(1){m=c[B>>2]|0;n=c[y+20>>2]|0;if(((c[y+8>>2]|0)!=(c[y>>2]|0)?(c[y+12>>2]|0)!=(c[y+4>>2]|0):0)?(I=_(c[n+(m*40|0)+20>>2]|0,c[n+(m*40|0)+16>>2]|0)|0,(I|0)!=0):0){b=n+(m*40|0)+32|0;f=n+(m*40|0)+36|0;w=y+28|0;x=0;k=c[n+(m*40|0)+24>>2]|0;while(1){m=k+44|0;if(!(c[m>>2]|0))d=pg(G,c[b>>2]|0,x,(c[H>>2]|0)+1|0)|0;else d=Cg(G,1)|0;c:do{if(!d)c[k+40>>2]=0;else{if(!(c[m>>2]|0)){d=0;while(1)if(!(pg(G,c[f>>2]|0,x,d)|0))d=d+1|0;else break;c[k+24>>2]=1-d+(c[w>>2]|0);c[k+28>>2]=3}do{if(Cg(G,1)|0)if(Cg(G,1)|0){d=Cg(G,2)|0;if((d|0)!=3){d=d+3|0;break}d=Cg(G,5)|0;if((d|0)==31){d=(Cg(G,7)|0)+37|0;break}else{d=d+6|0;break}}else d=2;else d=1}while(0);t=k+40|0;c[t>>2]=d;d=0;while(1)if(!(Cg(G,1)|0))break;else d=d+1|0;u=k+28|0;c[u>>2]=(c[u>>2]|0)+d;m=c[m>>2]|0;do{if(!m){n=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;d=k+52|0;if(!(c[d>>2]|0)){c[d>>2]=10;o=k+4|0;m=Tc(c[o>>2]|0,320)|0;if(!m){m=d;n=o;d=o;o=66;break b}c[o>>2]=m}else m=c[k+4>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m+24>>2]=0;c[m+28>>2]=0;if(n&4){c[m+20>>2]=1;m=0;break}m=m+20|0;if(!(n&1)){c[m>>2]=109;m=0;break}else{c[m>>2]=10;m=0;break}}else{q=m+-1|0;r=k+4|0;n=c[r>>2]|0;if((c[n+(q<<5)+8>>2]|0)!=(c[n+(q<<5)+20>>2]|0)){d=k+52|0;m=q;break}p=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;d=k+52|0;o=c[d>>2]|0;if((m+1|0)>>>0>o>>>0){z=o+10|0;c[d>>2]=z;n=Tc(n,z<<5)|0;if(!n){n=r;m=d;d=r;o=77;break b}c[r>>2]=n}z=n+(m<<5)|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;if(p&4){c[n+(m<<5)+20>>2]=1;break}if(!(p&1)){c[n+(m<<5)+20>>2]=109;break}else{z=c[n+(q<<5)+20>>2]|0;c[n+(m<<5)+20>>2]=(z|0)==1|(z|0)==10?2:1;break}}}while(0);s=k+4|0;q=c[t>>2]|0;while(1){p=c[s>>2]|0;n=(c[p+(m<<5)+20>>2]|0)-(c[p+(m<<5)+8>>2]|0)|0;n=(n|0)<(q|0)?n:q;c[p+(m<<5)+24>>2]=n;p=c[u>>2]|0;if(n>>>0>1){o=0;while(1){o=o+1|0;if(n>>>0>3)n=n>>>1;else{n=o;break}}}else n=0;p=Cg(G,n+p|0)|0;n=c[s>>2]|0;c[n+(m<<5)+28>>2]=p;p=q-(c[n+(m<<5)+24>>2]|0)|0;if((p|0)<=0)break c;q=m+1|0;r=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;o=c[d>>2]|0;if((m+2|0)>>>0>o>>>0){z=o+10|0;c[d>>2]=z;n=Tc(n,z<<5)|0;if(!n){n=s;m=s;o=90;break b}c[s>>2]=n}z=n+(q<<5)|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;if(r&4){c[n+(q<<5)+20>>2]=1;m=q;q=p;continue}if(!(r&1)){c[n+(q<<5)+20>>2]=109;m=q;q=p;continue}else{z=c[n+(m<<5)+20>>2]|0;c[n+(q<<5)+20>>2]=(z|0)==1|(z|0)==10?2:1;m=q;q=p;continue}}}}while(0);x=x+1|0;if(x>>>0>=I>>>0)break;else k=k+56|0}d=c[D>>2]|0}A=A+1|0;if(A>>>0>=d>>>0)break a;else y=y+36|0}if((o|0)==66){Uc(c[d>>2]|0);c[n>>2]=0;c[m>>2]=0;xg(G);h=0;i=N;return h|0}else if((o|0)==77){Uc(c[d>>2]|0);c[n>>2]=0;c[m>>2]=0;xg(G);h=0;i=N;return h|0}else if((o|0)==90){Uc(c[m>>2]|0);c[n>>2]=0;c[d>>2]=0;xg(G);h=0;i=N;return h|0}}}while(0);if(!(Eg(G)|0)){xg(G);h=0;i=N;return h|0}m=yg(G)|0;d=E+m|0;xg(G);do{if(c[e>>2]&4){if(((c[v>>2]|0)-d+(c[F>>2]|0)|0)>>>0<2){Ub(l,2,22135,K)|0;break}if((a[d>>0]|0)==-1?(a[E+(m+1)>>0]|0)==-110:0){d=E+(m+2)|0;break}Ub(l,2,22177,L)|0}}while(0);c[v>>2]=(c[v>>2]|0)+((c[F>>2]|0)-d);c[F>>2]=d;c[g>>2]=1;c[j>>2]=(c[M>>2]|0)-h;h=1;i=N;return h|0}function hh(){return Pc(104)|0}function ih(a){a=a|0;if(!a)return;Uc(a);return}function jh(a){a=a|0;return(c[a+12>>2]|0)-(c[a+16>>2]|0)|0}function kh(b,d){b=b|0;d=d|0;var e=0,f=0;c[b+100>>2]=b+24;c[b+4>>2]=32768;c[b>>2]=0;f=d+-1|0;c[b+12>>2]=f;e=b+8|0;c[e>>2]=12;c[e>>2]=(a[f>>0]|0)==-1?13:12;c[b+16>>2]=d;return}function lh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=c[b+100>>2]|0;h=c[g>>2]|0;j=(c[h+4>>2]|0)==(d|0);f=c[h>>2]|0;k=b+4|0;d=(c[k>>2]|0)-f|0;c[k>>2]=d;if(!j){if(d>>>0>>0){j=(c[b>>2]|0)+f|0;c[b>>2]=j;f=d;d=j;j=b}else{c[k>>2]=f;d=c[b>>2]|0;j=b}c[g>>2]=c[h+12>>2];i=b+8|0;h=b+12|0;g=d;d=c[i>>2]|0;while(1){f=f<<1;c[k>>2]=f;e=g<<1;c[j>>2]=e;d=d+-1|0;c[i>>2]=d;if(!d){d=c[h>>2]|0;f=a[d>>0]|0;do{if(f<<24>>24!=-1){if(!(e&134217728)){e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>18;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}a[d>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){b=c[j>>2]&134217727;c[j>>2]=b;e=d+1|0;c[h>>2]=e;a[e>>0]=b>>>20;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[h>>2]=e;a[e>>0]=(c[j>>2]|0)>>>19;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}}else{e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>19;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7}}while(0);f=c[k>>2]|0}if(!(f&32768))g=e;else break}return}if(d&32768){c[b>>2]=(c[b>>2]|0)+f;return}if(d>>>0>>0){c[k>>2]=f;e=c[b>>2]|0;j=b}else{e=(c[b>>2]|0)+f|0;c[b>>2]=e;f=d;j=b}c[g>>2]=c[h+8>>2];i=b+8|0;h=b+12|0;g=e;d=c[i>>2]|0;while(1){f=f<<1;c[k>>2]=f;e=g<<1;c[j>>2]=e;d=d+-1|0;c[i>>2]=d;if(!d){d=c[h>>2]|0;f=a[d>>0]|0;do{if(f<<24>>24!=-1){if(!(e&134217728)){e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>18;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}a[d>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){b=c[j>>2]&134217727;c[j>>2]=b;e=d+1|0;c[h>>2]=e;a[e>>0]=b>>>20;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[h>>2]=e;a[e>>0]=(c[j>>2]|0)>>>19;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}}else{e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>19;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7}}while(0);f=c[k>>2]|0}if(!(f&32768))g=e;else break}return}function mh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[b>>2]|0;f=h|65535;g=b+8|0;f=(f>>>0<((c[b+4>>2]|0)+h|0)>>>0?f:f+-32768|0)<>2];c[b>>2]=f;h=b+12|0;d=c[h>>2]|0;e=a[d>>0]|0;do{if(e<<24>>24!=-1){if(!(f&134217728)){d=d+1|0;c[h>>2]=d;a[d>>0]=f>>>19;d=c[b>>2]&524287;c[b>>2]=d;c[g>>2]=8;e=8;break}a[d>>0]=e+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){e=c[b>>2]&134217727;c[b>>2]=e;d=d+1|0;c[h>>2]=d;a[d>>0]=e>>>20;d=c[b>>2]&1048575;c[b>>2]=d;c[g>>2]=7;e=7;break}else{d=d+1|0;c[h>>2]=d;a[d>>0]=(c[b>>2]|0)>>>19;d=c[b>>2]&524287;c[b>>2]=d;c[g>>2]=8;e=8;break}}else{d=d+1|0;c[h>>2]=d;a[d>>0]=f>>>20;d=c[b>>2]&1048575;c[b>>2]=d;c[g>>2]=7;e=7}}while(0);d=d<>2]=d;e=c[h>>2]|0;f=a[e>>0]|0;do{if(f<<24>>24!=-1){if(!(d&134217728)){f=e+1|0;c[h>>2]=f;a[f>>0]=d>>>19;c[b>>2]=c[b>>2]&524287;c[g>>2]=8;break}a[e>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){e=c[b>>2]&134217727;c[b>>2]=e;f=d+1|0;c[h>>2]=f;a[f>>0]=e>>>20;c[b>>2]=c[b>>2]&1048575;c[g>>2]=7;break}else{f=d+1|0;c[h>>2]=f;a[f>>0]=(c[b>>2]|0)>>>19;c[b>>2]=c[b>>2]&524287;c[g>>2]=8;break}}else{f=e+1|0;c[h>>2]=f;a[f>>0]=d>>>20;c[b>>2]=c[b>>2]&1048575;c[g>>2]=7}}while(0);d=c[h>>2]|0;if((a[d>>0]|0)==-1)return;c[h>>2]=d+1;return}function nh(a){a=a|0;c[a>>2]=0;c[a+8>>2]=8;return}function oh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+8|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;d=(d<>2]|0)|0;c[b>>2]=d;if(f)return;f=b+12|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;a[g>>0]=d;c[e>>2]=8;c[e>>2]=(a[c[f>>2]>>0]|0)==-1?7:8;c[b>>2]=0;return}function ph(a){a=a|0;c[a+28>>2]=1156;c[a+32>>2]=1156;c[a+36>>2]=1156;c[a+40>>2]=1156;c[a+44>>2]=1156;c[a+48>>2]=1156;c[a+52>>2]=1156;c[a+56>>2]=1156;c[a+60>>2]=1156;c[a+64>>2]=1156;c[a+68>>2]=1156;c[a+72>>2]=1156;c[a+76>>2]=1156;c[a+80>>2]=1156;c[a+84>>2]=1156;c[a+88>>2]=1156;c[a+96>>2]=2628;c[a+92>>2]=1252;c[a+24>>2]=1284;return}function qh(a){a=a|0;c[a+24>>2]=1156;c[a+28>>2]=1156;c[a+32>>2]=1156;c[a+36>>2]=1156;c[a+40>>2]=1156;c[a+44>>2]=1156;c[a+48>>2]=1156;c[a+52>>2]=1156;c[a+56>>2]=1156;c[a+60>>2]=1156;c[a+64>>2]=1156;c[a+68>>2]=1156;c[a+72>>2]=1156;c[a+76>>2]=1156;c[a+80>>2]=1156;c[a+84>>2]=1156;c[a+88>>2]=1156;c[a+92>>2]=1156;c[a+96>>2]=1156;return}function rh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+24+(b<<2)>>2]=1156+((e<<1)+d<<4);return}function sh(b){b=b|0;var d=0,e=0;c[b+100>>2]=b+24;c[b+4>>2]=32768;c[b>>2]=0;d=b+8|0;c[d>>2]=12;e=b+12|0;b=(c[e>>2]|0)+-1|0;c[e>>2]=b;if((a[b>>0]|0)!=-1)return;c[d>>2]=13;return}function th(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=b+8|0;d=c[i>>2]|0;f=12-d|0;if((f|0)>0){g=b+12|0;e=c[b>>2]|0;do{d=e<>2]=d;c[i>>2]=0;e=c[g>>2]|0;h=a[e>>0]|0;do{if(h<<24>>24!=-1){if(!(d&134217728)){e=e+1|0;c[g>>2]=e;a[e>>0]=d>>>19;e=c[b>>2]&524287;c[b>>2]=e;c[i>>2]=8;d=8;break}a[e>>0]=h+1<<24>>24;d=c[g>>2]|0;if((a[d>>0]|0)==-1){h=c[b>>2]&134217727;c[b>>2]=h;e=d+1|0;c[g>>2]=e;a[e>>0]=h>>>20;e=c[b>>2]&1048575;c[b>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[g>>2]=e;a[e>>0]=(c[b>>2]|0)>>>19;e=c[b>>2]&524287;c[b>>2]=e;c[i>>2]=8;d=8;break}}else{e=e+1|0;c[g>>2]=e;a[e>>0]=d>>>20;e=c[b>>2]&1048575;c[b>>2]=e;c[i>>2]=7;d=7}}while(0);f=f-d|0}while((f|0)>0)}else g=b+12|0;d=c[g>>2]|0;e=a[d>>0]|0;if(e<<24>>24==-1)return;f=c[b>>2]|0;if(!(f&134217728)){h=d+1|0;c[g>>2]=h;a[h>>0]=f>>>19;c[b>>2]=c[b>>2]&524287;c[i>>2]=8;return}a[d>>0]=e+1<<24>>24;d=c[g>>2]|0;if((a[d>>0]|0)==-1){f=c[b>>2]&134217727;c[b>>2]=f;h=d+1|0;c[g>>2]=h;a[h>>0]=f>>>20;c[b>>2]=c[b>>2]&1048575;c[i>>2]=7;return}else{h=d+1|0;c[g>>2]=h;a[h>>0]=(c[b>>2]|0)>>>19;c[b>>2]=c[b>>2]&524287;c[i>>2]=8;return}}function uh(a){a=a|0;c[a+100>>2]=a+96;lh(a,1);lh(a,0);lh(a,1);lh(a,0);return}function vh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[b+100>>2]=b+24;c[b+16>>2]=e;c[b+20>>2]=e+f;h=b+12|0;c[h>>2]=e;do{if(f){i=d[e>>0]<<16;c[b>>2]=i;g=e+1|0;if((f|0)==1)f=255;else f=d[g>>0]|0;if((a[e>>0]|0)!=-1){c[h>>2]=g;g=i|f<<8;c[b>>2]=g;f=b+8|0;c[f>>2]=8;h=b;i=1;break}if(f>>>0>143){g=i|65280;c[b>>2]=g;f=b+8|0;c[f>>2]=8;h=b;i=1;break}else{c[h>>2]=g;g=i+(f<<9)|0;c[b>>2]=g;f=b+8|0;c[f>>2]=7;h=b;i=0;break}}else{c[b>>2]=16776960;f=b+8|0;c[f>>2]=8;g=16776960;h=b;i=1}}while(0);c[h>>2]=g<<7;c[f>>2]=i;c[b+4>>2]=32768;return 1}function wh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=c[b+100>>2]|0;g=c[f>>2]|0;j=c[g>>2]|0;n=b+4|0;i=(c[n>>2]|0)-j|0;c[n>>2]=i;h=c[b>>2]|0;if(h>>>16>>>0>>0){c[n>>2]=j;e=c[g+4>>2]|0;if(i>>>0>>0)c[f>>2]=c[g+8>>2];else{c[f>>2]=c[g+12>>2];e=1-e|0}k=b+8|0;l=b+12|0;m=b+20|0;g=c[k>>2]|0;f=h;do{do{if(!g){h=c[l>>2]|0;g=c[m>>2]|0;if((h|0)==(g|0)){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}i=h+1|0;if((i|0)==(g|0))g=255;else g=d[i>>0]|0;if((a[h>>0]|0)!=-1){c[l>>2]=i;f=f+(g<<8)|0;c[b>>2]=f;c[k>>2]=8;g=8;break}if(g>>>0>143){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}else{c[l>>2]=i;f=f+(g<<9)|0;c[b>>2]=f;c[k>>2]=7;g=7;break}}}while(0);j=j<<1;c[n>>2]=j;f=f<<1;c[b>>2]=f;g=g+-1|0;c[k>>2]=g}while(j>>>0<32768);return e|0}h=h-(j<<16)|0;c[b>>2]=h;if(i&32768){b=c[g+4>>2]|0;return b|0}e=c[g+4>>2]|0;if(j>>>0>i>>>0){c[f>>2]=c[g+12>>2];e=1-e|0}else c[f>>2]=c[g+8>>2];k=b+8|0;l=b+12|0;m=b+20|0;g=c[k>>2]|0;f=h;j=i;do{do{if(!g){h=c[l>>2]|0;g=c[m>>2]|0;if((h|0)==(g|0)){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}i=h+1|0;if((i|0)==(g|0))g=255;else g=d[i>>0]|0;if((a[h>>0]|0)!=-1){c[l>>2]=i;f=f+(g<<8)|0;c[b>>2]=f;c[k>>2]=8;g=8;break}if(g>>>0>143){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}else{c[l>>2]=i;f=f+(g<<9)|0;c[b>>2]=f;c[k>>2]=7;g=7;break}}}while(0);j=j<<1;c[n>>2]=j;f=f<<1;c[b>>2]=f;g=g+-1|0;c[k>>2]=g}while(j>>>0<32768);return e|0}function xh(){return Pc(28)|0}function yh(a){a=a|0;if(!a)return;Uc(a);return}function zh(b,d,e){b=b|0;d=d|0;e=e|0;c[b+20>>2]=d;c[b+8>>2]=e;c[b+12>>2]=0;a[b>>0]=0;c[b+4>>2]=0;return}function Ah(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=b+4|0;d=c[g>>2]|0;do{if(!d){c[g>>2]=8;e=b+12|0;f=c[e>>2]|0;if((f|0)==(c[b+8>>2]|0)){a[b>>0]=-1;d=8;e=-1;break}if((a[b>>0]|0)==-1){c[g>>2]=7;d=7}else d=8;h=a[(c[b+20>>2]|0)+f>>0]|0;a[b>>0]=h;c[e>>2]=f+1;e=h}else e=a[b>>0]|0}while(0);h=d+-1|0;c[g>>2]=h;return(e&255)>>>h&1|0}function Bh(){var a=0;if(!(c[665]|0))a=2712;else a=c[(Ca()|0)+60>>2]|0;return a|0}function Ch(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[22198+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=22286;e=5;break}}if((e|0)==2)if(!c)b=22286;else{b=22286;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function Dh(a){a=a|0;if(a>>>0>4294963200){c[(Bh()|0)>>2]=0-a;a=-1}return a|0}function Eh(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Ti(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0){a=+Eh(a*0x10000000000000000,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=f+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return+a}function Fh(a,b){a=+a;b=b|0;return+ +Eh(a,b)}function Gh(a,b){a=+a;b=b|0;return+ +Jh(a,b)}function Hh(a){a=+a;return~~+Ih(a)|0}function Ih(a){a=+a;var b=0;b=(g[k>>2]=a,c[k>>2]|0);if((b&2130706432)>>>0<=1249902592){b=(b|0)<0;a=b?a+-8388608+8388608:a+8388608+-8388608;if(a==0)a=b?-0:0}return+a}function Jh(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8.98846567431158e307;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8.98846567431158e307}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Ri(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return+(a*+h[k>>3])}function Kh(b,d,e){b=b|0;d=d|0;e=e|0;do{if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(Bh()|0)>>2]=84;b=-1;break}}else b=1}while(0);return b|0}function Lh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Kh(a,b,0)|0;return a|0}function Mh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(ri(24090,f<<24>>24,4)|0){e=Fi(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(ti(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(ti(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ra(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ra(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ra(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Fa(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=60;c[e+36>>2]=61;c[e+40>>2]=3;c[e+12>>2]=1;if(!(c[666]|0))c[e+76>>2]=-1;Ia(2688);f=c[671]|0;c[e+56>>2]=f;if(f)c[f+52>>2]=e;c[671]=e;Ga(2688)}}else{c[(Bh()|0)>>2]=22;e=0}i=o;return e|0}function Nh(b){b=b|0;var c=0,d=0,e=0;d=(ti(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(ti(b,120)|0)==0;d=e?d:d|128;b=(ti(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return(c<<24>>24==97?b|1024:b)|0}function Oh(a){a=a|0;return 0}function Ph(a){a=a|0;return}function Qh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;k=e&255;a[l>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Xh(b)|0)){h=c[g>>2]|0;j=4}else f=-1;else j=4;do{if((j|0)==4){g=b+20|0;j=c[g>>2]|0;if(j>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Ra[c[b+36>>2]&63](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}}while(0);i=m;return f|0}function Rh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=Dh(Ja(6,d|0)|0)|0;i=b;return a|0}function Sh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[665]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Dh(Na(145,h|0)|0)|0}else{ua(5,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Dh(Na(145,g|0)|0)|0;qa(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((Dh(Ma(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Uh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[665]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Dh(Oa(146,n|0)|0)|0}else{ua(6,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Dh(Oa(146,m|0)|0)|0;qa(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function Vh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=61;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Fa(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=Uh(b,d,e)|0;i=g;return f|0}function Wh(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Ra[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Xh(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function Yh(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Ia(2688);d=c[a+52>>2]|0;b=a+56|0;if(d)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b)c[b+52>>2]=d;if((c[671]|0)==(a|0))c[671]=b;Ga(2688)}b=Zh(a)|0;b=Wa[c[a+12>>2]&15](a)|0|b;d=c[a+92>>2]|0;if(d)Gi(d);if(!e)Gi(a);return b|0}function Zh(a){a=a|0;var b=0,d=0;do{if(a){if((c[a+76>>2]|0)<=-1){b=zi(a)|0;break}d=(Oh(a)|0)==0;b=zi(a)|0;if(!d)Ph(a)}else{if(!(c[677]|0))b=0;else b=Zh(c[677]|0)|0;Ia(2688);a=c[671]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Oh(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=zi(a)|0|b;if(d)Ph(a);a=c[a+56>>2]|0}while((a|0)!=0);Ga(2688)}}while(0);return b|0}function _h(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(ri(24090,a[d>>0]|0,4)|0){h=Nh(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Dh(Ka(5,e|0)|0)|0;if((e|0)>=0){b=Mh(e,d)|0;if(!b){c[f>>2]=e;Ja(6,f|0)|0;b=0}}else b=0}else{c[(Bh()|0)>>2]=22;b=0}i=g;return b|0}function $h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=oi(a,b,f)|0;i=e;return d|0}function ai(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Oh(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Qh(d,b)|0;Ph(d)}else i=3;do{if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Qh(d,b)|0}}while(0);return e|0}function bi(a,b){a=a|0;b=b|0;return(ki(a,wi(a)|0,1,b)|0)+-1|0}function ci(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Oh(f)|0;else k=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:j;Ui(b|0,h|0,i|0)|0;c[g>>2]=h+i;b=b+i|0;g=j-i|0}else g=j;a:do{if(!g)l=13;else{i=f+32|0;h=g;while(1){if(Wh(f)|0){e=h;break}g=Ra[c[i>>2]&63](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k)Ph(f);e=((j-e|0)>>>0)/(d>>>0)|0}}while(0);if((l|0)==13)if(k)Ph(f);return e|0}function di(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;f=a+20|0;e=a+28|0;if((c[f>>2]|0)>>>0>(c[e>>2]|0)>>>0?(Ra[c[a+36>>2]&63](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[e>>2]=0;c[f>>2]=0;if((Ra[c[a+40>>2]&63](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Oh(a)|0)==0;b=di(a,b,d)|0;if(!e)Ph(a)}else b=di(a,b,d)|0;return b|0}function fi(a,b,c){a=a|0;b=b|0;c=c|0;return ei(a,b,c)|0}function gi(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=Ra[c[a+40>>2]&63](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function hi(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Oh(a)|0)==0;a=gi(a)|0}else a=gi(a)|0;return a|0}function ii(a){a=a|0;return hi(a)|0}function ji(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Xh(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do{if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=Ra[c[e+36>>2]&63](e,b,d)|0;break}b:do{if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Ra[c[e+36>>2]&63](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}}while(0);Ui(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}}while(0);return f|0}function ki(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=_(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Oh(e)|0)==0;a=ji(a,f,e)|0;if(!g)Ph(e)}else a=ji(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function li(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=oi(c[676]|0,a,e)|0;i=d;return b|0}function mi(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[676]|0;if((c[f+76>>2]|0)>-1)g=Oh(f)|0;else g=0;do{if((bi(b,f)|0)<0)d=1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;d=0;break}d=(Qh(f,10)|0)<0}}while(0);if(g)Ph(f);return d<<31>>31|0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=qi(a,b,f)|0;i=e;return d|0}function oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((Ai(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Oh(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=Ai(b,d,o,q,r)|0;if(h){Ra[c[b+36>>2]&63](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=Ai(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)Ph(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function pi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=2716;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(Bh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=oi(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;return pi(a,2147483647,b,c)|0}function ri(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do{if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5}while(0);if((i|0)==5)if(f)i=6;else e=0;b:do{if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=_(h,16843009)|0;c:do{if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11}while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}}while(0);return((e|0)!=0?b:0)|0}function si(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do{if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8}while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function ti(b,c){b=b|0;c=c|0;b=ui(b,c)|0;return((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function ui(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do{if(!f)b=b+(wi(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do{if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009)break b;b=b+4|0;e=c[b>>2]|0}while(((e&-2139062144^-2139062144)&e+-16843009|0)==0)}while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}}while(0);return b|0}function vi(a,b){a=a|0;b=b|0;si(a,b)|0;return a|0}function wi(b){b=b|0;var d=0,e=0,f=0;f=b;a:do{if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do{b=b+1|0}while((a[b>>0]|0)!=0)}return b-f|0}function xi(a){a=a|0;if(!(c[a+68>>2]|0))Ph(a);return}function yi(a){a=a|0;if(!(c[a+68>>2]|0))Ph(a);return}function zi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ra[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Ra[c[a+40>>2]&63](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Ai(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;$=X;aa=$-Z|0;O=-2-Z|0;P=$+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do{if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(Bh()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do{if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)ji(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do{if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}}while(0);do{if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}}while(0);e:do{if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1}while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[25126+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do{if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}Ci(ba,s,g)}}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do{switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=Ti(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=25606;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=25606;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=Oi(0,0,n|0,o|0)|0;o=C;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=25606;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?25606:25608;L=76}else{p=1;s=25607;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=25606;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=25606;n=N;break}case 109:{n=Ch(c[(Bh()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:25616;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){Ei(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?25624:25629}else{G=1;H=25626}else{q=-q;G=1;H=25623}h[k>>3]=q;F=c[k+4>>2]&2146435072;do{if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+Fh(q,ea)*2;o=v!=0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;D=u|32;if((D|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do{if(!(r>>>0>11|(n|0)==0)){q=8;do{n=n+-1|0;q=q*16}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v}while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=Di(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[25590+H>>0]|w;q=(q-+(H|0))*16;do{if((n-Z|0)==1){if(p&(s&q==0))break;a[n>>0]=46;n=o+2|0}}while(0);if(!(q!=0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;Ei(e,32,K,p,I);if(!(c[e>>2]&32))ji(y,x,e)|0;Ei(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))ji(da,n,e)|0;o=$-t|0;Ei(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))ji(t,o,e)|0;Ei(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1e9}while(q!=0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do{if(r>>>0>>0)r=s;else{o=0;do{B=Ri(c[r>>2]|0,0,t|0)|0;B=Si(B|0,C|0,o|0,0)|0;o=C;A=$i(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=_i(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(D|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do{if(w>>>0

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

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

>>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0}while(0);A=(D|0)==103;B=(n|0)!=0;r=n-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do{if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992:9007199254740994;t=(s|0)/2|0;do{if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1;break}q=1.5}}while(0);do{if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}}while(0);D=r+4|0;w=s;p=p>>>0>D>>>0?D:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;D=p;break}}do{if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do{if(z){p=c[D+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9}while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8}while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=Di(r,((r|0)<0)<<31>>31,X)|0;if(($-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while(($-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=$-E|0;u=E}y=G+1+n+s+o|0;Ei(e,32,K,y,I);if(!(c[e>>2]&32))ji(H,G,e)|0;Ei(e,48,K,y,I^65536);do{if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=Di(c[o>>2]|0,0,R)|0;do{if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}}while(0);if(!(c[e>>2]&32))ji(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do{if(x){if(c[e>>2]&32)break;ji(25658,1,e)|0}}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=Di(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))ji(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}Ei(e,48,n+9|0,9,0)}else{t=z?D:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=Di(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do{if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))ji(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}ji(25658,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}}while(0);p=S-o|0;if(!(c[e>>2]&32))ji(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}Ei(e,48,n+18|0,18,0);if(c[e>>2]&32)break;ji(u,$-u|0,e)|0}}while(0);Ei(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0!=0;o=s?0:G;r=o+3|0;Ei(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){ji(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))ji(s?t?25650:25654:t?25642:25646,3,e)|0;Ei(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=25606;n=N}}}while(0);g:do{if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[25590+(o&15)>>0]|s;o=Ti(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=25606;L=77}else{o=t;t=2;s=25606+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=25606;L=77}}else if((L|0)==76){n=Di(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=ri(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=25606;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=Lh(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}Ei(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=Lh(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))ji(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}}while(0);if((L|0)==98){L=0;Ei(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;Ei(e,32,n,r,p);if(!(c[e>>2]&32))ji(u,t,e)|0;Ei(e,48,n,r,p^65536);Ei(e,48,o,s,0);if(!(c[e>>2]&32))ji(w,s,e)|0;Ei(e,32,n,r,p^8192);w=J}h:do{if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;Ci(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0}while(0);i=ha;return m|0}function Bi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;Ui(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Ci(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;a:do{if(b>>>0<=20)do{switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}}while(0)}while(0);return}function Di(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=$i(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=_i(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}else{b=e;break}}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function Ei(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do{if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;Qi(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){ji(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;ji(h,f,a)|0}}while(0);i=j;return}function Fi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do{if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[735]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=2980+(e<<2)|0;e=2980+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do{if((d|0)!=(h|0)){if(h>>>0<(c[739]|0)>>>0)ta();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else ta()}else c[735]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[737]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=2980+(e<<2)|0;e=2980+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do{if((d|0)!=(f|0)){if(f>>>0<(c[739]|0)>>>0)ta();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[737]|0;break}else ta()}else{c[735]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[740]|0;d=k>>>3;b=d<<1;e=2980+(b<<2)|0;a=c[735]|0;d=1<>2]|0;if(b>>>0<(c[739]|0)>>>0)ta();else{l=a;m=b}}else{c[735]=a|d;l=2980+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[737]=h;c[740]=i;M=j;return M|0}a=c[736]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[3244+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[739]|0;if(e>>>0>>0)ta();i=e+o|0;if(e>>>0>=i>>>0)ta();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do{if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)ta();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)ta();b=f+12|0;if((c[b>>2]|0)!=(e|0))ta();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else ta()}}while(0);do{if(h){b=c[e+28>>2]|0;a=3244+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[739]|0;if(n>>>0>>0)ta();c[n+24>>2]=h;b=c[e+16>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[n+16>>2]=b;c[b+24>>2]=n;break}}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[737]|0;if(b){g=c[740]|0;d=b>>>3;b=d<<1;f=2980+(b<<2)|0;a=c[735]|0;d=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{p=b;q=a}}else{c[735]=a|d;p=2980+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[737]=j;c[740]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[736]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[3244+(k<<2)>>2]|0;a:do{if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[3244+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[737]|0)-m|0)>>>0:0){f=c[739]|0;if(j>>>0>>0)ta();h=j+m|0;if(j>>>0>=h>>>0)ta();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do{if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)ta();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)ta();b=e+12|0;if((c[b>>2]|0)!=(j|0))ta();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else ta()}}while(0);do{if(g){b=c[j+28>>2]|0;a=3244+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[739]|0;if(o>>>0>>0)ta();c[o+24>>2]=g;b=c[j+16>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[o+16>>2]=b;c[b+24>>2]=o;break}}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}}while(0);b:do{if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{s=b;t=a}}else{c[735]=d|b;s=2980+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=3244+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[736]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do{if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b}while(0);b=y+8|0;a=c[b>>2]|0;M=c[739]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else ta()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1}while(0);d=c[737]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[740]|0;if(b>>>0>15){c[740]=a+q;c[737]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[737]=0;c[740]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[738]|0;if(a>>>0>q>>>0){L=a-q|0;c[738]=L;M=c[741]|0;c[741]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do{if(!(c[853]|0)){a=za(30)|0;if(!(a+-1&a)){c[855]=a;c[854]=a;c[856]=-1;c[857]=-1;c[858]=0;c[846]=0;c[853]=(La(0)|0)&-16^1431655768;break}else ta()}}while(0);j=q+48|0;i=c[855]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[845]|0;if((a|0)!=0?(t=c[843]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do{if(!(c[846]&4)){a=c[741]|0;e:do{if(a){f=3388;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[738]|0)&i;if(d>>>0<2147483647){f=xa(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174}while(0);do{if((v|0)==174){g=xa(0)|0;if((g|0)!=(-1|0)){a=g;d=c[854]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[843]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[845]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=xa(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}}while(0);f:do{if((v|0)==184){g=0-d|0;do{if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[855]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((xa(u|0)|0)==(-1|0)){xa(g|0)|0;break f}else{d=u+d|0;break}}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}}while(0);c[846]=c[846]|4;v=191}else{a=0;v=191}}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=xa(l|0)|0,x=xa(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[843]|0)+p|0;c[843]=a;if(a>>>0>(c[844]|0)>>>0)c[844]=a;h=c[741]|0;g:do{if(h){g=3388;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[738]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[741]=h+L;c[738]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[742]=c[857];break}a=c[739]|0;if(w>>>0>>0){c[739]=w;a=w}d=w+p|0;g=3388;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=3388;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do{if((b|0)!=(h|0)){if((b|0)==(c[740]|0)){M=(c[737]|0)+l|0;c[737]=M;c[740]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do{if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do{if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)ta();a=f+12|0;if((c[a>>2]|0)!=(b|0))ta();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else ta()}}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=3244+(a<<2)|0;do{if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[739]|0)>>>0)ta();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[736]=c[736]&~(1<>>0>>0)ta();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do{if(a)if(a>>>0>>0)ta();else{c[J+16>>2]=a;c[a+24>>2]=J;break}}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[739]|0)>>>0)ta();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=2980+(g<<1<<2)|0;do{if((e|0)!=(d|0)){if(e>>>0>>0)ta();if((c[e+12>>2]|0)==(b|0))break;ta()}}while(0);if((f|0)==(e|0)){c[735]=c[735]&~(1<>>0>>0)ta();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}ta()}}while(0);c[e+12>>2]=f;c[F>>2]=e}}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0>=(c[739]|0)>>>0){K=b;L=a;break}ta()}}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do{if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}}while(0);b=3244+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[736]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do{if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b}while(0);b=M+8|0;a=c[b>>2]|0;L=c[739]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else ta()}else{M=(c[738]|0)+l|0;c[738]=M;c[741]=o;c[w+(m+4)>>2]=M|1}}while(0);M=w+(n|8)|0;return M|0}else d=3388;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[741]=w+d;c[738]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[742]=c[857];d=a+4|0;c[d>>2]=27;c[b>>2]=c[847];c[b+4>>2]=c[848];c[b+8>>2]=c[849];c[b+12>>2]=c[850];c[847]=w;c[848]=p;c[850]=0;c[849]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{G=b;H=a}}else{c[735]=d|b;G=2980+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=3244+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[736]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do{if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b}while(0);b=I+8|0;a=c[b>>2]|0;M=c[739]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else ta()}}else{M=c[739]|0;if((M|0)==0|w>>>0>>0)c[739]=w;c[847]=w;c[848]=p;c[850]=0;c[744]=c[853];c[743]=-1;b=0;do{M=b<<1;L=2980+(M<<2)|0;c[2980+(M+3<<2)>>2]=L;c[2980+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[741]=w+M;c[738]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[742]=c[857]}}while(0);b=c[738]|0;if(b>>>0>q>>>0){L=b-q|0;c[738]=L;M=c[741]|0;c[741]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(Bh()|0)>>2]=12;M=0;return M|0}function Gi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[739]|0;if(b>>>0>>0)ta();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)ta();o=d&-8;q=a+(o+-8)|0;do{if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)ta();if((l|0)==(c[740]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[737]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=2980+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)ta();if((c[e+12>>2]|0)!=(l|0))ta()}if((d|0)==(e|0)){c[735]=c[735]&~(1<>>0>>0)ta();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else ta()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do{if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)ta();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)ta();b=f+12|0;if((c[b>>2]|0)!=(l|0))ta();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else ta()}}while(0);if(h){b=c[a+(j+28)>>2]|0;d=3244+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[739]|0;if(k>>>0>>0)ta();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[k+16>>2]=b;c[b+24>>2]=k;break}}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}}while(0);if(u>>>0>=q>>>0)ta();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))ta();if(!(d&2)){if((q|0)==(c[741]|0)){t=(c[738]|0)+g|0;c[738]=t;c[741]=u;c[u+4>>2]=t|1;if((u|0)!=(c[740]|0))return;c[740]=0;c[737]=0;return}if((q|0)==(c[740]|0)){t=(c[737]|0)+g|0;c[737]=t;c[740]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do{if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do{if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[739]|0)>>>0)ta();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[739]|0)>>>0)ta();e=d+12|0;if((c[e>>2]|0)!=(q|0))ta();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else ta()}}while(0);if(h){b=c[a+(o+20)>>2]|0;d=3244+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[739]|0;if(p>>>0>>0)ta();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[p+16>>2]=b;c[b+24>>2]=p;break}}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=2980+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[739]|0)>>>0)ta();if((c[e+12>>2]|0)!=(q|0))ta()}if((d|0)==(e|0)){c[735]=c[735]&~(1<>>0<(c[739]|0)>>>0)ta();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else ta()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[740]|0)){c[737]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=2980+(d<<2)|0;e=c[735]|0;b=1<>2]|0;if(d>>>0<(c[739]|0)>>>0)ta();else{r=b;s=d}}else{c[735]=e|b;r=2980+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=3244+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[736]|0;e=1<>2]|0;b:do{if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[739]|0)>>>0)ta();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b}while(0);b=t+8|0;d=c[b>>2]|0;s=c[739]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else ta()}else{c[736]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}}while(0);u=(c[743]|0)+-1|0;c[743]=u;if(!u)b=3396;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[743]=-1;return}function Hi(a,b){a=a|0;b=b|0;var d=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Fi(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;Qi(b|0,0,d|0)|0;return b|0}function Ii(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Fi(b)|0;return a|0}if(b>>>0>4294967231){c[(Bh()|0)>>2]=12;a=0;return a|0}d=Ki(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=Fi(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;Ui(d|0,a|0,(e>>>0>>0?e:b)|0)|0;Gi(a);a=d;return a|0}function Ji(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;do{if((b|0)!=8){e=b>>>2;if((b&3|0)!=0|(e|0)==0){a=22;return a|0}if(e+1073741823&e){a=22;return a|0}if((-64-b|0)>>>0>>0){a=12;return a|0}else{e=Li(b>>>0<16?16:b,d)|0;break}}else e=Fi(d)|0}while(0);if(!e){a=12;return a|0}c[a>>2]=e;a=0;return a|0}function Ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[739]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))ta();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))ta();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[855]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;Mi(a+b|0,d);return a|0}if((l|0)==(c[741]|0)){d=(c[738]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[741]=a+b;c[738]=n;return a|0}if((l|0)==(c[740]|0)){e=(c[737]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[737]=d;c[740]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do{if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do{if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)ta();d=f+12|0;if((c[d>>2]|0)!=(l|0))ta();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else ta()}}while(0);if(h){d=c[a+(j+28)>>2]|0;e=3244+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[739]|0;if(k>>>0>>0)ta();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do{if(d)if(d>>>0>>0)ta();else{c[k+16>>2]=d;c[d+24>>2]=k;break}}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(l|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else ta()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;Mi(a+b|0,n);return a|0}return 0}function Li(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0<16?16:a;if(a+-1&a){d=16;while(1)if(d>>>0>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(Bh()|0)>>2]=12;i=0;return i|0}h=b>>>0<11?16:b+11&-8;e=Fi(h+12+a|0)|0;if(!e){i=0;return i|0}b=e+-8|0;d=a+-1|0;do{if(e&d){f=e+d&0-a;d=f+-8|0;g=b;f=(d-g|0)>>>0>15?d:f+(a+-8)|0;g=f-g|0;a=e+-4|0;e=c[a>>2]|0;d=(e&-8)-g|0;if(!(e&3)){c[f>>2]=(c[b>>2]|0)+g;c[f+4>>2]=d;b=f;break}else{e=f+4|0;c[e>>2]=d|c[e>>2]&1|2;d=f+(d+4)|0;c[d>>2]=c[d>>2]|1;c[a>>2]=g|c[a>>2]&1|2;c[e>>2]=c[e>>2]|1;Mi(b,g);b=f;break}}}while(0);a=b+4|0;d=c[a>>2]|0;if((d&3|0)!=0?(i=d&-8,i>>>0>(h+16|0)>>>0):0){g=i-h|0;c[a>>2]=h|d&1|2;c[b+(h|4)>>2]=g|3;i=b+(i|4)|0;c[i>>2]=c[i>>2]|1;Mi(b+h|0,g)}i=b+8|0;return i|0}function Mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do{if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[739]|0;if(n>>>0>>0)ta();if((n|0)==(c[740]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[737]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(n|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else ta()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do{if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)ta();d=g+12|0;if((c[d>>2]|0)!=(n|0))ta();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else ta()}}while(0);if(i){d=c[a+(28-k)>>2]|0;e=3244+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[739]|0;if(l>>>0>>0)ta();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do{if(e)if(e>>>0>>0)ta();else{c[l+16>>2]=e;c[e+24>>2]=l;break}}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}}while(0);j=c[739]|0;if(q>>>0>>0)ta();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[741]|0)){s=(c[738]|0)+h|0;c[738]=s;c[741]=t;c[t+4>>2]=s|1;if((t|0)!=(c[740]|0))return;c[740]=0;c[737]=0;return}if((q|0)==(c[740]|0)){s=(c[737]|0)+h|0;c[737]=s;c[740]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do{if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do{if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)ta();d=g+12|0;if((c[d>>2]|0)!=(q|0))ta();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else ta()}}while(0);if(i){d=c[a+(b+28)>>2]|0;e=3244+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[739]|0;if(p>>>0>>0)ta();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do{if(d)if(d>>>0>>0)ta();else{c[p+16>>2]=d;c[d+24>>2]=p;break}}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(q|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else ta()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[740]|0)){c[737]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=2980+(e<<2)|0;f=c[735]|0;d=1<>2]|0;if(e>>>0<(c[739]|0)>>>0)ta();else{r=d;s=e}}else{c[735]=f|d;r=2980+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=3244+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[736]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do{if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[739]|0)>>>0)ta();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}}while(0);e=d+8|0;f=c[e>>2]|0;s=c[739]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))ta();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function Ni(){}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return(C=d,a-c>>>0|0)|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<>c-32|0}function Qi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>>0;return(C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Ui(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return ya(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function Vi(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[m+(b>>>24)>>0]|0)+24|0}function Wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return(C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Oi(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return Oi((aj(h,g,Oi(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function Yi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=Oi(h^a,g^b,h,g)|0;b=C;aj(a,b,Oi(l^d,k^e,l,k)|0,C,j)|0;e=Oi(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return(C=d,e)|0}function Zi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=Wi(e,f)|0;a=C;return(C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function _i(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return aj(a,b,c,d,0)|0}function $i(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;aj(a,b,d,e,f)|0;i=g;return(C=c[f+4>>2]|0,c[f>>2]|0)|0}function aj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return(C=n,f)|0}else{if(!g){n=0;f=0;return(C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return(C=n,f)|0}}g=(i|0)==0;do{if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return(C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return(C=o,p)|0}else{p=Vi(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return(C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return(C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return(C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Vi(i|0)|0)>>>0);return(C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return(C=o,p)|0}}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Si(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;Oi(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Oi(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return(C=o,p)|0}function bj(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Qa[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function cj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ra[a&63](b|0,c|0,d|0)|0}function dj(a,b){a=a|0;b=b|0;return+Sa[a&3](b|0)}function ej(a,b){a=a|0;b=b|0;Ta[a&7](b|0)}function fj(a,b,c){a=a|0;b=b|0;c=c|0;Ua[a&7](b|0,c|0)}function gj(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Va[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function hj(a,b){a=a|0;b=b|0;return Wa[a&15](b|0)|0}function ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Xa[a&15](b|0,c|0,d|0)}function jj(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return Ya[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function kj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Za[a&63](b|0,c|0,d|0,e|0)|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;return _a[a&7](b|0,c|0)|0}function mj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return $a[a&3](b|0,c|0,d|0,e|0,f|0)|0}function nj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ab[a&3](b|0,c|0,d|0,e|0)}function oj(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ba(0);return 0}function pj(a,b,c){a=a|0;b=b|0;c=c|0;ba(1);return 0}function qj(a){a=a|0;ba(2);return 0}function rj(a){a=a|0;ba(3)}function sj(a,b){a=a|0;b=b|0;ba(4)}function tj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(5);return 0}function uj(a){a=a|0;ba(6);return 0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;ba(7)}function wj(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;ba(8);return 0}function xj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(9);return 0}function yj(a,b){a=a|0;b=b|0;ba(10);return 0}function zj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(11);return 0}function Aj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(12)}var Qa=[oj,ed,We,oj];var Ra=[pj,Bi,Vh,Th,Ab,Bb,Cb,Db,Hc,Ic,Kc,$c,nd,Oe,af,od,pd,Ne,Pe,Lc,Mc,Nc,Oc,td,ud,vd,wd,yd,zd,Bd,Cd,Dd,Ed,Fd,Gd,Hd,Id,Jd,Kd,Ld,Md,Nd,Od,Pd,Qd,Rd,Sd,Td,Ud,Vd,Wd,Xd,ef,ff,gf,hf,jf,kf,lf,mf,Sh,Uh,pj,pj];var Sa=[qj,Yd,Zd,qj];var Ta=[rj,Yc,Ve,gg,hg,xi,yi,rj];var Ua=[sj,mb,nb,ob,Wb,Wc,Le,sj];var Va=[tj,dd,Ue,rd,Te,tj,tj,tj];var Wa=[uj,Rh,jd,kd,$e,_e,Yh,Kg,Hg,uj,uj,uj,uj,uj,uj,uj];var Xa=[vj,Ge,He,Ie,Je,Ae,Be,Ce,De,we,xe,ye,ze,gd,Ze,vj];var Ya=[wj,cd,Se,wj];var Za=[xj,de,ee,fe,ge,he,ie,je,ke,le,me,ne,oe,pe,qe,re,se,te,ue,ve,xf,yf,zf,rf,sf,tf,uf,vf,wf,wb,xb,yb,zb,ld,ad,Ke,Re,qd,Zc,Qe,Me,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj];var _a=[yj,Jc,nf,of,pf,qf,yj,yj];var $a=[zj,md,Xe,zj];var ab=[Aj,Og,Rg,Aj];return{_opj_stream_destroy:Fb,_opj_stream_set_read_function:Gb,_opj_read_tile_header:mc,_opj_set_warning_handler:cc,_opj_destroy_cstr_info:Cc,_opj_image_create:Yb,_opj_set_error_handler:dc,_opj_stream_set_user_data:Kb,_opj_end_decompress:wc,_bitshift64Lshr:Ti,_opj_stream_set_seek_function:Hb,_opj_decode:kc,_opj_set_decoded_resolution_factor:pc,_i64Add:Si,_opj_stream_create_default_file_stream:Fc,_opj_set_default_decoder_parameters:hc,_bitshift64Ashr:Pi,_opj_get_decoded_tile:oc,_memset:Qi,_opj_version:fc,_memcpy:Ui,_opj_destroy_cstr_index:Ec,_opj_stream_set_user_data_length:Lb,_opj_stream_set_skip_function:Jb,_opj_image_destroy:Zb,_opj_stream_create_file_stream:Gc,_opj_setup_encoder:sc,_opj_stream_default_create:Eb,_bitshift64Shl:Ri,_opj_stream_create:vb,_jp2_version:lb,_i64Subtract:Oi,_opj_get_cstr_index:Dc,_opj_encode:uc,_opj_read_header:jc,_opj_get_cstr_info:Bc,_opj_set_default_encoder_parameters:rc,_opj_set_decode_area:lc,_opj_stream_set_write_function:Ib,_opj_dump_codec:Ac,_opj_create_decompress:gc,_opj_decode_tile_data:nc,_free:Gi,_opj_image_tile_create:ac,_opj_set_MCT:xc,_opj_set_info_handler:bc,_opj_start_compress:tc,_opj_write_tile:yc,_opj_setup_decoder:ic,_malloc:Fi,_opj_end_compress:vc,_opj_destroy_codec:zc,_jp2_decode:kb,_opj_stream_create_buffer_stream:ec,_opj_create_compress:qc,runPostSets:Ni,stackAlloc:bb,stackSave:cb,stackRestore:db,establishStackSpace:eb,setThrew:fb,setTempRet0:ib,getTempRet0:jb,dynCall_iiiiiiii:bj,dynCall_iiii:cj,dynCall_di:dj,dynCall_vi:ej,dynCall_vii:fj,dynCall_iiiiiii:gj,dynCall_ii:hj,dynCall_viii:ij,dynCall_iiiiiiiiiiii:jj,dynCall_iiiii:kj,dynCall_iii:lj,dynCall_iiiiii:mj,dynCall_viiii:nj}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _opj_stream_destroy=Module["_opj_stream_destroy"]=asm["_opj_stream_destroy"];var _opj_stream_set_read_function=Module["_opj_stream_set_read_function"]=asm["_opj_stream_set_read_function"];var _opj_read_tile_header=Module["_opj_read_tile_header"]=asm["_opj_read_tile_header"];var _opj_set_warning_handler=Module["_opj_set_warning_handler"]=asm["_opj_set_warning_handler"];var _opj_destroy_cstr_info=Module["_opj_destroy_cstr_info"]=asm["_opj_destroy_cstr_info"];var _opj_image_create=Module["_opj_image_create"]=asm["_opj_image_create"];var _opj_set_error_handler=Module["_opj_set_error_handler"]=asm["_opj_set_error_handler"];var _opj_image_tile_create=Module["_opj_image_tile_create"]=asm["_opj_image_tile_create"];var _opj_end_decompress=Module["_opj_end_decompress"]=asm["_opj_end_decompress"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _opj_stream_set_seek_function=Module["_opj_stream_set_seek_function"]=asm["_opj_stream_set_seek_function"];var _opj_decode=Module["_opj_decode"]=asm["_opj_decode"];var _opj_set_decoded_resolution_factor=Module["_opj_set_decoded_resolution_factor"]=asm["_opj_set_decoded_resolution_factor"];var _opj_stream_create_default_file_stream=Module["_opj_stream_create_default_file_stream"]=asm["_opj_stream_create_default_file_stream"];var _opj_encode=Module["_opj_encode"]=asm["_opj_encode"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _opj_get_decoded_tile=Module["_opj_get_decoded_tile"]=asm["_opj_get_decoded_tile"];var _memset=Module["_memset"]=asm["_memset"];var _opj_version=Module["_opj_version"]=asm["_opj_version"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _opj_destroy_cstr_index=Module["_opj_destroy_cstr_index"]=asm["_opj_destroy_cstr_index"];var _opj_stream_set_user_data_length=Module["_opj_stream_set_user_data_length"]=asm["_opj_stream_set_user_data_length"];var _opj_stream_set_skip_function=Module["_opj_stream_set_skip_function"]=asm["_opj_stream_set_skip_function"];var _opj_image_destroy=Module["_opj_image_destroy"]=asm["_opj_image_destroy"];var _opj_stream_create_file_stream=Module["_opj_stream_create_file_stream"]=asm["_opj_stream_create_file_stream"];var _opj_setup_encoder=Module["_opj_setup_encoder"]=asm["_opj_setup_encoder"];var _opj_stream_default_create=Module["_opj_stream_default_create"]=asm["_opj_stream_default_create"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _opj_stream_create=Module["_opj_stream_create"]=asm["_opj_stream_create"];var _jp2_version=Module["_jp2_version"]=asm["_jp2_version"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _opj_get_cstr_index=Module["_opj_get_cstr_index"]=asm["_opj_get_cstr_index"];var _opj_set_default_decoder_parameters=Module["_opj_set_default_decoder_parameters"]=asm["_opj_set_default_decoder_parameters"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _opj_get_cstr_info=Module["_opj_get_cstr_info"]=asm["_opj_get_cstr_info"];var _opj_set_default_encoder_parameters=Module["_opj_set_default_encoder_parameters"]=asm["_opj_set_default_encoder_parameters"];var _opj_set_decode_area=Module["_opj_set_decode_area"]=asm["_opj_set_decode_area"];var _opj_stream_set_write_function=Module["_opj_stream_set_write_function"]=asm["_opj_stream_set_write_function"];var _opj_dump_codec=Module["_opj_dump_codec"]=asm["_opj_dump_codec"];var _opj_read_header=Module["_opj_read_header"]=asm["_opj_read_header"];var _opj_create_decompress=Module["_opj_create_decompress"]=asm["_opj_create_decompress"];var _opj_decode_tile_data=Module["_opj_decode_tile_data"]=asm["_opj_decode_tile_data"];var _opj_set_info_handler=Module["_opj_set_info_handler"]=asm["_opj_set_info_handler"];var _opj_stream_set_user_data=Module["_opj_stream_set_user_data"]=asm["_opj_stream_set_user_data"];var _opj_set_MCT=Module["_opj_set_MCT"]=asm["_opj_set_MCT"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _opj_start_compress=Module["_opj_start_compress"]=asm["_opj_start_compress"];var _opj_write_tile=Module["_opj_write_tile"]=asm["_opj_write_tile"];var _opj_setup_decoder=Module["_opj_setup_decoder"]=asm["_opj_setup_decoder"];var _malloc=Module["_malloc"]=asm["_malloc"];var _opj_end_compress=Module["_opj_end_compress"]=asm["_opj_end_compress"];var _opj_destroy_codec=Module["_opj_destroy_codec"]=asm["_opj_destroy_codec"];var _jp2_decode=Module["_jp2_decode"]=asm["_jp2_decode"];var _opj_stream_create_buffer_stream=Module["_opj_stream_create_buffer_stream"]=asm["_opj_stream_create_buffer_stream"];var _opj_create_compress=Module["_opj_create_compress"]=asm["_opj_create_compress"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=asm["dynCall_iiiiiiiiiiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",function(){process["exit"](status)});console.log(" ");setTimeout(function(){process["exit"](status)},500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach(function(decorator){output=decorator(output,what)})}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run();return Module};!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.pako=t()}}(function(){return function t(e,a,i){function n(s,o){if(!a[s]){if(!e[s]){var l="function"==typeof require&&require;if(!o&&l)return l(s,!0);if(r)return r(s,!0);var h=new Error("Cannot find module '"+s+"'");throw h.code="MODULE_NOT_FOUND",h}var d=a[s]={exports:{}};e[s][0].call(d.exports,function(t){var a=e[s][1][t];return n(a?a:t)},d,d.exports,t,e,a,i)}return a[s].exports}for(var r="function"==typeof require&&require,s=0;s0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new d,this.strm.avail_out=0;var a=s.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==c)throw new Error(h[a]);e.header&&s.deflateSetHeader(this.strm,e.header)};v.prototype.push=function(t,e){var a,i,n=this.strm,r=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:e===!0?u:_,"string"==typeof t?n.input=l.string2buf(t):"[object ArrayBuffer]"===f.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new o.Buf8(r),n.next_out=0,n.avail_out=r),a=s.deflate(n,i),a!==b&&a!==c)return this.onEnd(a),this.ended=!0,!1;(0===n.avail_out||0===n.avail_in&&(i===u||i===g))&&this.onData("string"===this.options.to?l.buf2binstring(o.shrinkBuf(n.output,n.next_out)):o.shrinkBuf(n.output,n.next_out))}while((n.avail_in>0||0===n.avail_out)&&a!==b);return i===u?(a=s.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===c):i===g?(this.onEnd(c),n.avail_out=0,!0):!0},v.prototype.onData=function(t){this.chunks.push(t)},v.prototype.onEnd=function(t){t===c&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Deflate=v,a.deflate=i,a.deflateRaw=n,a.gzip=r},{"./utils/common":3,"./utils/strings":4,"./zlib/deflate.js":8,"./zlib/messages":13,"./zlib/zstream":15}],2:[function(t,e,a){"use strict";function i(t,e){var a=new u(e);if(a.push(t,!0),a.err)throw a.msg;return a.result}function n(t,e){return e=e||{},e.raw=!0,i(t,e)}var r=t("./zlib/inflate.js"),s=t("./utils/common"),o=t("./utils/strings"),l=t("./zlib/constants"),h=t("./zlib/messages"),d=t("./zlib/zstream"),f=t("./zlib/gzheader"),_=Object.prototype.toString,u=function(t){this.options=s.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0===(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new d,this.strm.avail_out=0;var a=r.inflateInit2(this.strm,e.windowBits);if(a!==l.Z_OK)throw new Error(h[a]);this.header=new f,r.inflateGetHeader(this.strm,this.header)};u.prototype.push=function(t,e){var a,i,n,h,d,f=this.strm,u=this.options.chunkSize,c=!1;if(this.ended)return!1;i=e===~~e?e:e===!0?l.Z_FINISH:l.Z_NO_FLUSH,"string"==typeof t?f.input=o.binstring2buf(t):"[object ArrayBuffer]"===_.call(t)?f.input=new Uint8Array(t):f.input=t,f.next_in=0,f.avail_in=f.input.length;do{if(0===f.avail_out&&(f.output=new s.Buf8(u),f.next_out=0,f.avail_out=u),a=r.inflate(f,l.Z_NO_FLUSH),a===l.Z_BUF_ERROR&&c===!0&&(a=l.Z_OK,c=!1),a!==l.Z_STREAM_END&&a!==l.Z_OK)return this.onEnd(a),this.ended=!0,!1;f.next_out&&(0===f.avail_out||a===l.Z_STREAM_END||0===f.avail_in&&(i===l.Z_FINISH||i===l.Z_SYNC_FLUSH))&&("string"===this.options.to?(n=o.utf8border(f.output,f.next_out),h=f.next_out-n,d=o.buf2string(f.output,n),f.next_out=h,f.avail_out=u-h,h&&s.arraySet(f.output,f.output,n,h,0),this.onData(d)):this.onData(s.shrinkBuf(f.output,f.next_out))),0===f.avail_in&&0===f.avail_out&&(c=!0)}while((f.avail_in>0||0===f.avail_out)&&a!==l.Z_STREAM_END);return a===l.Z_STREAM_END&&(i=l.Z_FINISH),i===l.Z_FINISH?(a=r.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===l.Z_OK):i===l.Z_SYNC_FLUSH?(this.onEnd(l.Z_OK),f.avail_out=0,!0):!0},u.prototype.onData=function(t){this.chunks.push(t)},u.prototype.onEnd=function(t){t===l.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=s.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Inflate=u,a.inflate=i,a.inflateRaw=n,a.ungzip=i},{"./utils/common":3,"./utils/strings":4,"./zlib/constants":6,"./zlib/gzheader":9,"./zlib/inflate.js":11,"./zlib/messages":13,"./zlib/zstream":15}],3:[function(t,e,a){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;a.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(var i in a)a.hasOwnProperty(i)&&(t[i]=a[i])}}return t},a.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,a,i,n){if(e.subarray&&t.subarray)return void t.set(e.subarray(a,a+i),n);for(var r=0;i>r;r++)t[n+r]=e[a+r]},flattenChunks:function(t){var e,a,i,n,r,s;for(i=0,e=0,a=t.length;a>e;e++)i+=t[e].length;for(s=new Uint8Array(i),n=0,e=0,a=t.length;a>e;e++)r=t[e],s.set(r,n),n+=r.length;return s}},r={arraySet:function(t,e,a,i,n){for(var r=0;i>r;r++)t[n+r]=e[a+r]},flattenChunks:function(t){return[].concat.apply([],t)}};a.setTyped=function(t){t?(a.Buf8=Uint8Array,a.Buf16=Uint16Array,a.Buf32=Int32Array,a.assign(a,n)):(a.Buf8=Array,a.Buf16=Array,a.Buf32=Array,a.assign(a,r))},a.setTyped(i)},{}],4:[function(t,e,a){"use strict";function i(t,e){if(65537>e&&(t.subarray&&s||!t.subarray&&r))return String.fromCharCode.apply(null,n.shrinkBuf(t,e));for(var a="",i=0;e>i;i++)a+=String.fromCharCode(t[i]);return a}var n=t("./common"),r=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(o){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(o){s=!1}for(var l=new n.Buf8(256),h=0;256>h;h++)l[h]=h>=252?6:h>=248?5:h>=240?4:h>=224?3:h>=192?2:1;l[254]=l[254]=1,a.string2buf=function(t){var e,a,i,r,s,o=t.length,l=0;for(r=0;o>r;r++)a=t.charCodeAt(r),55296===(64512&a)&&o>r+1&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),l+=128>a?1:2048>a?2:65536>a?3:4;for(e=new n.Buf8(l),s=0,r=0;l>s;r++)a=t.charCodeAt(r),55296===(64512&a)&&o>r+1&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),128>a?e[s++]=a:2048>a?(e[s++]=192|a>>>6,e[s++]=128|63&a):65536>a?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},a.buf2binstring=function(t){return i(t,t.length)},a.binstring2buf=function(t){for(var e=new n.Buf8(t.length),a=0,i=e.length;i>a;a++)e[a]=t.charCodeAt(a);return e},a.buf2string=function(t,e){var a,n,r,s,o=e||t.length,h=new Array(2*o);for(n=0,a=0;o>a;)if(r=t[a++],128>r)h[n++]=r;else if(s=l[r],s>4)h[n++]=65533,a+=s-1;else{for(r&=2===s?31:3===s?15:7;s>1&&o>a;)r=r<<6|63&t[a++],s--;s>1?h[n++]=65533:65536>r?h[n++]=r:(r-=65536,h[n++]=55296|r>>10&1023,h[n++]=56320|1023&r)}return i(h,n)},a.utf8border=function(t,e){var a;for(e=e||t.length,e>t.length&&(e=t.length),a=e-1;a>=0&&128===(192&t[a]);)a--;return 0>a?e:0===a?e:a+l[t[a]]>e?a:e}},{"./common":3}],5:[function(t,e,a){"use strict";function i(t,e,a,i){for(var n=65535&t|0,r=t>>>16&65535|0,s=0;0!==a;){s=a>2e3?2e3:a,a-=s;do{n=n+e[i++]|0,r=r+n|0}while(--s);n%=65521,r%=65521}return n|r<<16|0}e.exports=i},{}],6:[function(t,e,a){e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(t,e,a){"use strict";function i(){for(var t,e=[],a=0;256>a;a++){t=a;for(var i=0;8>i;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e}function n(t,e,a,i){var n=r,s=i+a;t=-1^t;for(var o=i;s>o;o++)t=t>>>8^n[255&(t^e[o])];return-1^t}var r=i();e.exports=n},{}],8:[function(t,e,a){"use strict";function i(t,e){return t.msg=N[e],e}function n(t){return(t<<1)-(t>4?9:0)}function r(t){for(var e=t.length;--e>=0;)t[e]=0}function s(t){var e=t.state,a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(A.arraySet(t.output,e.pending_buf,e.pending_out,a,t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))}function o(t,e){Z._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,s(t.strm)}function l(t,e){t.pending_buf[t.pending++]=e}function h(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function d(t,e,a,i){var n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,A.arraySet(e,t.input,t.next_in,n,a),1===t.state.wrap?t.adler=R(t.adler,e,n,a):2===t.state.wrap&&(t.adler=C(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n)}function f(t,e){var a,i,n=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-ht?t.strstart-(t.w_size-ht):0,h=t.window,d=t.w_mask,f=t.prev,_=t.strstart+lt,u=h[r+s-1],c=h[r+s];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(a=e,h[a+s]===c&&h[a+s-1]===u&&h[a]===h[r]&&h[++a]===h[r+1]){r+=2,a++;do{}while(h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&_>r);if(i=lt-(_-r),r=_-lt,i>s){if(t.match_start=e,s=i,i>=o)break;u=h[r+s-1],c=h[r+s]}}}while((e=f[e&d])>l&&0!==--n);return s<=t.lookahead?s:t.lookahead}function _(t){var e,a,i,n,r,s=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=s+(s-ht)){A.arraySet(t.window,t.window,s,s,0),t.match_start-=s,t.strstart-=s,t.block_start-=s,a=t.hash_size,e=a;do{i=t.head[--e],t.head[e]=i>=s?i-s:0}while(--a);a=s,e=a;do{i=t.prev[--e],t.prev[e]=i>=s?i-s:0}while(--a);n+=s}if(0===t.strm.avail_in)break;if(a=d(t.strm,t.window,t.strstart+t.lookahead,n),t.lookahead+=a,t.lookahead+t.insert>=ot)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=(t.ins_h<t.pending_buf_size-5&&(a=t.pending_buf_size-5);;){if(t.lookahead<=1){if(_(t),0===t.lookahead&&e===O)return wt;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+a;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,o(t,!1),0===t.strm.avail_out))return wt;if(t.strstart-t.block_start>=t.w_size-ht&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?vt:kt):t.strstart>t.block_start&&(o(t,!1),0===t.strm.avail_out)?wt:wt}function c(t,e){for(var a,i;;){if(t.lookahead=ot&&(t.ins_h=(t.ins_h<=ot)if(i=Z._tr_tally(t,t.strstart-t.match_start,t.match_length-ot),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=ot){t.match_length--;do{t.strstart++,t.ins_h=(t.ins_h<=ot&&(t.ins_h=(t.ins_h<4096)&&(t.match_length=ot-1)),t.prev_length>=ot&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-ot,i=Z._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-ot),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=(t.ins_h<=ot&&t.strstart>0&&(n=t.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){r=t.strstart+lt;do{}while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&r>n);t.match_length=lt-(r-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=ot?(a=Z._tr_tally(t,1,t.match_length-ot),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=Z._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?vt:kt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:pt}function m(t,e){for(var a;;){if(0===t.lookahead&&(_(t),0===t.lookahead)){if(e===O)return wt;break}if(t.match_length=0,a=Z._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?vt:kt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:pt}function w(t){t.window_size=2*t.w_size,r(t.head),t.max_lazy_match=E[t.level].max_lazy,t.good_match=E[t.level].good_length,t.nice_match=E[t.level].nice_length,t.max_chain_length=E[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=ot-1,t.match_available=0,t.ins_h=0}function p(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=J,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new A.Buf16(2*rt),this.dyn_dtree=new A.Buf16(2*(2*it+1)),this.bl_tree=new A.Buf16(2*(2*nt+1)),r(this.dyn_ltree),r(this.dyn_dtree),r(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new A.Buf16(st+1),this.heap=new A.Buf16(2*at+1),r(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new A.Buf16(2*at+1),r(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function v(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=W,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?ft:gt,t.adler=2===e.wrap?0:1,e.last_flush=O,Z._tr_init(e),D):i(t,H)}function k(t){var e=v(t);return e===D&&w(t.state),e}function x(t,e){return t&&t.state?2!==t.state.wrap?H:(t.state.gzhead=e,D):H}function y(t,e,a,n,r,s){if(!t)return H;var o=1;if(e===M&&(e=6),0>n?(o=0,n=-n):n>15&&(o=2,n-=16),1>r||r>Q||a!==J||8>n||n>15||0>e||e>9||0>s||s>G)return i(t,H);8===n&&(n=9);var l=new p;return t.state=l,l.strm=t,l.wrap=o,l.gzhead=null,l.w_bits=n,l.w_size=1<>1,l.l_buf=3*l.lit_bufsize,l.level=e,l.strategy=s,l.method=a,k(t)}function z(t,e){return y(t,e,J,V,$,X)}function B(t,e){var a,o,d,f;if(!t||!t.state||e>T||0>e)return t?i(t,H):H;if(o=t.state,!t.output||!t.input&&0!==t.avail_in||o.status===mt&&e!==F)return i(t,0===t.avail_out?K:H);if(o.strm=t,a=o.last_flush,o.last_flush=e,o.status===ft)if(2===o.wrap)t.adler=0,l(o,31),l(o,139),l(o,8),o.gzhead?(l(o,(o.gzhead.text?1:0)+(o.gzhead.hcrc?2:0)+(o.gzhead.extra?4:0)+(o.gzhead.name?8:0)+(o.gzhead.comment?16:0)),l(o,255&o.gzhead.time),l(o,o.gzhead.time>>8&255),l(o,o.gzhead.time>>16&255),l(o,o.gzhead.time>>24&255),l(o,9===o.level?2:o.strategy>=Y||o.level<2?4:0),l(o,255&o.gzhead.os),o.gzhead.extra&&o.gzhead.extra.length&&(l(o,255&o.gzhead.extra.length),l(o,o.gzhead.extra.length>>8&255)),o.gzhead.hcrc&&(t.adler=C(t.adler,o.pending_buf,o.pending,0)),o.gzindex=0,o.status=_t):(l(o,0),l(o,0),l(o,0),l(o,0),l(o,0),l(o,9===o.level?2:o.strategy>=Y||o.level<2?4:0),l(o,xt),o.status=gt);else{var _=J+(o.w_bits-8<<4)<<8,u=-1;u=o.strategy>=Y||o.level<2?0:o.level<6?1:6===o.level?2:3,_|=u<<6,0!==o.strstart&&(_|=dt),_+=31-_%31,o.status=gt,h(o,_),0!==o.strstart&&(h(o,t.adler>>>16),h(o,65535&t.adler)),t.adler=1}if(o.status===_t)if(o.gzhead.extra){for(d=o.pending;o.gzindex<(65535&o.gzhead.extra.length)&&(o.pending!==o.pending_buf_size||(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending!==o.pending_buf_size));)l(o,255&o.gzhead.extra[o.gzindex]),o.gzindex++;o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),o.gzindex===o.gzhead.extra.length&&(o.gzindex=0,o.status=ut)}else o.status=ut;if(o.status===ut)if(o.gzhead.name){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindexd&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.gzindex=0,o.status=ct)}else o.status=ct;if(o.status===ct)if(o.gzhead.comment){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindexd&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.status=bt)}else o.status=bt;if(o.status===bt&&(o.gzhead.hcrc?(o.pending+2>o.pending_buf_size&&s(t),o.pending+2<=o.pending_buf_size&&(l(o,255&t.adler),l(o,t.adler>>8&255),t.adler=0,o.status=gt)):o.status=gt),0!==o.pending){if(s(t),0===t.avail_out)return o.last_flush=-1,D}else if(0===t.avail_in&&n(e)<=n(a)&&e!==F)return i(t,K);if(o.status===mt&&0!==t.avail_in)return i(t,K);if(0!==t.avail_in||0!==o.lookahead||e!==O&&o.status!==mt){var c=o.strategy===Y?m(o,e):o.strategy===q?g(o,e):E[o.level].func(o,e);if((c===vt||c===kt)&&(o.status=mt),c===wt||c===vt)return 0===t.avail_out&&(o.last_flush=-1),D;if(c===pt&&(e===I?Z._tr_align(o):e!==T&&(Z._tr_stored_block(o,0,0,!1),e===U&&(r(o.head),0===o.lookahead&&(o.strstart=0,o.block_start=0,o.insert=0))),s(t),0===t.avail_out))return o.last_flush=-1,D}return e!==F?D:o.wrap<=0?L:(2===o.wrap?(l(o,255&t.adler),l(o,t.adler>>8&255),l(o,t.adler>>16&255),l(o,t.adler>>24&255),l(o,255&t.total_in),l(o,t.total_in>>8&255),l(o,t.total_in>>16&255),l(o,t.total_in>>24&255)):(h(o,t.adler>>>16),h(o,65535&t.adler)),s(t),o.wrap>0&&(o.wrap=-o.wrap),0!==o.pending?D:L)}function S(t){var e;return t&&t.state?(e=t.state.status,e!==ft&&e!==_t&&e!==ut&&e!==ct&&e!==bt&&e!==gt&&e!==mt?i(t,H):(t.state=null,e===gt?i(t,j):D)):H}var E,A=t("../utils/common"),Z=t("./trees"),R=t("./adler32"),C=t("./crc32"),N=t("./messages"),O=0,I=1,U=3,F=4,T=5,D=0,L=1,H=-2,j=-3,K=-5,M=-1,P=1,Y=2,q=3,G=4,X=0,W=2,J=8,Q=9,V=15,$=8,tt=29,et=256,at=et+1+tt,it=30,nt=19,rt=2*at+1,st=15,ot=3,lt=258,ht=lt+ot+1,dt=32,ft=42,_t=69,ut=73,ct=91,bt=103,gt=113,mt=666,wt=1,pt=2,vt=3,kt=4,xt=3,yt=function(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n};E=[new yt(0,0,0,0,u),new yt(4,4,8,4,c),new yt(4,5,16,8,c),new yt(4,6,32,32,c),new yt(4,4,16,16,b),new yt(8,16,32,32,b),new yt(8,16,128,128,b),new yt(8,32,128,256,b),new yt(32,128,258,1024,b),new yt(32,258,258,4096,b)],a.deflateInit=z,a.deflateInit2=y,a.deflateReset=k,a.deflateResetKeep=v,a.deflateSetHeader=x,a.deflate=B,a.deflateEnd=S,a.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./messages":13,"./trees":14}],9:[function(t,e,a){"use strict";function i(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}e.exports=i},{}],10:[function(t,e,a){"use strict";var i=30,n=12;e.exports=function(t,e){var a,r,s,o,l,h,d,f,_,u,c,b,g,m,w,p,v,k,x,y,z,B,S,E,A;a=t.state,r=t.next_in,E=t.input,s=r+(t.avail_in-5),o=t.next_out,A=t.output,l=o-(e-t.avail_out),h=o+(t.avail_out-257),d=a.dmax,f=a.wsize,_=a.whave,u=a.wnext,c=a.window,b=a.hold,g=a.bits,m=a.lencode,w=a.distcode,p=(1<g&&(b+=E[r++]<>>24,b>>>=x,g-=x,x=k>>>16&255,0===x)A[o++]=65535&k;else{if(!(16&x)){if(0===(64&x)){k=m[(65535&k)+(b&(1<g&&(b+=E[r++]<>>=x,g-=x),15>g&&(b+=E[r++]<>>24,b>>>=x,g-=x,x=k>>>16&255,!(16&x)){if(0===(64&x)){k=w[(65535&k)+(b&(1<g&&(b+=E[r++]<g&&(b+=E[r++]<d){t.msg="invalid distance too far back",a.mode=i;break t}if(b>>>=x,g-=x,x=o-l,z>x){if(x=z-x,x>_&&a.sane){t.msg="invalid distance too far back",a.mode=i;break t}if(B=0,S=c,0===u){if(B+=f-x,y>x){y-=x;do{A[o++]=c[B++]}while(--x);B=o-z,S=A}}else if(x>u){if(B+=f+u-x,x-=u,y>x){y-=x;do{A[o++]=c[B++]}while(--x);if(B=0,y>u){x=u,y-=x;do{A[o++]=c[B++]}while(--x);B=o-z,S=A}}}else if(B+=u-x,y>x){y-=x;do{A[o++]=c[B++]}while(--x);B=o-z,S=A}for(;y>2;)A[o++]=S[B++],A[o++]=S[B++],A[o++]=S[B++],y-=3;y&&(A[o++]=S[B++],y>1&&(A[o++]=S[B++]))}else{B=o-z;do{A[o++]=A[B++],A[o++]=A[B++],A[o++]=A[B++],y-=3}while(y>2);y&&(A[o++]=A[B++],y>1&&(A[o++]=A[B++]))}break}}break}}while(s>r&&h>o);y=g>>3,r-=y,g-=y<<3,b&=(1<r?5+(s-r):5-(r-s),t.avail_out=h>o?257+(h-o):257-(o-h),a.hold=b,a.bits=g}},{}],11:[function(t,e,a){"use strict";function i(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function n(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new m.Buf16(320),this.work=new m.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function r(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=F,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new m.Buf32(ct),e.distcode=e.distdyn=new m.Buf32(bt),e.sane=1,e.back=-1,A):C}function s(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,r(t)):C}function o(t,e){var a,i;return t&&t.state?(i=t.state,0>e?(a=0,e=-e):(a=(e>>4)+1,48>e&&(e&=15)),e&&(8>e||e>15)?C:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,s(t))):C}function l(t,e){var a,i;return t?(i=new n,t.state=i,i.window=null,a=o(t,e),a!==A&&(t.state=null),a):C}function h(t){return l(t,mt)}function d(t){if(wt){var e;for(b=new m.Buf32(512),g=new m.Buf32(32),e=0;144>e;)t.lens[e++]=8;for(;256>e;)t.lens[e++]=9;for(;280>e;)t.lens[e++]=7;for(;288>e;)t.lens[e++]=8;for(k(y,t.lens,0,288,b,0,t.work,{bits:9}),e=0;32>e;)t.lens[e++]=5;k(z,t.lens,0,32,g,0,t.work,{bits:5}),wt=!1}t.lencode=b,t.lenbits=9,t.distcode=g,t.distbits=5}function f(t,e,a,i){var n,r=t.state;return null===r.window&&(r.wsize=1<=r.wsize?(m.arraySet(r.window,e,a-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(n=r.wsize-r.wnext,n>i&&(n=i),m.arraySet(r.window,e,a-i,n,r.wnext),i-=n,i?(m.arraySet(r.window,e,a-i,i,0),r.wnext=i,r.whave=r.wsize):(r.wnext+=n,r.wnext===r.wsize&&(r.wnext=0),r.whaveu;){if(0===l)break t;l--,_+=n[s++]<>>8&255,a.check=p(a.check,Et,2,0),_=0,u=0,a.mode=T;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&_)<<8)+(_>>8))%31){t.msg="incorrect header check",a.mode=ft;break}if((15&_)!==U){t.msg="unknown compression method",a.mode=ft;break}if(_>>>=4,u-=4,xt=(15&_)+8,0===a.wbits)a.wbits=xt;else if(xt>a.wbits){t.msg="invalid window size",a.mode=ft;break}a.dmax=1<u;){if(0===l)break t;l--,_+=n[s++]<>8&1),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0,a.mode=D;case D:for(;32>u;){if(0===l)break t;l--,_+=n[s++]<>>8&255,Et[2]=_>>>16&255,Et[3]=_>>>24&255,a.check=p(a.check,Et,4,0)),_=0,u=0,a.mode=L;case L:for(;16>u;){if(0===l)break t;l--,_+=n[s++]<>8),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0,a.mode=H;case H:if(1024&a.flags){for(;16>u;){if(0===l)break t;l--,_+=n[s++]<>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0}else a.head&&(a.head.extra=null);a.mode=j;case j:if(1024&a.flags&&(g=a.length,g>l&&(g=l),g&&(a.head&&(xt=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Array(a.head.extra_len)),m.arraySet(a.head.extra,n,s,g,xt)),512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,a.length-=g),a.length))break t;a.length=0,a.mode=K;case K:if(2048&a.flags){if(0===l)break t;g=0;do{xt=n[s+g++],a.head&&xt&&a.length<65536&&(a.head.name+=String.fromCharCode(xt))}while(xt&&l>g);if(512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,xt)break t}else a.head&&(a.head.name=null);a.length=0,a.mode=M;case M:if(4096&a.flags){if(0===l)break t;g=0;do{xt=n[s+g++],a.head&&xt&&a.length<65536&&(a.head.comment+=String.fromCharCode(xt))}while(xt&&l>g);if(512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,xt)break t}else a.head&&(a.head.comment=null);a.mode=P;case P:if(512&a.flags){for(;16>u;){if(0===l)break t;l--,_+=n[s++]<>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=G;break;case Y:for(;32>u;){if(0===l)break t;l--,_+=n[s++]<>>=7&u,u-=7&u,a.mode=lt;break}for(;3>u;){if(0===l)break t;l--,_+=n[s++]<>>=1,u-=1,3&_){case 0:a.mode=W;break;case 1:if(d(a),a.mode=et,e===E){_>>>=2,u-=2;break t}break;case 2:a.mode=V;break;case 3:t.msg="invalid block type",a.mode=ft}_>>>=2,u-=2;break;case W:for(_>>>=7&u,u-=7&u;32>u;){if(0===l)break t;l--,_+=n[s++]<>>16^65535)){t.msg="invalid stored block lengths",a.mode=ft;break}if(a.length=65535&_,_=0,u=0,a.mode=J,e===E)break t;case J:a.mode=Q;case Q:if(g=a.length){if(g>l&&(g=l),g>h&&(g=h),0===g)break t;m.arraySet(r,n,s,g,o),l-=g,s+=g,h-=g,o+=g,a.length-=g;break}a.mode=G;break;case V:for(;14>u;){if(0===l)break t;l--,_+=n[s++]<>>=5,u-=5,a.ndist=(31&_)+1,_>>>=5,u-=5,a.ncode=(15&_)+4,_>>>=4,u-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=ft;break}a.have=0,a.mode=$;case $:for(;a.haveu;){if(0===l)break t;l--,_+=n[s++]<>>=3,u-=3}for(;a.have<19;)a.lens[At[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,zt={bits:a.lenbits},yt=k(x,a.lens,0,19,a.lencode,0,a.work,zt),a.lenbits=zt.bits,yt){t.msg="invalid code lengths set",a.mode=ft;break}a.have=0,a.mode=tt;case tt:for(;a.have>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<wt)_>>>=gt,u-=gt,a.lens[a.have++]=wt;else{if(16===wt){for(Bt=gt+2;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=gt,u-=gt,0===a.have){t.msg="invalid bit length repeat",a.mode=ft;break}xt=a.lens[a.have-1],g=3+(3&_),_>>>=2,u-=2}else if(17===wt){for(Bt=gt+3;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=gt,u-=gt,xt=0,g=3+(7&_),_>>>=3,u-=3}else{for(Bt=gt+7;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=gt,u-=gt,xt=0,g=11+(127&_),_>>>=7,u-=7}if(a.have+g>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=ft;break}for(;g--;)a.lens[a.have++]=xt}}if(a.mode===ft)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=ft;break}if(a.lenbits=9,zt={bits:a.lenbits},yt=k(y,a.lens,0,a.nlen,a.lencode,0,a.work,zt),a.lenbits=zt.bits,yt){t.msg="invalid literal/lengths set",a.mode=ft;break}if(a.distbits=6,a.distcode=a.distdyn,zt={bits:a.distbits},yt=k(z,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,zt),a.distbits=zt.bits,yt){t.msg="invalid distances set",a.mode=ft;break}if(a.mode=et,e===E)break t;case et:a.mode=at;case at:if(l>=6&&h>=258){t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,v(t,b),o=t.next_out,r=t.output,h=t.avail_out,s=t.next_in,n=t.input,l=t.avail_in,_=a.hold,u=a.bits,a.mode===G&&(a.back=-1);break}for(a.back=0;St=a.lencode[_&(1<>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=pt+gt);){if(0===l)break t;l--,_+=n[s++]<>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,a.length=wt,0===mt){a.mode=ot;break}if(32&mt){a.back=-1,a.mode=G;break}if(64&mt){t.msg="invalid literal/length code",a.mode=ft;break}a.extra=15&mt,a.mode=it;case it:if(a.extra){for(Bt=a.extra;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=a.extra,u-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=nt;case nt:for(;St=a.distcode[_&(1<>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=pt+gt);){if(0===l)break t;l--,_+=n[s++]<>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,64&mt){t.msg="invalid distance code",a.mode=ft;break}a.offset=wt,a.extra=15&mt,a.mode=rt;case rt:if(a.extra){for(Bt=a.extra;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=a.extra,u-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=ft;break}a.mode=st;case st:if(0===h)break t;if(g=b-h,a.offset>g){if(g=a.offset-g,g>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=ft;break}g>a.wnext?(g-=a.wnext,ct=a.wsize-g):ct=a.wnext-g,g>a.length&&(g=a.length),bt=a.window}else bt=r,ct=o-a.offset,g=a.length;g>h&&(g=h),h-=g,a.length-=g;do{r[o++]=bt[ct++]}while(--g);0===a.length&&(a.mode=at);break;case ot:if(0===h)break t;r[o++]=a.length,h--,a.mode=at;break;case lt:if(a.wrap){for(;32>u;){if(0===l)break t;l--,_|=n[s++]<u;){if(0===l)break t;l--,_+=n[s++]<=Z;Z++)j[Z]=0;for(R=0;c>R;R++)j[e[a+R]]++;for(O=A,N=n;N>=1&&0===j[N];N--);if(O>N&&(O=N),0===N)return b[g++]=20971520,b[g++]=20971520,w.bits=1,0;for(C=1;N>C&&0===j[C];C++);for(C>O&&(O=C),F=1,Z=1;n>=Z;Z++)if(F<<=1,F-=j[Z],0>F)return-1;if(F>0&&(t===o||1!==N))return-1;for(K[1]=0,Z=1;n>Z;Z++)K[Z+1]=K[Z]+j[Z];for(R=0;c>R;R++)0!==e[a+R]&&(m[K[e[a+R]]++]=R);if(t===o?(L=M=m,z=19):t===l?(L=d,H-=257,M=f,P-=257,z=256):(L=_,M=u,z=-1),D=0,R=0,Z=C,y=g,I=O,U=0,k=-1,T=1<r||t===h&&T>s)return 1;for(var Y=0;;){Y++,B=Z-U,m[R]z?(S=M[P+m[R]],E=L[H+m[R]]):(S=96,E=0),p=1<>U)+v]=B<<24|S<<16|E|0}while(0!==v);for(p=1<>=1;if(0!==p?(D&=p-1,D+=p):D=0,R++,0===--j[Z]){if(Z===N)break;Z=e[a+m[R]]}if(Z>O&&(D&x)!==k){for(0===U&&(U=O),y+=C,I=Z-U,F=1<I+U&&(F-=j[I+U],!(0>=F));)I++,F<<=1;if(T+=1<r||t===h&&T>s)return 1;k=D&x,b[k]=O<<24|I<<16|y-g|0}}return 0!==D&&(b[y+D]=Z-U<<24|64<<16|0),w.bits=O,0}},{"../utils/common":3}],13:[function(t,e,a){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(t,e,a){"use strict";function i(t){for(var e=t.length;--e>=0;)t[e]=0}function n(t){return 256>t?st[t]:st[256+(t>>>7)]}function r(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function s(t,e,a){t.bi_valid>G-a?(t.bi_buf|=e<>G-t.bi_valid,t.bi_valid+=a-G):(t.bi_buf|=e<>>=1,a<<=1}while(--e>0);return a>>>1}function h(t){16===t.bi_valid?(r(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}function d(t,e){var a,i,n,r,s,o,l=e.dyn_tree,h=e.max_code,d=e.stat_desc.static_tree,f=e.stat_desc.has_stree,_=e.stat_desc.extra_bits,u=e.stat_desc.extra_base,c=e.stat_desc.max_length,b=0;for(r=0;q>=r;r++)t.bl_count[r]=0;for(l[2*t.heap[t.heap_max]+1]=0,a=t.heap_max+1;Y>a;a++)i=t.heap[a],r=l[2*l[2*i+1]+1]+1,r>c&&(r=c,b++),l[2*i+1]=r,i>h||(t.bl_count[r]++,s=0,i>=u&&(s=_[i-u]),o=l[2*i],t.opt_len+=o*(r+s),f&&(t.static_len+=o*(d[2*i+1]+s)));if(0!==b){do{for(r=c-1;0===t.bl_count[r];)r--;t.bl_count[r]--,t.bl_count[r+1]+=2,t.bl_count[c]--,b-=2}while(b>0);for(r=c;0!==r;r--)for(i=t.bl_count[r];0!==i;)n=t.heap[--a],n>h||(l[2*n+1]!==r&&(t.opt_len+=(r-l[2*n+1])*l[2*n],l[2*n+1]=r),i--)}}function f(t,e,a){var i,n,r=new Array(q+1),s=0;for(i=1;q>=i;i++)r[i]=s=s+a[i-1]<<1;for(n=0;e>=n;n++){var o=t[2*n+1];0!==o&&(t[2*n]=l(r[o]++,o))}}function _(){var t,e,a,i,n,r=new Array(q+1);for(a=0,i=0;H-1>i;i++)for(lt[i]=a,t=0;t<1<<$[i];t++)ot[a++]=i;for(ot[a-1]=i,n=0,i=0;16>i;i++)for(ht[i]=n,t=0;t<1<>=7;M>i;i++)for(ht[i]=n<<7,t=0;t<1<=e;e++)r[e]=0;for(t=0;143>=t;)nt[2*t+1]=8,t++,r[8]++;for(;255>=t;)nt[2*t+1]=9,t++,r[9]++;for(;279>=t;)nt[2*t+1]=7,t++,r[7]++;for(;287>=t;)nt[2*t+1]=8,t++,r[8]++;for(f(nt,K+1,r),t=0;M>t;t++)rt[2*t+1]=5,rt[2*t]=l(t,5);dt=new ut(nt,$,j+1,K,q),ft=new ut(rt,tt,0,M,q),_t=new ut(new Array(0),et,0,P,X)}function u(t){var e;for(e=0;K>e;e++)t.dyn_ltree[2*e]=0;for(e=0;M>e;e++)t.dyn_dtree[2*e]=0;for(e=0;P>e;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*W]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function c(t){t.bi_valid>8?r(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function b(t,e,a,i){c(t),i&&(r(t,a),r(t,~a)),R.arraySet(t.pending_buf,t.window,e,a,t.pending),t.pending+=a}function g(t,e,a,i){var n=2*e,r=2*a;return t[n]a;a++)0!==r[2*a]?(t.heap[++t.heap_len]=h=a,t.depth[a]=0):r[2*a+1]=0;for(;t.heap_len<2;)n=t.heap[++t.heap_len]=2>h?++h:0,r[2*n]=1,t.depth[n]=0,t.opt_len--,o&&(t.static_len-=s[2*n+1]);for(e.max_code=h,a=t.heap_len>>1;a>=1;a--)m(t,r,a);n=l;do{a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],m(t,r,1),i=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=i,r[2*n]=r[2*a]+r[2*i],t.depth[n]=(t.depth[a]>=t.depth[i]?t.depth[a]:t.depth[i])+1,r[2*a+1]=r[2*i+1]=n,t.heap[1]=n++,m(t,r,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],d(t,e),f(r,h,t.bl_count)}function v(t,e,a){var i,n,r=-1,s=e[1],o=0,l=7,h=4;for(0===s&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;a>=i;i++)n=s,s=e[2*(i+1)+1],++oo?t.bl_tree[2*n]+=o:0!==n?(n!==r&&t.bl_tree[2*n]++,t.bl_tree[2*J]++):10>=o?t.bl_tree[2*Q]++:t.bl_tree[2*V]++,o=0,r=n,0===s?(l=138,h=3):n===s?(l=6,h=3):(l=7,h=4))}function k(t,e,a){var i,n,r=-1,l=e[1],h=0,d=7,f=4;for(0===l&&(d=138,f=3),i=0;a>=i;i++)if(n=l,l=e[2*(i+1)+1],!(++hh){do{o(t,n,t.bl_tree)}while(0!==--h)}else 0!==n?(n!==r&&(o(t,n,t.bl_tree),h--),o(t,J,t.bl_tree),s(t,h-3,2)):10>=h?(o(t,Q,t.bl_tree),s(t,h-3,3)):(o(t,V,t.bl_tree),s(t,h-11,7));h=0,r=n,0===l?(d=138,f=3):n===l?(d=6,f=3):(d=7,f=4)}}function x(t){var e;for(v(t,t.dyn_ltree,t.l_desc.max_code),v(t,t.dyn_dtree,t.d_desc.max_code),p(t,t.bl_desc),e=P-1;e>=3&&0===t.bl_tree[2*at[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}function y(t,e,a,i){var n;for(s(t,e-257,5),s(t,a-1,5),s(t,i-4,4),n=0;i>n;n++)s(t,t.bl_tree[2*at[n]+1],3);k(t,t.dyn_ltree,e-1),k(t,t.dyn_dtree,a-1)}function z(t){var e,a=4093624447;for(e=0;31>=e;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return N;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return O;for(e=32;j>e;e++)if(0!==t.dyn_ltree[2*e])return O;return N}function B(t){bt||(_(),bt=!0),t.l_desc=new ct(t.dyn_ltree,dt),t.d_desc=new ct(t.dyn_dtree,ft),t.bl_desc=new ct(t.bl_tree,_t),t.bi_buf=0,t.bi_valid=0,u(t)}function S(t,e,a,i){s(t,(U<<1)+(i?1:0),3),b(t,e,a,!0)}function E(t){s(t,F<<1,3),o(t,W,nt),h(t)}function A(t,e,a,i){var n,r,o=0;t.level>0?(t.strm.data_type===I&&(t.strm.data_type=z(t)),p(t,t.l_desc),p(t,t.d_desc),o=x(t),n=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,n>=r&&(n=r)):n=r=a+5,n>=a+4&&-1!==e?S(t,e,a,i):t.strategy===C||r===n?(s(t,(F<<1)+(i?1:0),3),w(t,nt,rt)):(s(t,(T<<1)+(i?1:0),3),y(t,t.l_desc.max_code+1,t.d_desc.max_code+1,o+1),w(t,t.dyn_ltree,t.dyn_dtree)),u(t),i&&c(t)}function Z(t,e,a){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&a,t.last_lit++,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(ot[a]+j+1)]++,t.dyn_dtree[2*n(e)]++),t.last_lit===t.lit_bufsize-1}var R=t("../utils/common"),C=4,N=0,O=1,I=2,U=0,F=1,T=2,D=3,L=258,H=29,j=256,K=j+1+H,M=30,P=19,Y=2*K+1,q=15,G=16,X=7,W=256,J=16,Q=17,V=18,$=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],tt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],et=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],at=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],it=512,nt=new Array(2*(K+2));i(nt);var rt=new Array(2*M);i(rt);var st=new Array(it);i(st);var ot=new Array(L-D+1);i(ot);var lt=new Array(H);i(lt);var ht=new Array(M);i(ht);var dt,ft,_t,ut=function(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length},ct=function(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e},bt=!1;a._tr_init=B,a._tr_stored_block=S,a._tr_flush_block=A,a._tr_tally=Z,a._tr_align=E},{"../utils/common":3}],15:[function(t,e,a){"use strict";function i(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}e.exports=i},{}],"/":[function(t,e,a){"use strict";var i=t("./lib/utils/common").assign,n=t("./lib/deflate"),r=t("./lib/inflate"),s=t("./lib/zlib/constants"),o={};i(o,n,r,s),e.exports=o},{"./lib/deflate":1,"./lib/inflate":2,"./lib/utils/common":3,"./lib/zlib/constants":6}]},{},[])("/")}); \ No newline at end of file +var OpenJPEG=function(Module){Module=Module||{};var Module;if(!Module)Module=(typeof OpenJPEG!=="undefined"?OpenJPEG:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?function(x){dump(x)}:function(x){}}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=function(title){document.title=title}}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=function(){}}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:function(value){tempRet0=value},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(stackTop){STACKTOP=stackTop},getNativeTypeSize:function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}},getNativeFieldSize:function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr},getAlignSize:function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)},dynCall:function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}},functionPointers:[],addFunction:function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret},alignMemory:function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret},makeBigInt:function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret},stringToC:function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret}};var toC={string:JSfuncs["stringToC"],array:JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||4e8;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32};Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+25664;__ATINIT__.push();allocate([131,192,202,161,69,182,251,63,127,251,58,112,206,136,234,63,127,251,58,112,206,136,234,63,131,192,202,161,69,182,251,63,225,122,20,174,71,225,252,63,94,186,73,12,2,43,249,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,6,64,0,0,0,0,0,128,21,64,92,143,194,245,40,92,37,64,215,163,112,61,10,87,53,64,246,40,92,143,194,85,69,64,133,235,81,184,30,85,85,64,102,102,102,102,102,86,101,64,205,204,204,204,204,84,117,64,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,173,250,92,109,197,254,230,63,86,125,174,182,98,127,237,63,199,75,55,137,65,96,249,63,242,210,77,98,16,88,8,64,250,126,106,188,116,19,24,64,133,235,81,184,30,5,40,64,0,0,0,0,0,0,56,64,92,143,194,245,40,252,71,64,236,81,184,30,133,251,87,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,113,61,10,215,163,112,255,63,104,145,237,124,63,181,16,64,117,147,24,4,86,206,32,64,102,102,102,102,102,230,48,64,236,81,184,30,133,235,64,64,92,143,194,245,40,236,80,64,154,153,153,153,153,233,96,64,154,153,153,153,153,233,112,64,51,51,51,51,51,231,128,64,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,164,112,61,10,215,163,0,64,236,81,184,30,133,235,14,64,119,190,159,26,47,157,32,64,174,71,225,122,20,46,49,64,123,20,174,71,225,90,65,64,246,40,92,143,194,101,81,64,154,153,153,153,153,105,97,64,154,153,153,153,153,105,113,64,154,153,153,153,153,105,129,64,0,0,0,0,0,0,0,0,4,0,0,0,67,80,82,76,0,0,0,0,0,0,0,0,76,82,67,80,0,0,0,0,3,0,0,0,80,67,82,76,0,0,0,0,1,0,0,0,82,76,67,80,0,0,0,0,2,0,0,0,82,80,67,76,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,144,255,0,0,12,0,0,0,1,0,0,0,82,255,0,0,20,0,0,0,2,0,0,0,83,255,0,0,20,0,0,0,3,0,0,0,94,255,0,0,20,0,0,0,4,0,0,0,92,255,0,0,20,0,0,0,5,0,0,0,93,255,0,0,20,0,0,0,6,0,0,0,95,255,0,0,20,0,0,0,7,0,0,0,81,255,0,0,2,0,0,0,8,0,0,0,85,255,0,0,4,0,0,0,9,0,0,0,87,255,0,0,4,0,0,0,10,0,0,0,88,255,0,0,16,0,0,0,11,0,0,0,96,255,0,0,4,0,0,0,12,0,0,0,97,255,0,0,16,0,0,0,13,0,0,0,145,255,0,0,0,0,0,0,0,0,0,0,99,255,0,0,4,0,0,0,14,0,0,0,100,255,0,0,20,0,0,0,15,0,0,0,116,255,0,0,20,0,0,0,16,0,0,0,120,255,0,0,4,0,0,0,17,0,0,0,117,255,0,0,20,0,0,0,18,0,0,0,119,255,0,0,20,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,32,32,80,106,20,0,0,0,112,121,116,102,21,0,0,0,104,50,112,106,22,0,0,0,114,100,104,105,23,0,0,0,114,108,111,99,24,0,0,0,99,99,112,98,25,0,0,0,114,108,99,112,26,0,0,0,112,97,109,99,27,0,0,0,102,101,100,99,28,0,0,0,1,86,0,0,0,0,0,0,164,4,0,0,180,4,0,0,1,86,0,0,1,0,0,0,180,4,0,0,164,4,0,0,1,52,0,0,0,0,0,0,196,4,0,0,68,5,0,0,1,52,0,0,1,0,0,0,212,4,0,0,84,5,0,0,1,24,0,0,0,0,0,0,228,4,0,0,164,5,0,0,1,24,0,0,1,0,0,0,244,4,0,0,180,5,0,0,193,10,0,0,0,0,0,0,4,5,0,0,4,6,0,0,193,10,0,0,1,0,0,0,20,5,0,0,20,6,0,0,33,5,0,0,0,0,0,0,36,5,0,0,36,8,0,0,33,5,0,0,1,0,0,0,52,5,0,0,52,8,0,0,33,2,0,0,0,0,0,0,68,9,0,0,164,8,0,0,33,2,0,0,1,0,0,0,84,9,0,0,180,8,0,0,1,86,0,0,0,0,0,0,100,5,0,0,84,5,0,0,1,86,0,0,1,0,0,0,116,5,0,0,68,5,0,0,1,84,0,0,0,0,0,0,132,5,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,5,0,0,84,6,0,0,1,72,0,0,0,0,0,0,164,5,0,0,68,6,0,0,1,72,0,0,1,0,0,0,180,5,0,0,84,6,0,0,1,56,0,0,0,0,0,0,196,5,0,0,68,6,0,0,1,56,0,0,1,0,0,0,212,5,0,0,84,6,0,0,1,48,0,0,0,0,0,0,228,5,0,0,164,6,0,0,1,48,0,0,1,0,0,0,244,5,0,0,180,6,0,0,1,36,0,0,0,0,0,0,4,6,0,0,196,6,0,0,1,36,0,0,1,0,0,0,20,6,0,0,212,6,0,0,1,28,0,0,0,0,0,0,36,6,0,0,4,7,0,0,1,28,0,0,1,0,0,0,52,6,0,0,20,7,0,0,1,22,0,0,0,0,0,0,36,8,0,0,36,7,0,0,1,22,0,0,1,0,0,0,52,8,0,0,52,7,0,0,1,86,0,0,0,0,0,0,100,6,0,0,84,6,0,0,1,86,0,0,1,0,0,0,116,6,0,0,68,6,0,0,1,84,0,0,0,0,0,0,132,6,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,6,0,0,84,6,0,0,1,81,0,0,0,0,0,0,164,6,0,0,100,6,0,0,1,81,0,0,1,0,0,0,180,6,0,0,116,6,0,0,1,72,0,0,0,0,0,0,196,6,0,0,132,6,0,0,1,72,0,0,1,0,0,0,212,6,0,0,148,6,0,0,1,56,0,0,0,0,0,0,228,6,0,0,164,6,0,0,1,56,0,0,1,0,0,0,244,6,0,0,180,6,0,0,1,52,0,0,0,0,0,0,4,7,0,0,196,6,0,0,1,52,0,0,1,0,0,0,20,7,0,0,212,6,0,0,1,48,0,0,0,0,0,0,36,7,0,0,228,6,0,0,1,48,0,0,1,0,0,0,52,7,0,0,244,6,0,0,1,40,0,0,0,0,0,0,68,7,0,0,228,6,0,0,1,40,0,0,1,0,0,0,84,7,0,0,244,6,0,0,1,36,0,0,0,0,0,0,100,7,0,0,4,7,0,0,1,36,0,0,1,0,0,0,116,7,0,0,20,7,0,0,1,34,0,0,0,0,0,0,132,7,0,0,36,7,0,0,1,34,0,0,1,0,0,0,148,7,0,0,52,7,0,0,1,28,0,0,0,0,0,0,164,7,0,0,68,7,0,0,1,28,0,0,1,0,0,0,180,7,0,0,84,7,0,0,1,24,0,0,0,0,0,0,196,7,0,0,100,7,0,0,1,24,0,0,1,0,0,0,212,7,0,0,116,7,0,0,1,22,0,0,0,0,0,0,228,7,0,0,132,7,0,0,1,22,0,0,1,0,0,0,244,7,0,0,148,7,0,0,1,20,0,0,0,0,0,0,4,8,0,0,164,7,0,0,1,20,0,0,1,0,0,0,20,8,0,0,180,7,0,0,1,18,0,0,0,0,0,0,36,8,0,0,196,7,0,0,1,18,0,0,1,0,0,0,52,8,0,0,212,7,0,0,1,17,0,0,0,0,0,0,68,8,0,0,228,7,0,0,1,17,0,0,1,0,0,0,84,8,0,0,244,7,0,0,193,10,0,0,0,0,0,0,100,8,0,0,4,8,0,0,193,10,0,0,1,0,0,0,116,8,0,0,20,8,0,0,193,9,0,0,0,0,0,0,132,8,0,0,36,8,0,0,193,9,0,0,1,0,0,0,148,8,0,0,52,8,0,0,161,8,0,0,0,0,0,0,164,8,0,0,68,8,0,0,161,8,0,0,1,0,0,0,180,8,0,0,84,8,0,0,33,5,0,0,0,0,0,0,196,8,0,0,100,8,0,0,33,5,0,0,1,0,0,0,212,8,0,0,116,8,0,0,65,4,0,0,0,0,0,0,228,8,0,0,132,8,0,0,65,4,0,0,1,0,0,0,244,8,0,0,148,8,0,0,161,2,0,0,0,0,0,0,4,9,0,0,164,8,0,0,161,2,0,0,1,0,0,0,20,9,0,0,180,8,0,0,33,2,0,0,0,0,0,0,36,9,0,0,196,8,0,0,33,2,0,0,1,0,0,0,52,9,0,0,212,8,0,0,65,1,0,0,0,0,0,0,68,9,0,0,228,8,0,0,65,1,0,0,1,0,0,0,84,9,0,0,244,8,0,0,17,1,0,0,0,0,0,0,100,9,0,0,4,9,0,0,17,1,0,0,1,0,0,0,116,9,0,0,20,9,0,0,133,0,0,0,0,0,0,0,132,9,0,0,36,9,0,0,133,0,0,0,1,0,0,0,148,9,0,0,52,9,0,0,73,0,0,0,0,0,0,0,164,9,0,0,68,9,0,0,73,0,0,0,1,0,0,0,180,9,0,0,84,9,0,0,37,0,0,0,0,0,0,0,196,9,0,0,100,9,0,0,37,0,0,0,1,0,0,0,212,9,0,0,116,9,0,0,21,0,0,0,0,0,0,0,228,9,0,0,132,9,0,0,21,0,0,0,1,0,0,0,244,9,0,0,148,9,0,0,9,0,0,0,0,0,0,0,4,10,0,0,164,9,0,0,9,0,0,0,1,0,0,0,20,10,0,0,180,9,0,0,5,0,0,0,0,0,0,0,36,10,0,0,196,9,0,0,5,0,0,0,1,0,0,0,52,10,0,0,212,9,0,0,1,0,0,0,0,0,0,0,36,10,0,0,228,9,0,0,1,0,0,0,1,0,0,0,52,10,0,0,244,9,0,0,1,86,0,0,0,0,0,0,68,10,0,0,68,10,0,0,1,86,0,0,1,0,0,0,84,10,0,0,84,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,11,0,0,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,38,94,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,64,4,32,0,32,2,128,0,128,8,16,0,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,0,3,128,4,0,6,128,7,0,9,128,10,0,12,128,13,0,15,128,16,0,18,128,19,0,21,128,22,0,24,128,25,0,27,128,28,0,30,128,31,0,33,128,34,0,36,128,37,0,39,128,40,0,42,128,43,0,45,128,46,0,48,128,49,0,51,128,52,0,54,128,55,0,57,128,58,0,60,128,61,0,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,0,81,128,82,0,84,128,85,0,87,128,88,0,90,128,91,0,93,128,94,0,96,128,97,0,99,128,100,0,102,128,103,0,105,128,106,0,108,128,109,0,111,128,112,0,114,128,115,0,117,128,118,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,128,38,128,39,128,40,128,41,0,43,0,44,0,45,128,46,128,47,0,49,0,50,128,51,128,52,0,54,0,55,128,56,0,58,0,59,128,60,0,62,128,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,128,81,0,83,128,84,0,86,0,88,128,89,0,91,0,93,128,94,128,96,0,98,0,100,128,101,128,103,0,105,0,107,0,109,128,110,128,112,128,114,128,116,0,118,0,120,0,122,0,124,0,126,0,24,128,23,0,23,128,22,0,22,128,21,0,21,128,20,0,20,128,19,0,19,128,18,0,18,128,17,0,17,128,16,0,16,128,15,0,15,128,14,0,14,128,13,0,13,128,12,0,12,128,11,0,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,0,5,128,4,0,4,128,3,0,3,128,2,0,2,128,1,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,1,128,1,0,2,128,2,0,3,128,3,0,4,128,4,0,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,0,11,128,11,0,12,128,12,0,13,128,13,0,14,128,14,0,15,128,15,0,16,128,16,0,17,128,17,0,18,128,18,0,19,128,19,0,20,128,20,0,21,128,21,0,22,128,22,0,23,128,23,0,32,0,31,0,30,0,29,0,28,0,27,128,26,128,25,128,24,128,23,0,23,0,22,0,21,128,20,128,19,0,19,0,18,128,17,128,16,0,16,0,15,128,14,0,14,0,13,128,12,0,12,128,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,128,5,0,5,128,4,0,4,0,4,128,3,0,3,0,3,128,2,128,2,0,2,0,2,128,1,128,1,0,1,0,1,0,1,128,0,128,0,128,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,116,104,101,32,100,101,99,111,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,104,101,97,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,33,0,91,69,82,82,79,82,93,32,37,115,0,83,116,114,101,97,109,32,114,101,97,99,104,101,100,32,105,116,115,32,101,110,100,32,33,10,0,69,114,114,111,114,32,111,110,32,119,114,105,116,105,110,103,32,115,116,114,101,97,109,33,10,0,83,116,114,101,97,109,32,101,114,114,111,114,33,10,0,50,46,49,46,48,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,115,101,116,117,112,95,100,101,99,111,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,114,101,97,100,95,104,101,97,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,119,98,0,114,98,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,44,37,100,93,10,0,68,101,112,114,101,99,97,116,101,100,32,102,105,101,108,100,115,32,99,112,95,99,105,110,101,109,97,32,111,114,32,99,112,95,114,115,105,122,32,97,114,101,32,117,115,101,100,10,80,108,101,97,115,101,32,99,111,110,115,105,100,101,114,32,117,115,105,110,103,32,111,110,108,121,32,116,104,101,32,114,115,105,122,32,102,105,101,108,100,10,83,101,101,32,111,112,101,110,106,112,101,103,46,104,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,10,0,84,104,101,32,100,101,115,105,114,101,100,32,109,97,120,105,109,117,109,32,99,111,100,101,115,116,114,101,97,109,32,115,105,122,101,32,104,97,115,32,108,105,109,105,116,101,100,10,97,116,32,108,101,97,115,116,32,111,110,101,32,111,102,32,116,104,101,32,100,101,115,105,114,101,100,32,113,117,97,108,105,116,121,32,108,97,121,101,114,115,10,0,74,80,69,71,32,50,48,48,48,32,83,99,97,108,97,98,108,101,32,68,105,103,105,116,97,108,32,67,105,110,101,109,97,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,49,32,115,105,110,103,108,101,32,113,117,97,108,105,116,121,32,108,97,121,101,114,45,62,32,78,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,45,62,32,82,97,116,101,32,111,102,32,116,104,101,32,108,97,115,116,32,108,97,121,101,114,32,40,37,51,46,49,102,41,32,119,105,108,108,32,98,101,32,117,115,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,60,61,32,53,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,53,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,54,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,51,48,50,48,56,51,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,48,52,49,54,54,54,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,51,32,99,111,109,112,111,110,101,110,116,115,45,62,32,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,115,105,103,110,101,100,0,117,110,115,105,103,110,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,80,114,101,99,105,115,105,111,110,32,111,102,32,101,97,99,104,32,99,111,109,112,111,110,101,110,116,32,115,104,97,108,108,32,98,101,32,49,50,32,98,105,116,115,32,117,110,115,105,103,110,101,100,45,62,32,65,116,32,108,101,97,115,116,32,99,111,109,112,111,110,101,110,116,32,37,100,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,32,98,105,116,115,44,32,37,115,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,50,48,52,56,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,49,48,56,48,10,45,62,32,73,110,112,117,116,32,105,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,52,48,57,54,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,50,49,54,48,10,45,62,32,73,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,52,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,76,111,110,103,32,84,101,114,109,32,83,116,111,114,97,103,101,32,112,114,111,102,105,108,101,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,66,114,111,97,100,99,97,115,116,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,73,77,70,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,97,114,116,45,50,32,112,114,111,102,105,108,101,32,100,101,102,105,110,101,100,10,98,117,116,32,110,111,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,46,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,85,110,115,117,112,112,111,114,116,101,100,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,117,115,101,114,32,101,110,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,37,115,37,115,0,67,114,101,97,116,101,100,32,98,121,32,79,112,101,110,74,80,69,71,32,118,101,114,115,105,111,110,32,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,104,101,99,107,105,110,103,32,116,104,101,32,112,111,99,32,118,97,108,117,101,115,46,10,0,77,105,115,115,105,110,103,32,112,97,99,107,101,116,115,32,112,111,115,115,105,98,108,101,32,108,111,115,115,32,111,102,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,101,109,112,32,98,117,102,102,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,70,97,105,108,101,100,32,116,111,32,105,110,118,101,114,115,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,110,111,114,109,115,32,10,0,70,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,106,50,107,32,109,99,116,32,101,110,99,111,100,105,110,103,10,0,67,97,110,110,111,116,32,112,101,114,102,111,114,109,32,77,67,84,32,111,110,32,99,111,109,112,111,110,101,110,116,115,32,119,105,116,104,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,46,32,68,105,115,97,98,108,105,110,103,32,77,67,84,46,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,10,0,73,110,99,111,110,115,105,115,116,101,110,116,32,109,97,114,107,101,114,32,115,105,122,101,10,0,77,97,114,107,101,114,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,32,119,105,116,104,32,105,116,115,32,112,111,115,105,116,105,111,110,10,0,77,97,114,107,101,114,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,104,101,97,100,101,114,10,0,78,111,116,32,115,117,114,101,32,104,111,119,32,116,104,97,116,32,104,97,112,112,101,110,101,100,46,10,0,70,97,105,108,32,116,111,32,114,101,97,100,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,40,37,35,120,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,116,108,32,109,97,114,107,101,114,10,0,84,105,108,101,32,112,97,114,116,32,108,101,110,103,116,104,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,79,84,32,109,97,114,107,101,114,10,0,111,112,106,95,106,50,107,95,97,112,112,108,121,95,110,98,95,116,105,108,101,95,112,97,114,116,115,95,99,111,114,114,101,99,116,105,111,110,32,101,114,114,111,114,10,0,78,111,110,32,99,111,110,102,111,114,109,97,110,116,32,99,111,100,101,115,116,114,101,97,109,32,84,80,115,111,116,61,61,84,78,115,111,116,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,84,32,109,97,114,107,101,114,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,84,32,100,97,116,97,10,0,67,97,110,110,111,116,32,100,101,99,111,100,101,32,116,105,108,101,44,32,109,101,109,111,114,121,32,101,114,114,111,114,10,0,72,101,97,100,101,114,32,111,102,32,116,105,108,101,32,37,100,32,47,32,37,100,32,104,97,115,32,98,101,101,110,32,114,101,97,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,46,10,0,78,111,32,69,79,67,32,109,97,114,107,101,114,46,32,80,111,115,115,105,98,108,121,32,97,32,116,114,117,110,99,97,116,101,100,32,115,116,114,101,97,109,10,0,83,116,114,101,97,109,32,100,111,101,115,32,110,111,116,32,101,110,100,32,119,105,116,104,32,69,79,67,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,44,32,101,120,112,101,99,116,101,100,32,83,79,84,10,0,78,101,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,98,101,102,111,114,101,32,98,101,103,105,110,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,99,111,100,101,115,116,114,101,97,109,0,78,111,32,100,101,99,111,100,101,100,32,97,114,101,97,32,112,97,114,97,109,101,116,101,114,115,44,32,115,101,116,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,116,111,32,116,104,101,32,119,104,111,108,101,32,105,109,97,103,101,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,83,105,122,101,32,120,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,119,61,37,100,41,46,10,0,83,105,122,101,32,121,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,104,61,37,100,41,46,10,0,83,101,116,116,105,110,103,32,100,101,99,111,100,105,110,103,32,97,114,101,97,32,116,111,32,37,100,44,37,100,44,37,100,44,37,100,10,0,87,114,111,110,103,32,102,108,97,103,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,102,111,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,116,120,48,61,37,100,44,32,116,121,48,61,37,100,10,0,9,32,116,100,120,61,37,100,44,32,116,100,121,61,37,100,10,0,9,32,116,119,61,37,100,44,32,116,104,61,37,100,10,0,125,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,100,101,120,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,77,97,105,110,32,104,101,97,100,101,114,32,115,116,97,114,116,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,9,32,77,97,105,110,32,104,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([97,100,101,114,32,101,110,100,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,0,9,32,77,97,114,107,101,114,32,108,105,115,116,58,32,123,10,0,9,9,32,116,121,112,101,61,37,35,120,44,32,112,111,115,61,37,108,108,105,44,32,108,101,110,61,37,100,10,0,9,32,125,10,0,9,32,84,105,108,101,32,105,110,100,101,120,58,32,123,10,0,9,9,32,110,98,32,111,102,32,116,105,108,101,45,112,97,114,116,32,105,110,32,116,105,108,101,32,91,37,100,93,61,37,100,10,0,9,9,9,32,116,105,108,101,45,112,97,114,116,91,37,100,93,58,32,115,116,97,114,95,112,111,115,61,37,108,108,105,44,32,101,110,100,95,104,101,97,100,101,114,61,37,108,108,105,44,32,101,110,100,95,112,111,115,61,37,108,108,105,46,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,73,109,97,103,101,32,105,110,102,111,32,123,10,0,37,115,32,120,48,61,37,100,44,32,121,48,61,37,100,10,0,37,115,32,120,49,61,37,100,44,32,121,49,61,37,100,10,0,37,115,32,110,117,109,99,111,109,112,115,61,37,100,10,0,37,115,9,32,99,111,109,112,111,110,101,110,116,32,37,100,32,123,10,0,37,115,125,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,99,111,109,112,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,37,115,32,100,120,61,37,100,44,32,100,121,61,37,100,10,0,37,115,32,112,114,101,99,61,37,100,10,0,37,115,32,115,103,110,100,61,37,100,10,0,87,101,32,110,101,101,100,32,97,110,32,105,109,97,103,101,32,112,114,101,118,105,111,117,115,108,121,32,99,114,101,97,116,101,100,46,10,0,84,105,108,101,32,105,110,100,101,120,32,112,114,111,118,105,100,101,100,32,98,121,32,116,104,101,32,117,115,101,114,32,105,115,32,105,110,99,111,114,114,101,99,116,32,37,100,32,40,109,97,120,32,61,32,37,100,41,32,10,0,82,101,115,111,108,117,116,105,111,110,32,102,97,99,116,111,114,32,105,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,116,104,101,32,109,97,120,105,109,117,109,32,114,101,115,111,108,117,116,105,111,110,32,105,110,32,116,104,101,32,99,111,109,112,111,110,101,110,116,46,10,0,84,104,101,32,103,105,118,101,110,32,116,105,108,101,32,105,110,100,101,120,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,46,0,116,105,108,101,32,110,117,109,98,101,114,32,37,100,32,47,32,37,100,10,0,69,114,114,111,114,32,97,108,108,111,99,97,116,105,110,103,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,100,97,116,97,46,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,101,110,99,111,100,101,32,97,108,108,32,116,105,108,101,115,10,0,83,105,122,101,32,109,105,115,109,97,116,99,104,32,98,101,116,119,101,101,110,32,116,105,108,101,32,100,97,116,97,32,97,110,100,32,115,101,110,116,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,105,109,97,103,101,32,104,101,97,100,101,114,46,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,114,101,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,111,115,116,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,105,108,101,32,67,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,66,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,84,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,79,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,116,104,101,32,67,79,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,80,79,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,84,76,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,81,99,100,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,104,101,32,83,73,90,32,109,97,114,107,101,114,10,0,78,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,105,115,32,116,111,111,32,104,105,103,104,32,105,110,32,99,111,109,112,97,114,105,115,111,110,32,116,111,32,116,104,101,32,115,105,122,101,32,111,102,32,116,105,108,101,115,10,0,67,97,110,110,111,116,32,101,110,99,111,100,101,32,116,105,108,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,111,110,101,32,116,105,108,101,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,101,101,107,32,102,117,110,99,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,84,105,108,101,32,37,100,47,37,100,32,104,97,115,32,98,101,101,110,32,100,101,99,111,100,101,100,46,10,0,73,109,97,103,101,32,100,97,116,97,32,104,97,115,32,98,101,101,110,32,117,112,100,97,116,101,100,32,119,105,116,104,32,116,105,108,101,32,37,100,46,10,10,0,84,105,108,101,32,114,101,97,100,44,32,100,101,99,111,100,101,100,32,97,110,100,32,117,112,100,97,116,101,100,32,105,115,32,110,111,116,32,116,104,101,32,100,101,115,105,114,101,100,32,111,110,101,32,40,37,100,32,118,115,32,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,115,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,9,32,100,101,102,97,117,108,116,32,116,105,108,101,32,123,10,0,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,32,112,114,103,61,37,35,120,10,0,9,9,32,110,117,109,108,97,121,101,114,115,61,37,100,10,0,9,9,32,109,99,116,61,37,120,10,0,9,9,32,99,111,109,112,32,37,100,32,123,10,0,9,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,9,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,61,37,100,10,0,9,9,9,32,99,98,108,107,119,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,104,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,115,116,121,61,37,35,120,10,0,9,9,9,32,113,109,102,98,105,100,61,37,100,10,0,9,9,9,32,112,114,101,99,99,105,110,116,115,105,122,101,32,40,119,44,104,41,61,0,40,37,100,44,37,100,41,32,0,9,9,9,32,113,110,116,115,116,121,61,37,100,10,0,9,9,9,32,110,117,109,103,98,105,116,115,61,37,100,10,0,9,9,9,32,115,116,101,112,115,105,122,101,115,32,40,109,44,101,41,61,0,9,9,9,32,114,111,105,115,104,105,102,116,61,37,100,10,0,9,9,32,125,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,79,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,115,116,97,103,101,115,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,100,97,116,97,32,115,112,97,110,110,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,99,111,108,108,101,99,116,105,111,110,115,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,111,116,104,101,114,32,116,104,97,110,32,97,114,114,97,121,32,100,101,99,111,114,114,101,108,97,116,105,111,110,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,32,105,110,100,105,120,32,115,104,117,102,102,108,101,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,111,117,116,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,105,110,100,105,120,101,115,10,0,67,114,114,111,114,32,114,101,97,100,105,110,103,32,67,66,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,99,116,32,100,97,116,97,32,119,105,116,104,105,110,32,109,117,108,116,105,112,108,101,32,77,67,84,32,114,101,99,111,114,100,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,77,67,84,32,109,97,114,107,101,114,115,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,82,71,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,58,32,112,97,99,107,101,116,32,104,101,97,100,101,114,32,104,97,118,101,32,98,101,101,110,32,112,114,101,118,105,111,117,115,108,121,32,102,111,117,110,100,32,105,110,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,40,80,80,77,32,109,97,114,107,101,114,41,46,10,0,90,112,112,116,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,77,32,109,97,114,107,101,114,10,0,90,112,112,109,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,84,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,105,108,108,101,103,97,108,32,45,62,32,37,100,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,110,111,116,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,110,117,109,98,101,114,32,111,102,32,112,97,114,97,109,101,116,101,114,115,32,40,32,37,100,32,118,115,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,101,103,97,116,105,118,101,32,111,114,32,122,101,114,111,32,105,109,97,103,101,32,115,105,122,101,32,40,37,100,32,120,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,110,118,97,108,105,100,32,116,105,108,101,32,115,105,122,101,32,40,116,100,120,58,32,37,100,44,32,116,100,121,58,32,37,100,41,10,0,80,114,101,118,101,110,116,32,98,117,102,102,101,114,32,111,118,101,114,102,108,111,119,32,40,120,49,58,32,37,100,44,32,121,49,58,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,108,108,101,103,97,108,32,116,105,108,101,32,111,102,102,115,101,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,83,73,90,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,115,32,102,111,114,32,99,111,109,112,32,61,32,37,100,32,58,32,100,120,61,37,117,32,100,121,61,37,117,10,32,40,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,50,53,53,32,97,99,99,111,114,100,105,110,103,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,41,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,115,32,58,32,37,117,32,120,32,37,117,32,40,109,97,120,105,109,117,109,32,102,105,120,101,100,32,98,121,32,106,112,101,103,50,48,48,48,32,110,111,114,109,32,105,115,32,54,53,53,51,53,32,116,105,108,101,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,79,67,32,109,97,114,107,101,114,10,0,84,111,111,32,109,97,110,121,32,80,79,67,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,67,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,58,32,37,100,44,32,114,101,103,97,114,100,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,81,99,100,32,111,114,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,87,104,105,108,101,32,114,101,97,100,105,110,103,32,67,67,80,95,81,78,84,83,84,89,32,101,108,101,109,101,110,116,32,105,110,115,105,100,101,32,81,67,68,32,111,114,32,81,67,67,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,44,32,110,117,109,98,101,114,32,111,102,32,115,117,98,98,97,110,100,115,32,40,37,100,41,32,105,115,32,103,114,101,97,116,101,114,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,46,32,83,111,32,119,101,32,108,105,109,105,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,115,116,111,114,101,100,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,32,97,110,100,32,115,107,105,112,32,116,104,101,32,114,101,115,116,46,32,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,82,71,78,32,109,97,114,107,101,114,10,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,32,105,110,32,82,71,78,32,40,37,100,32,119,104,101,110,32,116,104,101,114,101,32,97,114,101,32,111,110,108,121,32,37,100,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,32,40,98,97,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,102,111,114,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,44,32,109,97,120,32,118,97,108,117,101,32,105,115,32,115,101,116,32,105,110,32,111,112,101,110,106,112,101,103,46,104,32,97,116,32,37,100,10,0,69,114,114,111,114,32,100,101,99,111,100,105,110,103,32,99,111,109,112,111,110,101,110,116,32,37,100,46,10,84,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,116,111,32,114,101,109,111,118,101,32,105,115,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,111,102,32,116,104,105,115,32,99,111,109,112,111,110,101,110,116,10,77,111,100,105,102,121,32,116,104,101,32,99,112,95,114,101,100,117,99,101,32,112,97,114,97,109,101,116,101,114,46,10,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,44,32,73,110,118,97,108,105,100,32,99,98,108,107,119,47,99,98,108,107,104,32,99,111,109,98,105,110,97,116,105,111,110,10,0,73,110,118,97,108,105,100,32,112,114,101,99,105,110,99,116,32,115,105,122,101,10,0,67,79,68,32,109,97,114,107,101,114,32,97,108,114,101,97,100,121,32,114,101,97,100,46,32,78,111,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,67,79,68,32,109,97,114,107,101,114,32,112,101,114,32,116,105,108,101,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,83,99,111,100,32,118,97,108,117,101,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,112,114,111,103,114,101,115,115,105,111,110,32,111,114,100,101,114,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,105,110,32,67,79,68,32,109,97,114,107,101,114,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,45,54,53,53,51,53,93,10,0,73,110,118,97,108,105,100,32,116,105,108,101,32,110,117,109,98,101,114,32,37,100,10,0,69,109,112,116,121,32,83,79,84,32,109,97,114,107,101,114,32,100,101,116,101,99,116,101,100,58,32,80,115,111,116,61,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,105,115,32,110,111,116,32,99,111,114,114,101,99,116,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,58,32,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,108,101,45,112,97,114,116,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,44,32,119,101,32,97,115,115,117,109,105,110,103,32,105,116,32,105,115,32,116,104,101,32,108,97,115,116,32,116,105,108,101,45,112,97,114,116,32,111,102,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,46,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,104,101,97,100,101,114,41,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,83,79,84,32,109,97,114,107,101,114,46,32,84,105,108,101,32,105,110,100,101,120,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,10,0,83,116,97,114,116,32,116,111,32,114,101,97,100,32,106,50,107,32,109,97,105,110,32,104,101,97,100,101,114,32,40,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,109,104,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,97,32,83,79,67,32,109,97,114,107,101,114,32,10,0,65,32,109,97,114,107,101,114,32,73,68,32,119,97,115,32,101,120,112,101,99,116,101,100,32,40,48,120,102,102,45,45,41,32,105,110,115,116,101,97,100,32,111,102,32,37,46,56,120,10,0,85,110,107,110,111,119,110,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,32,109,97,114,107,101,114,32,104,97,118,101,32,98,101,101,110,32,100,101,116,101,99,116,101,100,32,97,110,100,32,103,101,110,101,114,97,116,101,100,32,101,114,114,111,114,46,10,0,77,97,114,107,101,114,32,104,97,110,100,108,101,114,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,10,0,114,101,113,117,105,114,101,100,32,83,73,90,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,67,79,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,81,67,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,98,121,116,101,115,32,116,111,32,114,101,97,100,32,78,112,112,109,10,0,67,111,114,114,117,112,116,101,100,32,80,80,77,32,109,97,114,107,101,114,115,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,77,32,100,97,116,97,10,0,77,97,105,110,32,104,101,97,100,101,114,32,104,97,115,32,98,101,101,110,32,99,111,114,114,101,99,116,108,121,32,100,101,99,111,100,101,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,105,110,32,116,104,101,32,74,80,50,32,102,105,108,101,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,115,112,101,99,105,102,105,101,100,32,119,104,105,108,101,32,115,101,116,116,105,110,103,32,117,112,32,74,80,50,32,101,110,99,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,104,101,110,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,117,110,107,110,111,119,110,32,101,110,117,109,99,115,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,110,111,116,32,101,110,111,117,103,104,32,105,109,97,103,101,32,99,111,109,112,111,110,101,110,116,115,32,102,111,114,32,97,110,32,97,117,116,111,109,97,116,105,99,32,99,100,101,102,32,98,111,120,32,99,114,101,97,116,105,111,110,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,112,111,115,105,116,105,111,110,32,99,111,110,102,108,105,99,116,115,32,119,105,116,104,32,99,111,108,111,114,32,99,104,97,110,110,101,108,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,77,117,108,116,105,112,108,101,32,97,108,112,104,97,32,99,104,97,110,110,101,108,115,32,115,112,101,99,105,102,105,101,100,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,74,80,50,32,98,111,120,32,119,104,105,99,104,32,97,114,101,32,97,102,116,101,114,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,110,111,116,32,98,101,32,114,101,97,100,32,98,121,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,111,108,100,32,74,80,50,32,72,101,97,100,101,114,32,100,97,116,97,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,102,116,121,112,32,100,97,116,97,10,0,69,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,102,116,121,112,32,100,97,116,97,32,116,111,32,115,116,114,101,97,109,10,0,70,97,105,108,101,100,32,116,111,32,115,101,101,107,32,105,110,32,116,104,101,32,115,116,114,101,97,109,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,102,105,108,101,32,104,101,97,100,101,114,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,115,105,122,101,115,32,104,105,103,104,101,114,32,116,104,97,110,32,50,94,51,50,10,0,98,97,100,32,112,108,97,99,101,100,32,106,112,101,103,32,99,111,100,101,115,116,114,101,97,109,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,117,110,100,101,102,105,110,101,100,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,40,37,120,41,10,0,70,111,117,110,100,32,97,32,109,105,115,112,108,97,99,101,100,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,111,117,116,115,105,100,101,32,106,112,50,104,32,98,111,120,10,0,74,80,69,71,50,48,48,48,32,72,101,97,100,101,114,32,98,111,120,32,110,111,116,32,114,101,97,100,32,121,101,116,44,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,107,105,112,112,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,73,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,102,111,114,32,98,111,120,32,39,37,99,37,99,37,99,37,99,39,46,32,78,101,101,100,32,37,100,32,98,121,116,101,115,44,32,37,100,32,98,121,116,101,115,32,114,101,109,97,105,110,105,110,103,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,98,111,120,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,114,101,97,100,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,102,105,114,115,116,32,98,111,120,32,109,117,115,116,32,98,101,32,74,80,69,71,32,50,48,48,48,32,115,105,103,110,97,116,117,114,101,32,98,111,120,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,115,101,99,111,110,100,32,98,111,120,32,109,117,115,116,32,98,101,32,102,105,108,101,32,116,121,112,101,32,98,111,120,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,68,69,70,32,98,111,120,46,10,0,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,32,100,101,115,99,114,105,112,116,105,111,110,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,32,105,110,32,67,68,69,70,32,98,111,120,46,10,0,78,101,101,100,32,116,111,32,114,101,97,100,32,97,32,80,67,76,82,32,98,111,120,32,98,101,102,111,114,101,32,116,104,101,32,67,77,65,80,32,98,111,120,46,10,0,79,110,108,121,32,111,110,101,32,67,77,65,80,32,98,111,120,32,105,115,32,97,108,108,111,119,101,100,46,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,77,65,80,32,98,111,120,46,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,37,100,32,101,110,116,114,105,101,115,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,48,32,112,97,108,101,116,116,101,32,99,111,108,117,109,110,115,10,0,65,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,105,115,32,97,118,97,105,108,97,98,108,101,32,97,108,116,104,111,117,103,104,32,66,80,67,32,103,105,118,101,110,32,98,121,32,116,104,101,32,73,72,68,82,32,98,111,120,32,40,37,100,41,32,105,110,100,105,99,97,116,101,32,99,111,109,112,111,110,101,110,116,115,32,98,105,116,32,100,101,112,116,104,32,105,115,32,99,111,110,115,116,97,110,116,10,0,66,97,100,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,65,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,114,101,97,100,101,114,32,115,104,97,108,108,32,105,103,110,111,114,101,32,97,108,108,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,101,115,32,97,102,116,101,114,32,116,104,101,32,102,105,114,115,116,44,32,115,111,32,119,101,32,105,103,110,111,114,101,32,116,104,105,115,32,111,110,101,46,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,67,73,69,76,97,98,44,32,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,67,79,76,82,32,66,79,88,32,109,101,116,104,32,118,97,108,117,101,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,118,97,108,117,101,32,40,37,100,41,44,32,115,111,32,119,101,32,119,105,108,108,32,105,103,110,111,114,101,32,116,104,101,32,101,110,116,105,114,101,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,46,32,10,0,66,97,100,32,105,109,97,103,101,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,105,109,97,103,101,32,104,101,97,100,101,114,32,40,105,104,100,114,41,10,0,74,80,50,32,73,72,68,82,32,98,111,120,58,32,99,111,109,112,114,101,115,115,105,111,110,32,116,121,112,101,32,105,110,100,105,99,97,116,101,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,97,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,102,105,108,101,32,40,37,100,41,32,10,0,84,104,101,32,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,56,32,98,121,116,101,115,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,88,76,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,49,54,32,98,121,116,101,115,10,0,66,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,98,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,110,111,32,39,105,104,100,114,39,32,98,111,120,46,10,0,84,104,101,32,102,116,121,112,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,115,101,99,111,110,100,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,70,84,89,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,105,116,104,32,70,84,89,80,32,66,111,120,10,0,84,104,101,32,115,105,103,110,97,116,117,114,101,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,83,105,103,110,97,116,117,114,101,32,58,32,98,97,100,32,109,97,103,105,99,32,110,117,109,98,101,114,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,97,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,105,110,100,101,120,32,37,100,32,40,62,61,32,37,100,41,46,10,0,73,110,99,111,109,112,108,101,116,101,32,99,104,97,110,110,101,108,32,100,101,102,105,110,105,116,105,111,110,115,46,10,0,85,110,101,120,112,101,99,116,101,100,32,79,79,77,46,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,47,112,97,108,101,116,116,101,32,105,110,100,101,120,32,102,111,114,32,100,105,114,101,99,116,32,109,97,112,112,105,110,103,32,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,105,115,32,109,97,112,112,101,100,32,116,119,105,99,101,46,10,0,68,105,114,101,99,116,32,117,115,101,32,97,116,32,35,37,100,32,104,111,119,101,118,101,114,32,112,99,111,108,61,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,100,111,101,115,110,39,116,32,104,97,118,101,32,97,32,109,97,112,112,105,110,103,46,10,0,67,111,109,112,111,110,101,110,116,32,109,97,112,112,105,110,103,32,115,101,101,109,115,32,119,114,111,110,103,46,32,84,114,121,105,110,103,32,116,111,32,99,111,114,114,101,99,116,46,10,0,84,105,108,101,115,32,100,111,110,39,116,32,97,108,108,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,100,105,109,101,110,115,105,111,110,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,40,37,100,41,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,97,32,77,67,84,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,116,105,108,101,115,32,114,101,113,117,105,114,101,32,97,116,32,108,101,97,115,116,32,111,110,101,32,114,101,115,111,108,117,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,114,101,115,111,108,117,116,105,111,110,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,98,97,110,100,32,112,114,101,99,105,110,116,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,117,114,114,101,110,116,32,112,114,101,99,105,110,99,116,32,99,111,100,101,98,108,111,99,107,32,101,108,101,109,101,110,116,10,0,78,111,32,105,110,99,108,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,32,105,109,115,98,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,10,0,116,103,116,95,99,114,101,97,116,101,32,116,114,101,101,45,62,110,117,109,110,111,100,101,115,32,61,61,32,48,44,32,110,111,32,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,32,110,111,100,101,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,116,97,103,32,116,114,101,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,97,32,110,101,119,32,118,97,108,105,100,97,116,105,111,110,32,112,114,111,99,101,100,117,114,101,10,0,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,3,3,6,3,6,6,8,3,6,6,8,6,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,1,0,1,1,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,1,1,0,0,1,1,1,0,0,1,0,0,1,1,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,99,117,114,114,101,110,116,32,115,105,122,101,32,40,37,100,32,62,32,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,115,107,105,112,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+25118);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}Module["_i64Subtract"]=_i64Subtract;var _floorf=Math_floor;Module["_bitshift64Ashr"]=_bitshift64Ashr;var _SItoF=true;Module["_memset"]=_memset;var _BDtoILow=true;var _ceilf=Math_ceil;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}Module["_i64Add"]=_i64Add;var _floor=Math_floor;var _sqrt=Math_sqrt;var PATH=undefined;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}});if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||function(){};canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){Module["noExitRuntime"]=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){Module["noExitRuntime"]=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},xhrLoad:function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)},asyncLoad:function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(!noRunDep)addRunDependency("al "+url)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];return ret},getStr:function(){var ret=Pointer_stringify(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push(function(){Runtime.dynCall("vi",routine,[arg])});_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _llvm_pow_f64=Math_pow;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")}}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}var _BItoD=true;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer)___syscall146.buffer=[];var buffer=___syscall146.buffer;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE>2]=d;if((c[a+8>>2]|0)==16)k=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else k=c[a+12>>2]|0;g=(c[a+80>>2]|0)+16|0;h=(c[g>>2]|0)>>>0<257?1:2;j=h+1|0;if(j>>>0>d>>>0){Ub(e,1,14585,m)|0;e=0;i=m;return e|0}c[f>>2]=d-j;qb(b,l,h);d=c[l>>2]|0;if(d>>>0>=(c[g>>2]|0)>>>0){Ub(e,1,14611,m+8|0)|0;e=0;i=m;return e|0}qb(b+h|0,(c[k+5584>>2]|0)+(d*1080|0)|0,1);if(!(Fe(a,c[l>>2]|0,b+j|0,f,e)|0)){Ub(e,1,14585,m+16|0)|0;e=0;i=m;return e|0}if(!(c[f>>2]|0)){e=1;i=m;return e|0}Ub(e,1,14585,m+24|0)|0;e=0;i=m;return e|0}function ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+8|0;f=k+20|0;h=c[(c[a+80>>2]|0)+16>>2]|0;g=h>>>0<257?1:2;if((g+2|0)!=(d|0)){Ub(e,1,14502,k)|0;j=0;i=k;return j|0}if((c[a+8>>2]|0)==16)a=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else a=c[a+12>>2]|0;qb(b,f,g);qb(b+g|0,k+16|0,1);d=c[f>>2]|0;if(d>>>0>>0){qb(b+(g+1)|0,(c[a+5584>>2]|0)+(d*1080|0)+808|0,1);j=1;i=k;return j|0}else{c[j>>2]=d;c[j+4>>2]=h;Ub(e,1,14528,j)|0;j=0;i=k;return j|0}return 0}function he(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+12|0;c[f>>2]=d;if(!(Ee(a,0,b,f,e)|0)){Ub(e,1,14476,h)|0;g=0;i=h;return g|0}if(c[f>>2]|0){Ub(e,1,14476,h+8|0)|0;g=0;i=h;return g|0}if((c[a+8>>2]|0)==16)f=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else f=c[a+12>>2]|0;f=c[f+5584>>2]|0;d=a+80|0;if((c[(c[d>>2]|0)+16>>2]|0)>>>0<=1){g=1;i=h;return g|0}e=f+24|0;a=f+804|0;g=f+28|0;b=1;while(1){c[f+1104>>2]=c[e>>2];c[f+1884>>2]=c[a>>2];Ui(f+1108|0,g|0,776)|0;b=b+1|0;if(b>>>0>=(c[(c[d>>2]|0)+16>>2]|0)>>>0){f=1;break}else f=f+1080|0}i=h;return f|0}function ie(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o+32|0;m=o+24|0;l=o+16|0;g=o+8|0;f=o;k=o+40|0;h=o+36|0;c[k>>2]=d;j=a+80|0;do{if((c[(c[j>>2]|0)+16>>2]|0)>>>0<257){if(d){qb(b,h,1);g=b+1|0;b=d+-1|0;break}Ub(e,1,14129,f)|0;n=0;i=o;return n|0}else{if(d>>>0>=2){qb(b,h,2);g=b+2|0;b=d+-2|0;break}Ub(e,1,14129,g)|0;n=0;i=o;return n|0}}while(0);c[k>>2]=b;f=c[h>>2]|0;b=c[(c[j>>2]|0)+16>>2]|0;if(f>>>0>=b>>>0){c[l>>2]=f;c[l+4>>2]=b;Ub(e,1,14155,l)|0;n=0;i=o;return n|0}if(!(Ee(a,f,g,k,e)|0)){Ub(e,1,14129,m)|0;n=0;i=o;return n|0}if(!(c[k>>2]|0)){n=1;i=o;return n|0}Ub(e,1,14129,n)|0;n=0;i=o;return n|0}function je(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+16|0;h=t+8|0;s=t+12|0;r=c[(c[b+80>>2]|0)+16>>2]|0;q=r>>>0<257?1:2;p=(q<<1)+5|0;g=(e>>>0)/(p>>>0)|0;if((g|0)==0|((e>>>0)%(p>>>0)|0|0)!=0){Ub(f,1,14085,t)|0;s=0;i=t;return s|0}if((c[b+8>>2]|0)==16)p=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else p=c[b+12>>2]|0;e=p+5636|0;b=a[e>>0]|0;if(!(b&4))o=0;else o=(c[p+420>>2]|0)+1|0;n=o+g|0;if(n>>>0>31){c[h>>2]=n;Ub(f,1,14111,h)|0;s=0;i=t;return s|0}a[e>>0]=b|4;if(o>>>0>>0){f=q+1|0;m=p+8|0;h=q+3|0;j=q|4;k=j+q|0;l=k+1|0;b=d;g=o;e=p+424+(o*148|0)|0;while(1){qb(b,e,1);qb(b+1|0,e+4|0,q);d=e+8|0;qb(b+f|0,d,2);u=c[d>>2]|0;o=c[m>>2]|0;c[d>>2]=u>>>0>>0?u:o;qb(b+h|0,e+12|0,1);d=e+16|0;qb(b+j|0,d,q);qb(b+k|0,s,1);c[e+36>>2]=c[s>>2];o=c[d>>2]|0;c[d>>2]=o>>>0>>0?o:r;g=g+1|0;if(g>>>0>=n>>>0)break;else{b=b+l|0;e=e+148|0}}}c[p+420>>2]=n+-1;u=1;i=t;return u|0}function ke(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+144|0;L=M+128|0;H=M+120|0;G=M+112|0;F=M+104|0;E=M+96|0;D=M+88|0;A=M+72|0;t=M+64|0;r=M+56|0;q=M+48|0;p=M+40|0;s=M+32|0;l=M+24|0;j=M+16|0;h=M+136|0;w=M+132|0;J=c[d+80>>2]|0;K=d+88|0;if(f>>>0<36){Ub(g,1,13440,M)|0;g=0;i=M;return g|0}I=f+-36|0;o=(I>>>0)/3|0;if((I>>>0)%3|0){Ub(g,1,13440,M+8|0)|0;g=0;i=M;return g|0}qb(e,h,2);b[K>>1]=c[h>>2];x=J+8|0;qb(e+2|0,x,4);B=J+12|0;qb(e+6|0,B,4);qb(e+10|0,J,4);n=J+4|0;qb(e+14|0,n,4);v=d+100|0;qb(e+18|0,v,4);z=d+104|0;qb(e+22|0,z,4);u=d+92|0;qb(e+26|0,u,4);y=d+96|0;qb(e+30|0,y,4);qb(e+34|0,h,2);k=e+36|0;f=c[h>>2]|0;if(f>>>0>=16385){c[j>>2]=f;Ub(g,1,13468,j)|0;g=0;i=M;return g|0}f=f&65535;I=J+16|0;c[I>>2]=f;if((f|0)!=(o|0)){c[l>>2]=f;c[l+4>>2]=o;Ub(g,1,13529,l)|0;g=0;i=M;return g|0}l=c[J>>2]|0;m=c[x>>2]|0;if(m>>>0>l>>>0){f=c[n>>2]|0;e=c[B>>2]|0;if(f>>>0>>0){h=c[v>>2]|0;j=c[z>>2]|0;if(!(_(j,h)|0)){c[p>>2]=h;c[p+4>>2]=j;Ub(g,1,13705,p)|0;g=0;i=M;return g|0}s=Zi(e|0,0,m|0,0)|0;if(!((s|0)==(_(e,m)|0)&(C|0)==0)){c[q>>2]=m;c[q+4>>2]=e;Ub(g,1,13766,q)|0;g=0;i=M;return g|0}m=c[u>>2]|0;p=Si(m|0,0,h|0,0)|0;q=C;n=c[y>>2]|0;s=Si(n|0,0,j|0,0)|0;if(m>>>0<=l>>>0?n>>>0<=f>>>0&(p|0-q)>>>0>l>>>0&(s|0-C)>>>0>f>>>0:0){e=Qc(o,52)|0;o=J+24|0;c[o>>2]=e;if(!e){c[I>>2]=0;Ub(g,1,13852,t)|0;g=0;i=M;return g|0}a:do{if(c[I>>2]|0){l=d+168|0;f=0;j=e;while(1){qb(k,w,1);c[j+24>>2]=(c[w>>2]&127)+1;c[j+32>>2]=(c[w>>2]|0)>>>7;qb(k+1|0,w,1);c[j>>2]=c[w>>2];qb(k+2|0,w,1);h=c[w>>2]|0;c[j+4>>2]=h;e=c[j>>2]|0;if((h+-1|0)>>>0>254|(e+-1|0)>>>0>254)break;c[j+36>>2]=0;c[j+40>>2]=c[l>>2];f=f+1|0;if(f>>>0>=(c[I>>2]|0)>>>0)break a;else{k=k+3|0;j=j+52|0}}c[A>>2]=f;c[A+4>>2]=e;c[A+8>>2]=h;Ub(g,1,13900,A)|0;g=0;i=M;return g|0}}while(0);m=c[u>>2]|0;l=c[v>>2]|0;k=((c[x>>2]|0)+-1-m+l|0)/(l|0)|0;c[d+112>>2]=k;j=c[y>>2]|0;h=c[z>>2]|0;e=((c[B>>2]|0)+-1-j+h|0)/(h|0)|0;c[d+116>>2]=e;if(!((e|0)==0|(k|0)==0)?k>>>0<=(65535/(e>>>0)|0)>>>0:0){n=_(k,e)|0;f=d+28|0;if(!(a[d+76>>0]&2)){c[f>>2]=0;c[d+32>>2]=0;c[d+36>>2]=k;c[d+40>>2]=e}else{c[f>>2]=(((c[f>>2]|0)-m|0)>>>0)/(l>>>0)|0;D=d+32|0;c[D>>2]=(((c[D>>2]|0)-j|0)>>>0)/(h>>>0)|0;D=d+36|0;c[D>>2]=((c[D>>2]|0)+-1-m+l|0)/(l|0)|0;D=d+40|0;c[D>>2]=((c[D>>2]|0)+-1-j+h|0)/(h|0)|0}D=Qc(n,5640)|0;k=d+164|0;c[k>>2]=D;if(!D){Ub(g,1,13852,E)|0;g=0;i=M;return g|0}E=Qc(c[I>>2]|0,1080)|0;e=d+12|0;c[(c[e>>2]|0)+5584>>2]=E;if(!E){Ub(g,1,13852,F)|0;g=0;i=M;return g|0}F=Qc(10,20)|0;f=c[e>>2]|0;c[f+5612>>2]=F;if(!F){Ub(g,1,13852,G)|0;g=0;i=M;return g|0}c[f+5620>>2]=10;G=Qc(10,20)|0;f=c[e>>2]|0;c[f+5624>>2]=G;if(!G){Ub(g,1,13852,H)|0;g=0;i=M;return g|0}c[f+5632>>2]=10;j=c[I>>2]|0;if(j){h=c[o>>2]|0;f=f+5584|0;e=0;do{if(!(c[h+(e*52|0)+32>>2]|0))c[(c[f>>2]|0)+(e*1080|0)+1076>>2]=1<<(c[h+(e*52|0)+24>>2]|0)+-1;e=e+1|0}while(e>>>0>>0)}b:do{if(n){f=c[k>>2]|0;H=Qc(j,1080)|0;c[f+5584>>2]=H;if(H){e=0;while(1){e=e+1|0;if(e>>>0>=n>>>0)break b;H=Qc(c[I>>2]|0,1080)|0;c[f+11224>>2]=H;if(!H)break;else f=f+5640|0}}Ub(g,1,13852,L)|0;g=0;i=M;return g|0}}while(0);c[d+8>>2]=4;_b(J,K);g=1;i=M;return g|0}c[D>>2]=k;c[D+4>>2]=e;Ub(g,1,14002,D)|0;g=0;i=M;return g|0}Ub(g,1,13808,r)|0;g=0;i=M;return g|0}}else{e=c[B>>2]|0;f=c[n>>2]|0}c[s>>2]=m-l;c[s+4>>2]=e-f;Ub(g,1,13643,s)|0;g=0;i=M;return g|0}function le(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+32|0;a=f+12|0;if(d>>>0<2){Ub(e,1,13414,f)|0;e=0;i=f;return e|0}qb(b,f+16|0,1);qb(b+1|0,a,1);b=c[a>>2]|0;if(!(((d+-2|0)>>>0)%(((b>>>5&2)+2+(b>>>4&3)|0)>>>0)|0)){e=1;i=f;return e|0}Ub(e,1,13414,f+8|0)|0;e=0;i=f;return e|0}function me(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=i;i=i+16|0;if(!c){Ub(d,1,13388,a)|0;b=0}else b=1;i=a;return b|0}function ne(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+8|0;h=k+12|0;if(!d){Ub(e,1,13362,k)|0;e=0;i=k;return e|0}qb(b,k+16|0,1);f=d+-1|0;if(!f){e=1;i=k;return e|0}else{g=0;a=0}do{b=b+1|0;qb(b,h,1);d=c[h>>2]|0;if(!(d&128))a=0;else a=(d&127|a)<<7;g=g+1|0}while((g|0)!=(f|0));if(!a){e=1;i=k;return e|0}Ub(e,1,13362,j)|0;e=0;i=k;return e|0}function oe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;o=p+32|0;l=p+24|0;h=p+16|0;g=p+8|0;n=p+36|0;if(e>>>0<2){Ub(f,1,13276,p)|0;o=0;i=p;return o|0}m=b+184|0;a[m>>0]=a[m>>0]|1;qb(d,n,1);m=d+1|0;k=e+-1|0;j=b+124|0;e=c[j>>2]|0;do{if(e){g=b+120|0;d=c[n>>2]|0;if((c[g>>2]|0)>>>0<=d>>>0){b=d+1|0;d=Tc(e,b<<3)|0;if(d){c[j>>2]=d;e=c[g>>2]|0;Qi(d+(e<<3)|0,0,b-e<<3|0)|0;c[g>>2]=b;e=c[j>>2]|0;break}Ub(f,1,13302,h)|0;o=0;i=p;return o|0}}else{d=(c[n>>2]|0)+1|0;e=Qc(d,8)|0;c[j>>2]=e;if(e){c[b+120>>2]=d;break}Ub(f,1,13302,g)|0;o=0;i=p;return o|0}}while(0);d=c[n>>2]|0;if(c[e+(d<<3)>>2]|0){c[l>>2]=d;Ub(f,1,13340,l)|0;o=0;i=p;return o|0}l=Pc(k)|0;e=c[n>>2]|0;d=c[j>>2]|0;c[d+(e<<3)>>2]=l;if(!l){Ub(f,1,13302,o)|0;o=0;i=p;return o|0}else{c[d+(e<<3)+4>>2]=k;Ui(c[d+(c[n>>2]<<3)>>2]|0,m|0,k|0)|0;o=1;i=p;return o|0}return 0}function pe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+40|0;o=r+32|0;k=r+24|0;j=r+16|0;p=r+44|0;if(e>>>0<2){Ub(f,1,13127,r)|0;q=0;i=r;return q|0}if(a[b+184>>0]&1){Ub(f,1,13153,r+8|0)|0;q=0;i=r;return q|0}h=c[b+200>>2]|0;g=c[b+164>>2]|0;n=g+(h*5640|0)+5636|0;a[n>>0]=a[n>>0]|2;qb(d,p,1);n=d+1|0;m=e+-1|0;l=g+(h*5640|0)+5164|0;d=c[l>>2]|0;do{if(d){g=g+(h*5640|0)+5160|0;b=c[p>>2]|0;if((c[g>>2]|0)>>>0<=b>>>0){e=b+1|0;b=Tc(d,e<<3)|0;if(b){c[l>>2]=b;d=c[g>>2]|0;Qi(b+(d<<3)|0,0,e-d<<3|0)|0;c[g>>2]=e;d=c[l>>2]|0;break}Ub(f,1,8775,k)|0;q=0;i=r;return q|0}}else{b=(c[p>>2]|0)+1|0;d=Qc(b,8)|0;c[l>>2]=d;if(d){c[g+(h*5640|0)+5160>>2]=b;break}Ub(f,1,8775,j)|0;q=0;i=r;return q|0}}while(0);b=c[p>>2]|0;if(c[d+(b<<3)>>2]|0){c[o>>2]=b;Ub(f,1,13254,o)|0;q=0;i=r;return q|0}o=Pc(m)|0;d=c[p>>2]|0;b=c[l>>2]|0;c[b+(d<<3)>>2]=o;if(!o){Ub(f,1,8775,q)|0;q=0;i=r;return q|0}else{c[b+(d<<3)+4>>2]=m;Ui(c[b+(c[p>>2]<<3)>>2]|0,n|0,m|0)|0;q=1;i=r;return q|0}return 0}function qe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=i;i=i+16|0;if((c[(c[a+80>>2]|0)+16>>2]<<2|0)==(d|0)){e=1;i=b;return e|0}Ub(e,1,13101,b)|0;e=0;i=b;return e|0}function re(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 1}function se(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;r=s+40|0;q=s+32|0;l=s+24|0;p=s+44|0;if((c[a+8>>2]|0)==16)j=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else j=c[a+12>>2]|0;if(d>>>0<2){Ub(e,1,12933,s)|0;r=0;i=s;return r|0}qb(b,p,2);if(c[p>>2]|0){Ub(e,2,12959,s+8|0)|0;r=1;i=s;return r|0}if(d>>>0<7){Ub(e,1,12933,s+16|0)|0;r=0;i=s;return r|0}qb(b+2|0,p,2);n=b+4|0;o=c[p>>2]&255;k=j+5612|0;f=c[k>>2]|0;m=j+5616|0;a=c[m>>2]|0;a:do{if(!a){g=0;h=f}else{g=0;h=f;do{if((c[h+8>>2]|0)==(o|0))break a;h=h+20|0;g=g+1|0}while(g>>>0>>0)}}while(0);if((g|0)==(a|0)){g=j+5620|0;do{if((a|0)==(c[g>>2]|0)){a=a+10|0;c[g>>2]=a;a=Tc(f,a*20|0)|0;if(a){c[k>>2]=a;f=c[m>>2]|0;Qi(a+(f*20|0)|0,0,((c[g>>2]|0)-f|0)*20|0)|0;f=c[k>>2]|0;a=c[m>>2]|0;break}Uc(c[k>>2]|0);c[k>>2]=0;c[g>>2]=0;c[m>>2]=0;Ub(e,1,13019,l)|0;r=0;i=s;return r|0}}while(0);c[m>>2]=a+1;h=f+(a*20|0)|0}g=h+12|0;a=c[g>>2]|0;if(a){Uc(a);c[g>>2]=0}c[h+8>>2]=o;o=c[p>>2]|0;c[h+4>>2]=o>>>8&3;c[h>>2]=o>>>10&3;qb(n,p,2);if(c[p>>2]|0){Ub(e,2,13057,q)|0;r=1;i=s;return r|0}a=d+-6|0;f=Pc(a)|0;c[g>>2]=f;if(!f){Ub(e,1,12933,r)|0;r=0;i=s;return r|0}else{Ui(f|0,b+6|0,a|0)|0;c[h+16>>2]=a;r=1;i=s;return r|0}return 0}function te(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;h=j+12|0;a=a+80|0;g=c[(c[a>>2]|0)+16>>2]|0;if((g+2|0)!=(d|0)){Ub(e,1,12907,j)|0;h=0;i=j;return h|0}qb(b,f,2);if((c[f>>2]|0)!=(g|0)){Ub(e,1,12907,j+8|0)|0;h=0;i=j;return h|0}if(!g){h=1;i=j;return h|0}f=b+2|0;b=0;a=c[(c[a>>2]|0)+24>>2]|0;while(1){qb(f,h,1);c[a+32>>2]=(c[h>>2]|0)>>>7&1;c[a+24>>2]=(c[h>>2]&127)+1;b=b+1|0;if((b|0)==(g|0)){a=1;break}else{f=f+1|0;a=a+52|0}}i=j;return a|0}function ue(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+144|0;I=J+120|0;H=J+112|0;G=J+104|0;F=J+96|0;E=J+88|0;D=J+80|0;C=J+72|0;B=J+64|0;A=J+56|0;z=J+48|0;p=J+40|0;o=J+32|0;m=J+24|0;x=J+136|0;u=J+132|0;v=J+128|0;w=J+124|0;if((c[b+8>>2]|0)==16)q=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else q=c[b+12>>2]|0;if(e>>>0<2){Ub(f,1,12567,J)|0;I=0;i=J;return I|0}qb(d,x,2);if(c[x>>2]|0){Ub(f,2,12593,J+8|0)|0;I=1;i=J;return I|0}if(e>>>0<7){Ub(f,1,12567,J+16|0)|0;I=0;i=J;return I|0}qb(d+2|0,u,1);n=d+3|0;l=q+5624|0;g=c[l>>2]|0;y=q+5628|0;b=c[y>>2]|0;a:do{if(!b){j=0;h=g}else{k=c[u>>2]|0;j=0;h=g;do{if((c[h>>2]|0)==(k|0))break a;h=h+20|0;j=j+1|0}while(j>>>0>>0)}}while(0);if((j|0)==(b|0)){h=q+5632|0;do{if((b|0)==(c[h>>2]|0)){b=b+10|0;c[h>>2]=b;b=Tc(g,b*20|0)|0;if(b){c[l>>2]=b;g=c[y>>2]|0;Qi(b+(g*20|0)|0,0,((c[h>>2]|0)-g|0)*20|0)|0;g=c[l>>2]|0;b=c[y>>2]|0;break}Uc(c[l>>2]|0);c[l>>2]=0;c[h>>2]=0;c[y>>2]=0;Ub(f,1,12639,m)|0;I=0;i=J;return I|0}}while(0);h=g+(b*20|0)|0}c[h>>2]=c[u>>2];qb(n,x,2);if(c[x>>2]|0){Ub(f,2,12593,o)|0;I=1;i=J;return I|0}qb(d+5|0,v,2);g=c[v>>2]|0;if(g>>>0>1){Ub(f,2,12677,p)|0;I=1;i=J;return I|0}b=e+-7|0;b:do{if(g){r=h+4|0;s=h+16|0;t=h+8|0;e=h+12|0;p=q+5612|0;o=q+5616|0;m=d+7|0;n=0;c:while(1){if(b>>>0<3){g=27;break}qb(m,x,1);if((c[x>>2]|0)!=1){g=29;break}qb(m+1|0,w,2);g=b+-3|0;j=c[w>>2]|0;k=(j>>>15)+1|0;j=j&32767;c[r>>2]=j;h=(_(k,j)|0)+2|0;if(g>>>0>>0){g=31;break}b=m+3|0;l=g-h|0;if(j){g=0;do{qb(b,x,k);if((c[x>>2]|0)!=(g|0)){g=34;break c}b=b+k|0;g=g+1|0}while(g>>>0<(c[r>>2]|0)>>>0)}qb(b,w,2);g=b+2|0;h=c[w>>2]|0;j=(h>>>15)+1|0;h=h&32767;c[w>>2]=h;if((h|0)!=(c[r>>2]|0)){g=37;break}b=(_(j,h)|0)+3|0;if(l>>>0>>0){g=39;break}b=l-b|0;if(h){h=0;do{qb(g,x,j);if((c[x>>2]|0)!=(h|0)){g=42;break c}g=g+j|0;h=h+1|0}while(h>>>0<(c[r>>2]|0)>>>0)}qb(g,x,3);m=g+3|0;a[s>>0]=((c[x>>2]|0)>>>16^1)&1|a[s>>0]&-2;c[t>>2]=0;c[e>>2]=0;l=c[x>>2]|0;h=l&255;c[u>>2]=h;if(h){j=c[o>>2]|0;if(!j){g=50;break}k=0;g=c[p>>2]|0;while(1){if((c[g+8>>2]|0)==(h|0))break;k=k+1|0;if(k>>>0>=j>>>0){g=50;break c}else g=g+20|0}c[t>>2]=g}h=l>>>8&255;c[u>>2]=h;if(h){j=c[o>>2]|0;if(!j){g=57;break}k=0;g=c[p>>2]|0;while(1){if((c[g+8>>2]|0)==(h|0))break;k=k+1|0;if(k>>>0>=j>>>0){g=57;break c}else g=g+20|0}c[e>>2]=g}n=n+1|0;if(n>>>0>=(c[v>>2]|0)>>>0)break b}if((g|0)==27){Ub(f,1,12567,z)|0;I=0;i=J;return I|0}else if((g|0)==29){Ub(f,2,12721,A)|0;I=1;i=J;return I|0}else if((g|0)==31){Ub(f,1,12567,B)|0;I=0;i=J;return I|0}else if((g|0)==34){Ub(f,2,12787,C)|0;I=1;i=J;return I|0}else if((g|0)==37){Ub(f,2,12841,D)|0;I=1;i=J;return I|0}else if((g|0)==39){Ub(f,1,12567,E)|0;I=0;i=J;return I|0}else if((g|0)==42){Ub(f,2,12787,F)|0;I=1;i=J;return I|0}else if((g|0)==50){Ub(f,1,12567,G)|0;I=0;i=J;return I|0}else if((g|0)==57){Ub(f,1,12567,H)|0;I=0;i=J;return I|0}}}while(0);if(!b){c[y>>2]=(c[y>>2]|0)+1;I=1;i=J;return I|0}else{Ub(f,1,12567,I)|0;I=0;i=J;return I|0}return 0}function ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;r=s+24|0;q=s+20|0;n=a+80|0;f=c[n>>2]|0;if((c[a+8>>2]|0)==16)g=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else g=c[a+12>>2]|0;if(!d){Ub(e,1,12486,s)|0;r=0;i=s;return r|0}qb(b,q,1);a=c[q>>2]|0;if(a>>>0>1){Ub(e,2,12512,s+8|0)|0;r=1;i=s;return r|0}if((a+1|0)!=(d|0)){Ub(e,2,12486,s+16|0)|0;r=0;i=s;return r|0}m=g+5584|0;a=c[f+16>>2]|0;if(a){d=0;e=c[m>>2]|0;while(1){c[e+1076>>2]=0;d=d+1|0;if(d>>>0>=a>>>0)break;else e=e+1080|0}}l=g+5604|0;a=c[l>>2]|0;if(a){Uc(a);c[l>>2]=0}if(!(c[q>>2]|0)){r=1;i=s;return r|0}k=g+5624|0;h=g+5628|0;j=0;while(1){b=b+1|0;qb(b,r,1);a=c[n>>2]|0;f=c[k>>2]|0;g=c[h>>2]|0;if(((g|0)!=0?!((g|0)==0?1:(c[f>>2]|0)!=(c[r>>2]|0)):0)?(o=c[f+4>>2]|0,p=a+16|0,(o|0)==(c[p>>2]|0)):0){a=c[f+8>>2]|0;if(a){d=_(o,o)|0;g=_(c[1036+(c[a>>2]<<2)>>2]|0,d)|0;if((c[a+16>>2]|0)!=(g|0)){a=0;d=32;break}e=Pc(d<<2)|0;c[l>>2]=e;if(!e){a=0;d=32;break}Xa[c[1052+(c[a>>2]<<2)>>2]&15](c[a+12>>2]|0,e,d)}a=c[f+12>>2]|0;if(a){d=c[p>>2]|0;g=_(d,c[1036+(c[a>>2]<<2)>>2]|0)|0;if((c[a+16>>2]|0)!=(g|0)){a=0;d=32;break}g=Pc(d<<2)|0;if(!g){a=0;d=32;break}Xa[c[1068+(c[a>>2]<<2)>>2]&15](c[a+12>>2]|0,g,d);a=c[p>>2]|0;if(a){d=0;e=g;f=c[m>>2]|0;while(1){c[f+1076>>2]=c[e>>2];d=d+1|0;if((d|0)==(a|0))break;else{e=e+4|0;f=f+1080|0}}}Uc(g)}}j=j+1|0;if(j>>>0>=(c[q>>2]|0)>>>0){a=1;d=32;break}}if((d|0)==32){i=s;return a|0}return 0}function we(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){qb(a,f,2);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+2|0}}i=g;return}function xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){qb(a,f,4);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=g;return}function ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){ub(a,f);c[b>>2]=~~+g[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=h;return}function ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){sb(a,f);c[b>>2]=~~+h[f>>3];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+8|0}}i=g;return}function Ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){qb(a,f,2);g[b>>2]=+((c[f>>2]|0)>>>0);e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+2|0}}i=h;return}function Be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){qb(a,f,4);g[b>>2]=+((c[f>>2]|0)>>>0);e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=h;return}function Ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){ub(a,f);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=g;return}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;if(!c){i=f;return}d=0;while(1){sb(a,e);g[b>>2]=+h[e>>3];d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+8|0}}i=f;return}function Ee(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+8|0;k=n+20|0;if((c[a+8>>2]|0)==16)a=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else a=c[a+12>>2]|0;m=c[a+5584>>2]|0;a=c[e>>2]|0;if(!a){Ub(f,1,14224,n)|0;b=0;i=n;return b|0}c[e>>2]=a+-1;qb(d,k,1);d=d+1|0;g=c[k>>2]&31;j=m+(b*1080|0)+24|0;c[j>>2]=g;c[m+(b*1080|0)+804>>2]=(c[k>>2]|0)>>>5;do{if((g|0)==1){a=1;l=8}else{a=(c[e>>2]|0)>>>((g|0)!=0&1);if(a>>>0>97){c[h>>2]=a;c[h+4>>2]=97;c[h+8>>2]=97;Ub(f,2,14260,h)|0;g=c[j>>2]|0}f=(a|0)==0;if(g)if(f){a=0;l=20;break}else{l=8;break}if(!f){g=0;while(1){qb(d,k,1);if(g>>>0<97){c[m+(b*1080|0)+28+(g<<3)>>2]=(c[k>>2]|0)>>>3;c[m+(b*1080|0)+28+(g<<3)+4>>2]=0}g=g+1|0;if((g|0)==(a|0))break;else d=d+1|0}}a=(c[e>>2]|0)-a|0}}while(0);if((l|0)==8){g=0;while(1){qb(d,k,2);if(g>>>0<97){c[m+(b*1080|0)+28+(g<<3)>>2]=(c[k>>2]|0)>>>11;c[m+(b*1080|0)+28+(g<<3)+4>>2]=c[k>>2]&2047}g=g+1|0;if((g|0)==(a|0)){l=20;break}else d=d+2|0}}if((l|0)==20)a=(c[e>>2]|0)-(a<<1)|0;c[e>>2]=a;if((c[j>>2]|0)!=1){b=1;i=n;return b|0}a=m+(b*1080|0)+28|0;d=m+(b*1080|0)+32|0;g=1;do{e=(c[a>>2]|0)-(((g+-1|0)>>>0)/3|0)|0;c[m+(b*1080|0)+28+(g<<3)>>2]=(e|0)>0?e:0;c[m+(b*1080|0)+28+(g<<3)+4>>2]=c[d>>2];g=g+1|0}while((g|0)!=97);a=1;i=n;return a|0}function Fe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r+40|0;l=r+32|0;k=r+16|0;j=r+8|0;o=r+44|0;h=a+8|0;if((c[h>>2]|0)==16)g=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else g=c[a+12>>2]|0;m=c[g+5584>>2]|0;if((c[e>>2]|0)>>>0<5){Ub(f,1,14664,r)|0;e=0;i=r;return e|0}n=m+(b*1080|0)+4|0;qb(d,n,1);g=(c[n>>2]|0)+1|0;c[n>>2]=g;if(g>>>0>33){c[j>>2]=g;c[j+4>>2]=33;Ub(f,1,14699,j)|0;e=0;i=r;return e|0}if((c[a+168>>2]|0)>>>0>=g>>>0){c[k>>2]=b;Ub(f,1,14776,k)|0;c[h>>2]=c[h>>2]|32768;e=0;i=r;return e|0}j=m+(b*1080|0)+8|0;qb(d+1|0,j,1);c[j>>2]=(c[j>>2]|0)+2;a=m+(b*1080|0)+12|0;qb(d+2|0,a,1);k=(c[a>>2]|0)+2|0;c[a>>2]=k;j=c[j>>2]|0;if(j>>>0>10|k>>>0>10|(j+k|0)>>>0>12){Ub(f,1,14934,r+24|0)|0;e=0;i=r;return e|0}qb(d+3|0,m+(b*1080|0)+16|0,1);qb(d+4|0,m+(b*1080|0)+20|0,1);h=(c[e>>2]|0)+-5|0;c[e>>2]=h;g=c[n>>2]|0;if(!(c[m+(b*1080|0)>>2]&1)){if(!g){e=1;i=r;return e|0}else g=0;do{c[m+(b*1080|0)+812+(g<<2)>>2]=15;c[m+(b*1080|0)+944+(g<<2)>>2]=15;g=g+1|0}while(g>>>0<(c[n>>2]|0)>>>0);g=1;i=r;return g|0}if(h>>>0>>0){Ub(f,1,14664,l)|0;e=0;i=r;return e|0}do{if(!g)g=0;else{a=0;h=d+5|0;while(1){qb(h,o,1);h=h+1|0;g=c[o>>2]|0;if((a|0)!=0?g>>>0<16|(g&15|0)==0:0)break;c[m+(b*1080|0)+812+(a<<2)>>2]=g&15;c[m+(b*1080|0)+944+(a<<2)>>2]=(c[o>>2]|0)>>>4;a=a+1|0;g=c[n>>2]|0;if(a>>>0>=g>>>0){q=22;break}}if((q|0)==22){h=c[e>>2]|0;break}Ub(f,1,15002,p)|0;e=0;i=r;return e|0}}while(0);c[e>>2]=h-g;e=1;i=r;return e|0}function Ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){pb(b,~~+g[a>>2]>>>0,2);d=d+1|0;if((d|0)==(c|0))break;else{b=b+2|0;a=a+4|0}}return}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){pb(b,~~+g[a>>2]>>>0,4);d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+4|0}}return}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){tb(b,+g[a>>2]);d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+4|0}}return}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){rb(b,+g[a>>2]);d=d+1|0;if((d|0)==(c|0))break;else{b=b+8|0;a=a+4|0}}return}function Ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;if(!d){d=0;i=j;return d|0}if(!(ld(c[a>>2]|0,b,d,e)|0)){Ub(e,1,16303,j)|0;d=0;i=j;return d|0}if(c[a+128>>2]|0){d=1;i=j;return d|0}h=a+108|0;if(!(bf(d,h,e)|0)){d=0;i=j;return d|0}b=c[a+48>>2]|0;a:do{switch(b|0){case 16:{c[d+20>>2]=1;break}case 17:{c[d+20>>2]=2;break}case 18:{c[d+20>>2]=3;break}case 24:{c[d+20>>2]=4;break}default:{f=d+20|0;if((b|0)==12){c[f>>2]=5;break a}else{c[f>>2]=-1;break a}}}}while(0);g=a+120|0;b=c[g>>2]|0;do{if(b){if(c[b+12>>2]|0){cf(d,h);break}Uc(c[b+4>>2]|0);Uc(c[(c[g>>2]|0)+8>>2]|0);Uc(c[c[g>>2]>>2]|0);b=c[g>>2]|0;f=c[b+12>>2]|0;if(f){Uc(f);b=c[g>>2]|0}Uc(b);c[g>>2]=0}}while(0);if(c[a+116>>2]|0)df(d,h,e);b=c[h>>2]|0;if(!b){d=1;i=j;return d|0}c[d+28>>2]=b;c[d+32>>2]=c[a+112>>2];c[h>>2]=0;d=1;i=j;return d|0}function Le(b,d){b=b|0;d=d|0;Wc(c[b>>2]|0,d);a[b+124>>0]=0;c[b+128>>2]=c[d+8248>>2]&1;return}function Me(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;v=w+64|0;s=w+56|0;o=w+48|0;r=w+40|0;q=w+32|0;p=w+24|0;if(!((a|0)!=0&(d|0)!=0&(e|0)!=0)){d=0;i=w;return d|0}t=e+16|0;if(((c[t>>2]|0)+-1|0)>>>0>16383){Ub(f,1,16352,w)|0;d=0;i=w;return d|0}if(!(Zc(c[a>>2]|0,d,e,f)|0)){d=0;i=w;return d|0}c[a+56>>2]=1785737760;c[a+60>>2]=0;c[a+64>>2]=1;g=Pc(4)|0;h=a+68|0;c[h>>2]=g;if(!g){c[h>>2]=0;Ub(f,1,16421,w+8|0)|0;d=0;i=w;return d|0}c[g>>2]=1785737760;l=c[t>>2]|0;c[a+20>>2]=l;l=Pc(l*12|0)|0;g=a+72|0;c[g>>2]=l;if(!l){c[g>>2]=0;Ub(f,1,16421,w+16|0)|0;d=0;i=w;return d|0}c[a+16>>2]=(c[e+12>>2]|0)-(c[e+4>>2]|0);c[a+12>>2]=(c[e+8>>2]|0)-(c[e>>2]|0);u=e+24|0;m=c[u>>2]|0;j=c[m+24>>2]|0;k=c[m+32>>2]|0;g=a+24|0;c[g>>2]=j+-1+(k<<7);n=c[t>>2]|0;if(n>>>0>1){h=1;do{if((j|0)!=(c[m+(h*52|0)+24>>2]|0))c[g>>2]=255;h=h+1|0}while(h>>>0>>0)}c[a+28>>2]=7;c[a+32>>2]=0;c[a+36>>2]=0;h=(n|0)==0;if(!h?(c[l+8>>2]=j+-1+(k<<7),n>>>0>1):0){g=1;do{c[l+(g*12|0)+8>>2]=(c[m+(g*52|0)+24>>2]|0)+-1+(c[m+(g*52|0)+32>>2]<<7);g=g+1|0}while(g>>>0>>0)}g=a+40|0;a:do{if(!(c[e+32>>2]|0)){c[g>>2]=1;switch(c[e+20>>2]|0){case 1:{c[a+48>>2]=16;break a}case 2:{c[a+48>>2]=17;break a}case 3:{c[a+48>>2]=18;break a}default:break a}}else{c[g>>2]=2;c[a+48>>2]=0}}while(0);b:do{if(!h){h=0;g=0;j=0;do{e=(b[m+(j*52|0)+48>>1]|0)==0;g=(e&1^1)+g|0;h=e?h:j;j=j+1|0}while(j>>>0>>0);j=h;if((g|0)!=1){if(g>>>0<=1)break;Ub(f,2,16717,o)|0;break}switch(c[a+48>>2]|0){case 18:case 16:{h=3;break}case 17:{h=1;break}default:{Ub(f,2,16467,p)|0;break b}}if(n>>>0<(h+1|0)>>>0){Ub(f,2,16541,q)|0;break}if(j>>>0>>0){Ub(f,2,16634,r)|0;break}r=Pc(8)|0;g=a+116|0;c[g>>2]=r;if(!r){Ub(f,1,16782,s)|0;d=0;i=w;return d|0}s=Pc((c[t>>2]|0)*6|0)|0;e=c[g>>2]|0;c[e>>2]=s;if(!s){Ub(f,1,16782,v)|0;d=0;i=w;return d|0}l=c[t>>2]|0;b[e+4>>1]=l;k=c[e>>2]|0;g=0;do{b[k+(g*6|0)>>1]=g;b[k+(g*6|0)+2>>1]=0;v=g;g=g+1|0;b[k+(v*6|0)+4>>1]=g}while((g|0)!=(h|0));if(h>>>0>>0){j=c[u>>2]|0;do{v=(b[j+(h*52|0)+48>>1]|0)==0;b[k+(h*6|0)>>1]=h;g=k+(h*6|0)+2|0;if(v){b[g>>1]=-1;b[k+(h*6|0)+4>>1]=-1}else{b[g>>1]=1;b[(c[e>>2]|0)+(h*6|0)+4>>1]=0}h=h+1|0}while(h>>>0>>0)}}}while(0);c[a+52>>2]=0;c[a+44>>2]=0;c[a+96>>2]=c[d+18692>>2];d=1;i=w;return d|0}function Ne(a,b,d){a=a|0;b=b|0;d=d|0;return od(c[a>>2]|0,b,d)|0}function Oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+8|0;if(!(sg(c[e>>2]|0,52,d)|0)){d=0;return d|0}g=c[e>>2]|0;h=tg(g)|0;e=ug(g)|0;if(h){i=0;f=1;while(1){if(!f)f=0;else f=(Ra[c[e>>2]&63](a,b,d)|0)!=0;i=i+1|0;if((i|0)==(h|0))break;else{e=e+4|0;f=f&1}}vg(g);if(!f){d=0;return d|0}}else vg(g);d=$c(c[a>>2]|0,b,d)|0;return d|0}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+8|0;if(!(sg(c[e>>2]|0,53,d)|0)){d=0;return d|0}if(!(pd(c[a>>2]|0,b,d)|0)){d=0;return d|0}i=c[e>>2]|0;g=tg(i)|0;e=ug(i)|0;if(!g)e=1;else{h=0;f=e;e=1;while(1){if(!e)e=0;else e=(Ra[c[f>>2]&63](a,b,d)|0)!=0;e=e&1;h=h+1|0;if((h|0)==(g|0))break;else f=f+4|0}}vg(i);d=e;return d|0}function Qe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+4|0;if(!(sg(c[f>>2]|0,54,e)|0)){b=0;return b|0}h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){b=0;return b|0}}else vg(h);f=a+8|0;if(!(sg(c[f>>2]|0,55,e)|0)){b=0;return b|0}if(!(sg(c[f>>2]|0,56,e)|0)){b=0;return b|0}if(!(sg(c[f>>2]|0,57,e)|0)){b=0;return b|0}if((c[a+96>>2]|0)!=0?(sg(c[f>>2]|0,58,e)|0)==0:0){b=0;return b|0}if(!(sg(c[f>>2]|0,59,e)|0)){b=0;return b|0}h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){b=0;return b|0}}else vg(h);b=qd(c[a>>2]|0,b,d,e)|0;return b|0}function Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=b+8|0;if(!(sg(c[k>>2]|0,52,e)|0)){a=0;return a|0}h=c[b+4>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){a=0;return a|0}}else vg(h);h=c[k>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){a=0;return a|0}}else vg(h);a=ad(a,c[b>>2]|0,d,e)|0;return a|0}function Se(a,b,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return cd(c[a>>2]|0,b,d,e,f,g,h,i,j,k,l)|0}function Te(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;return rd(c[a>>2]|0,b,d,e,f,g)|0}function Ue(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;return dd(c[a>>2]|0,b,d,e,f,g)|0}function Ve(a){a=a|0;var b=0,d=0,e=0;if(!a)return;Yc(c[a>>2]|0);c[a>>2]=0;b=a+72|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+68|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+108|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}e=a+116|0;b=c[e>>2]|0;if(b){d=c[b>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b>>2]=0}Uc(b);c[e>>2]=0}e=a+120|0;b=c[e>>2]|0;if(b){d=c[b+12>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+12>>2]=0}d=c[b+4>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+4>>2]=0}d=c[b+8>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+8>>2]=0}d=c[b>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b>>2]=0}Uc(b);c[e>>2]=0}b=a+4|0;d=c[b>>2]|0;if(d){rg(d);c[b>>2]=0}b=a+8|0;d=c[b>>2]|0;if(d){rg(d);c[b>>2]=0}Uc(a);return}function We(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ed(c[a>>2]|0,b,d,e,f,g,h)|0}function Xe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;if(!d){a=0;i=j;return a|0}Ub(e,2,16826,j)|0;if(!(md(c[a>>2]|0,b,d,e,f)|0)){Ub(e,1,16303,j+8|0)|0;a=0;i=j;return a|0}h=a+108|0;if(!(bf(d,h,e)|0)){a=0;i=j;return a|0}f=c[a+48>>2]|0;a:do{switch(f|0){case 16:{c[d+20>>2]=1;break}case 17:{c[d+20>>2]=2;break}case 18:{c[d+20>>2]=3;break}case 24:{c[d+20>>2]=4;break}default:{b=d+20|0;if((f|0)==12){c[b>>2]=5;break a}else{c[b>>2]=-1;break a}}}}while(0);g=a+120|0;b=c[g>>2]|0;do{if(b){if(c[b+12>>2]|0){cf(d,h);break}Uc(c[b+4>>2]|0);Uc(c[(c[g>>2]|0)+8>>2]|0);Uc(c[c[g>>2]>>2]|0);b=c[g>>2]|0;f=c[b+12>>2]|0;if(f){Uc(f);b=c[g>>2]|0}Uc(b);c[g>>2]=0}}while(0);if(c[a+116>>2]|0)df(d,h,e);b=c[h>>2]|0;if(!b){a=1;i=j;return a|0}c[d+28>>2]=b;c[d+32>>2]=c[a+112>>2];c[h>>2]=0;a=1;i=j;return a|0}function Ye(b){b=b|0;var d=0;d=Qc(1,136)|0;if(!d)return d|0;if(!b){b=Xc()|0;c[d>>2]=b}else{b=fd()|0;c[d>>2]=b}if(!b){Ve(d);d=0;return d|0}b=d+108|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=0;b=qg()|0;c[d+4>>2]=b;if(!b){Ve(d);d=0;return d|0}b=qg()|0;c[d+8>>2]=b;if(b)return d|0;Ve(d);d=0;return d|0}function Ze(a,b,d){a=a|0;b=b|0;d=d|0;gd(c[a>>2]|0,b,d);return}function _e(a){a=a|0;return kd(c[a>>2]|0)|0}function $e(a){a=a|0;return jd(c[a>>2]|0)|0}function af(a,b,d){a=a|0;b=b|0;d=d|0;return nd(c[a>>2]|0,b,d)|0}function bf(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;A=B+72|0;z=B+64|0;y=B+56|0;x=B+48|0;w=B+40|0;v=B+32|0;u=B+24|0;s=B+16|0;o=B+8|0;n=B;j=c[g+8>>2]|0;a:do{if(j){r=c[j>>2]|0;q=b[j+4>>1]|0;j=c[f+16>>2]|0;p=c[g+12>>2]|0;if((p|0)!=0?(c[p+12>>2]|0)!=0:0)g=d[p+18>>0]|0;else g=j;m=q<<16>>16==0;b:do{if(!m){l=0;c:while(1){k=l&65535;j=e[r+(k*6|0)>>1]|0;if(j>>>0>=g>>>0){k=15;break}j=b[r+(k*6|0)+4>>1]|0;switch(j<<16>>16){case 0:case-1:break;default:{j=(j&65535)+-1|0;if(j>>>0>=g>>>0){k=18;break c}}}l=l+1<<16>>16;if((l&65535)>=(q&65535))break b}if((k|0)==15){c[n>>2]=j;c[n+4>>2]=g;Ub(h,1,19343,n)|0;h=0;i=B;return h|0}else if((k|0)==18){c[o>>2]=j;c[o+4>>2]=g;Ub(h,1,19343,o)|0;h=0;i=B;return h|0}}}while(0);if(!g)j=p;else{d:do{if(!m)while(1){g=g+-1|0;j=0;do{if((e[r+((j&65535)*6|0)>>1]|0)==(g|0))break;j=j+1<<16>>16}while((j&65535)<(q&65535));if(j<<16>>16==q<<16>>16)break d;if(!g){j=p;break a}}}while(0);Ub(h,1,19380,s)|0;h=0;i=B;return h|0}}else j=c[g+12>>2]|0}while(0);if(!j){h=1;i=B;return h|0}t=c[j+12>>2]|0;if(!t){h=1;i=B;return h|0}p=a[j+18>>0]|0;s=p&255;r=p<<24>>24==0;if(r)j=1;else{l=f+16|0;g=0;m=0;j=1;do{g=e[t+(g<<2)>>1]|0;k=c[l>>2]|0;if(g>>>0>=k>>>0){c[u>>2]=g;c[u+4>>2]=k;Ub(h,1,19343,u)|0;j=0}m=m+1<<16>>16;g=m&65535}while(g>>>0>>0)}q=Qc(s,4)|0;if(!q){Ub(h,1,19413,v)|0;h=0;i=B;return h|0}if(!r){n=0;o=0;do{k=a[t+(n<<2)+3>>0]|0;l=k&255;do{if((k&255)<(p&255)){m=q+(l<<2)|0;g=a[t+(n<<2)+2>>0]|0;if((c[m>>2]|0)!=0&g<<24>>24==1){c[x>>2]=l;Ub(h,1,19486,x)|0;j=0;break}if(g<<24>>24!=0|k<<24>>24==0){c[m>>2]=1;break}else{c[y>>2]=n;c[y+4>>2]=l;Ub(h,1,19517,y)|0;j=0;break}}else{c[w>>2]=l;Ub(h,1,19430,w)|0;j=0}}while(0);o=o+1<<16>>16;n=o&65535}while(n>>>0>>0);if(!r){g=0;k=0;do{if((c[q+(g<<2)>>2]|0)==0?(a[t+(g<<2)+2>>0]|0)!=0:0){c[z>>2]=g;Ub(h,1,19553,z)|0;j=0}k=k+1<<16>>16;g=k&65535}while(g>>>0>>0)}}if(!j){Uc(q);h=0;i=B;return h|0}e:do{if(!((c[f+16>>2]|0)!=1|r)){j=0;g=0;while(1){g=g+1<<16>>16;if(!(c[q+(j<<2)>>2]|0))break;j=g&65535;if(j>>>0>=s>>>0)break e}c[A>>2]=j;Ub(h,2,19591,A)|0;if(!r){j=0;g=0;do{a[t+(j<<2)+2>>0]=1;a[t+(j<<2)+3>>0]=g;g=g+1<<16>>16;j=g&65535}while(j>>>0>>0)}}}while(0);Uc(q);h=1;i=B;return h|0}function cf(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=g+12|0;g=c[w>>2]|0;m=c[g+8>>2]|0;o=c[g+4>>2]|0;q=c[g>>2]|0;r=c[g+12>>2]|0;g=a[g+18>>0]|0;s=f+24|0;t=c[s>>2]|0;u=g&255;v=Pc(u*52|0)|0;if(!v)return;n=g<<24>>24==0;if(!n){k=0;l=0;do{g=b[r+(k<<2)>>1]|0;if(!(a[r+(k<<2)+2>>0]|0)){g=g&65535;h=v+(k*52|0)|0;i=t+(g*52|0)|0;j=h+52|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0))}else{g=g&65535;h=v+((d[r+(k<<2)+3>>0]|0)*52|0)|0;i=t+(g*52|0)|0;j=h+52|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0))}j=Pc(_(c[t+(g*52|0)+8>>2]<<2,c[t+(g*52|0)+12>>2]|0)|0)|0;c[v+(k*52|0)+44>>2]=j;if(!j){p=7;break}c[v+(k*52|0)+24>>2]=d[m+k>>0];c[v+(k*52|0)+32>>2]=d[o+k>>0];l=l+1<<16>>16;k=l&65535}while(k>>>0>>0);if((p|0)==7){Uc(v);return}m=(e[(c[w>>2]|0)+16>>1]|0)+-1|0;if(!n){g=0;l=0;do{j=c[t+((e[r+(g<<2)>>1]|0)*52|0)+44>>2]|0;i=d[r+(g<<2)+3>>0]|0;k=_(c[v+(i*52|0)+12>>2]|0,c[v+(i*52|0)+8>>2]|0)|0;if(!(a[r+(g<<2)+2>>0]|0)){g=c[v+(g*52|0)+44>>2]|0;if(k){h=0;do{c[g+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(k|0))}}else{g=c[v+(i*52|0)+44>>2]|0;if(k){h=0;do{p=c[j+(h<<2)>>2]|0;c[g+(h<<2)>>2]=c[q+((_((p|0)<0?0:(p|0)>(m|0)?m:p,u)|0)+i<<2)>>2];h=h+1|0}while((h|0)!=(k|0))}}l=l+1<<16>>16;g=l&65535}while(g>>>0>>0)}}h=f+16|0;i=c[h>>2]|0;if(i){g=0;j=0;do{g=c[t+(g*52|0)+44>>2]|0;if(g)Uc(g);j=j+1<<16>>16;g=j&65535}while(g>>>0>>0)}Uc(t);c[s>>2]=v;c[h>>2]=u;Uc(c[(c[w>>2]|0)+4>>2]|0);Uc(c[(c[w>>2]|0)+8>>2]|0);Uc(c[c[w>>2]>>2]|0);g=c[w>>2]|0;h=c[g+12>>2]|0;if(h){Uc(h);g=c[w>>2]|0}Uc(g);c[w>>2]=0;return}function df(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;w=y+8|0;v=y;u=y+16|0;x=d+8|0;f=c[x>>2]|0;d=c[f>>2]|0;t=b[f+4>>1]|0;if(t<<16>>16){s=a+16|0;o=a+24|0;q=1;r=0;while(1){p=b[d+(r*6|0)>>1]|0;n=p&65535;a=c[s>>2]|0;a:do{if(n>>>0>>0){f=b[d+(r*6|0)+4>>1]|0;switch(f<<16>>16){case-1:case 0:{b[(c[o>>2]|0)+(n*52|0)+48>>1]=b[d+(r*6|0)+2>>1]|0;break a}default:{}}k=(f&65535)+65535|0;m=k&65535;k=k&65535;if(k>>>0>=a>>>0){c[w>>2]=k;c[w+4>>2]=a;Ub(e,2,19302,w)|0;break}l=d+(r*6|0)+2|0;if((n|0)!=(k|0)?(b[l>>1]|0)==0:0){f=c[o>>2]|0;a=f+(n*52|0)|0;g=u;h=a;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));g=a;h=f+(k*52|0)|0;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));g=(c[o>>2]|0)+(k*52|0)|0;h=u;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));if((r+1&65535)<(t&65535)){g=q;do{f=d+(g*6|0)|0;a=b[f>>1]|0;if(a<<16>>16!=p<<16>>16){if(a<<16>>16==m<<16>>16)b[f>>1]=p}else b[f>>1]=m;g=g+1|0}while((g&65535)<<16>>16!=t<<16>>16)}}b[(c[o>>2]|0)+(n*52|0)+48>>1]=b[l>>1]|0}else{c[v>>2]=n;c[v+4>>2]=a;Ub(e,2,19262,v)|0}}while(0);r=r+1|0;if((r&65535)<<16>>16==t<<16>>16)break;else q=q+1|0}d=c[x>>2]|0;f=d;d=c[d>>2]|0}if(!d){w=f;Uc(w);c[x>>2]=0;i=y;return}else{Uc(d);w=c[x>>2]|0;Uc(w);c[x>>2]=0;i=y;return}}function ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+192|0;y=I+152|0;x=I+144|0;w=I+136|0;v=I+128|0;u=I+120|0;E=I+88|0;s=I+80|0;q=I+64|0;p=I+48|0;G=I+40|0;z=I+32|0;F=I+24|0;t=I+16|0;r=I+8|0;n=I+176|0;o=I+168|0;D=I+156|0;e=Qc(1,1024)|0;if(!e){Ub(d,1,17098,I)|0;H=0;i=I;return H|0}m=n+4|0;A=D+4|0;B=a+100|0;l=1024;a:while(1){if((Mb(b,n,8,d)|0)!=8)break;while(1){qb(n,D,4);qb(m,A,4);switch(c[D>>2]|0){case 0:{f=Qb(b)|0;k=C;if((k|0)>0|(k|0)==0&f>>>0>4294967287){H=6;break a}c[D>>2]=f+8;j=8;break}case 1:{if((Mb(b,n,8,d)|0)!=8)break a;qb(n,o,4);if(c[o>>2]|0){H=10;break a}qb(m,D,4);j=16;break}default:j=8}g=c[A>>2]|0;if((g|0)==1785737827){H=13;break a}f=c[D>>2]|0;if(!f){H=17;break a}if(f>>>0>>0){H=19;break a}if((g|0)==1783636e3){h=1084;g=j;H=22;break}if((g|0)==1718909296){h=1092;g=j;H=22;break}k=(g|0)==1785737832;b:do{if((g|0)!=1768449138)if((g|0)!=1668246642)if((g|0)!=1651532643)if((g|0)!=1885564018)if((g|0)!=1668112752){h=(g|0)==1667523942?1148:0;f=f-j|0;if((g|0)<1785737832)switch(g|0){case 1667523942:{H=30;break b}default:{}}else switch(g|0){case 1785737832:{H=30;break b}default:{}}g=c[B>>2]|0;if(!(g&1)){H=45;break a}if(!(g&2)){H=47;break a}c[B>>2]=g|2147483647;k=Rb(b,f,0,d)|0;if(!((k|0)==(f|0)&(C|0)==0)){H=50;break a}}else{h=1140;H=28}else{h=1132;H=28}else{h=1124;H=28}else{h=1116;H=28}else{h=1108;H=28}}while(0);if((H|0)==28){f=f-j|0;H=30}if((H|0)==30){H=0;if(k){h=1100;break}c[p>>2]=g>>>24;c[p+4>>2]=g>>>16&255;c[p+8>>2]=g>>>8&255;c[p+12>>2]=g&255;Ub(d,2,17282,p)|0;if(c[B>>2]&4)break;k=c[A>>2]|0;c[q>>2]=k>>>24;c[q+4>>2]=k>>>16&255;c[q+8>>2]=k>>>8&255;c[q+12>>2]=k&255;Ub(d,2,17333,q)|0;c[B>>2]=c[B>>2]|2147483647;k=Rb(b,f,0,d)|0;if(!((k|0)==(f|0)&(C|0)==0)){H=33;break a}}if((Mb(b,n,8,d)|0)!=8)break a}if((H|0)==22){H=0;f=f-g|0}k=Qb(b)|0;j=C;if(0>(j|0)|0==(j|0)&f>>>0>k>>>0){H=35;break}if(f>>>0>l>>>0){g=Tc(e,f)|0;if(!g){H=38;break}else{e=g;g=f}}else g=l;if((Mb(b,e,f,d)|0)!=(f|0)){H=40;break}if(!(Za[c[h+4>>2]&63](a,e,f,d)|0)){H=43;break}else l=g}switch(H|0){case 6:{Ub(d,1,17148,r)|0;break}case 10:{Ub(d,1,17148,t)|0;break}case 13:{f=c[B>>2]|0;if(!(f&4)){Ub(d,1,17190,F)|0;Uc(e);H=0;i=I;return H|0}else{c[B>>2]=f|8;Uc(e);H=1;i=I;return H|0}}case 17:{Ub(d,1,17218,z)|0;Uc(e);H=0;i=I;return H|0}case 19:{c[G>>2]=f;c[G+4>>2]=g;Ub(d,1,17256,G)|0;Uc(e);H=0;i=I;return H|0}case 33:{Ub(d,1,17399,s)|0;Uc(e);H=0;i=I;return H|0}case 35:{F=c[D>>2]|0;G=c[A>>2]|0;H=Qb(b)|0;c[E>>2]=F;c[E+4>>2]=G>>>24;c[E+8>>2]=G>>>16&255;c[E+12>>2]=G>>>8&255;c[E+16>>2]=G&255;c[E+20>>2]=f;c[E+24>>2]=H;Ub(d,1,17449,E)|0;Uc(e);H=0;i=I;return H|0}case 38:{Uc(e);Ub(d,1,17525,u)|0;H=0;i=I;return H|0}case 40:{Ub(d,1,17567,v)|0;Uc(e);H=0;i=I;return H|0}case 43:{Uc(e);H=0;i=I;return H|0}case 45:{Ub(d,1,17616,w)|0;Uc(e);H=0;i=I;return H|0}case 47:{Ub(d,1,17686,x)|0;Uc(e);H=0;i=I;return H|0}case 50:{Ub(d,1,17399,y)|0;Uc(e);H=0;i=I;return H|0}}Uc(e);H=1;i=I;return H|0}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+24|0;e=Pb(b)|0;f=C;a=a+80|0;j=a;j=Oi(e|0,f|0,c[j>>2]|0,c[j+4>>2]|0)|0;pb(g,j,4);pb(g+4|0,1785737827,4);if(!(Sb(b,c[a>>2]|0,c[a+4>>2]|0,d)|0)){Ub(d,1,17067,h)|0;j=0;i=h;return j|0}if((Nb(b,g,8,d)|0)!=8){Ub(d,1,17067,h+8|0)|0;j=0;i=h;return j|0}if(Sb(b,e,f,d)|0){j=1;i=h;return j|0}Ub(d,1,17067,h+16|0)|0;j=0;i=h;return j|0}function gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;d=((c[a>>2]|0)!=0?(c[a+104>>2]|c[a+100>>2]|0)==0:0)&(c[a+8>>2]|0)!=0&(c[a+4>>2]|0)!=0&(c[a+64>>2]|0)!=0&(c[a+16>>2]|0)!=0&(c[a+12>>2]|0)!=0&1;e=c[a+20>>2]|0;if(!e){g=d;a=a+40|0;a=c[a>>2]|0;a=a+-1|0;a=a>>>0<2;a=a&1;b=Tb(b)|0;b=b&g;a=b&a;return a|0}f=c[a+72>>2]|0;g=0;do{d=(c[f+(g*12|0)+8>>2]&126)>>>0<38&d;g=g+1|0}while(g>>>0>>0);a=a+40|0;a=c[a>>2]|0;a=a+-1|0;a=a>>>0<2;a=a&1;b=Tb(b)|0;b=b&d;a=b&a;return a|0}function hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=i;i=i+16|0;d=a;pb(d,12,4);pb(d+4|0,1783636e3,4);pb(d+8|0,218793738,4);c=(Nb(b,d,12,c)|0)==12&1;i=a;return c|0}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l+8|0;f=a+64|0;h=(c[f>>2]<<2)+16|0;j=Qc(1,h)|0;if(!j){Ub(d,1,16987,l)|0;k=0;i=l;return k|0}pb(j,h,4);pb(j+4|0,1718909296,4);pb(j+8|0,c[a+56>>2]|0,4);pb(j+12|0,c[a+60>>2]|0,4);g=j+16|0;if(c[f>>2]|0){a=a+68|0;e=0;do{pb(g,c[(c[a>>2]|0)+(e<<2)>>2]|0,4);e=e+1|0}while(e>>>0<(c[f>>2]|0)>>>0)}a=(Nb(b,j,h,d)|0)==(h|0);if(!a)Ub(d,1,17026,k)|0;Uc(j);k=a&1;i=l;return k|0}function kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;o=q+16|0;m=q+8|0;k=q;f=q+24|0;l=q+72|0;e=f;g=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));p=(c[a+24>>2]|0)==255;c[f>>2]=2;e=f+12|0;if(p){c[e>>2]=3;c[f+24>>2]=4;e=3}else{c[e>>2]=4;e=2}if(!(c[a+116>>2]|0))p=e;else{c[f+(e*12|0)>>2]=5;p=e+1|0}pb(l+4|0,1785737832,4);h=0;j=f;e=8;while(1){g=j+8|0;r=_a[c[j>>2]&7](a,g)|0;c[j+4>>2]=r;if(!r){n=8;break}e=(c[g>>2]|0)+e|0;h=h+1|0;if((h|0)>=(p|0))break;else j=j+12|0}if((n|0)==8){Ub(d,1,16901,k)|0;g=0;while(1){e=c[f+4>>2]|0;if(e)Uc(e);g=g+1|0;if((g|0)>=(p|0)){e=0;break}else f=f+12|0}i=q;return e|0}pb(l,e,4);a:do{if((Nb(b,l,8,d)|0)==8){e=0;g=f;while(1){r=g+8|0;n=Nb(b,c[g+4>>2]|0,c[r>>2]|0,d)|0;if((n|0)!=(c[r>>2]|0))break;e=e+1|0;if((e|0)>=(p|0)){e=1;break a}else g=g+12|0}Ub(d,1,16944,o)|0;e=0}else{Ub(d,1,16944,m)|0;e=0}}while(0);h=0;while(1){g=c[f+4>>2]|0;if(g)Uc(g);h=h+1|0;if((h|0)>=(p|0))break;else f=f+12|0}i=q;return e|0}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Pb(b)|0;a=a+88|0;c[a>>2]=e;c[a+4>>2]=C;b=Rb(b,24,0,d)|0;return(b|0)==24&(C|0)==0&1|0}function mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Pb(b)|0;a=a+80|0;c[a>>2]=e;c[a+4>>2]=C;b=Rb(b,8,0,d)|0;return(b|0)==8&(C|0)==0&1|0}function nf(a,b){a=a|0;b=b|0;var d=0;d=Qc(1,22)|0;if(!d){b=0;return b|0}pb(d,22,4);pb(d+4|0,1768449138,4);pb(d+8|0,c[a+16>>2]|0,4);pb(d+12|0,c[a+12>>2]|0,4);pb(d+16|0,c[a+20>>2]|0,2);pb(d+18|0,c[a+24>>2]|0,1);pb(d+19|0,c[a+28>>2]|0,1);pb(d+20|0,c[a+32>>2]|0,1);pb(d+21|0,c[a+36>>2]|0,1);c[b>>2]=22;b=d;return b|0}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=(c[f>>2]|0)+8|0;h=Qc(1,g)|0;if(!h){b=0;return b|0}pb(h,g,4);pb(h+4|0,1651532643,4);if(c[f>>2]|0){a=a+72|0;d=0;e=h+8|0;while(1){pb(e,c[(c[a>>2]|0)+(d*12|0)+8>>2]|0,1);d=d+1|0;if(d>>>0>=(c[f>>2]|0)>>>0)break;else e=e+1|0}}c[b>>2]=g;b=h;return b|0}function pf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=a+40|0;switch(c[e>>2]|0){case 1:{j=15;break}case 2:{j=(c[a+112>>2]|0)+11|0;break}default:{b=0;return b|0}}i=Qc(1,j)|0;if(!i){b=0;return b|0}pb(i,j,4);pb(i+4|0,1668246642,4);pb(i+8|0,c[e>>2]|0,1);pb(i+9|0,c[a+52>>2]|0,1);pb(i+10|0,c[a+44>>2]|0,1);g=i+11|0;switch(c[e>>2]|0){case 1:{pb(g,c[a+48>>2]|0,4);break}case 2:{h=a+112|0;if(c[h>>2]|0){a=a+108|0;f=0;e=g;while(1){pb(e,d[(c[a>>2]|0)+f>>0]|0,1);f=f+1|0;if(f>>>0>=(c[h>>2]|0)>>>0)break;else e=e+1|0}}break}default:{}}c[b>>2]=j;b=i;return b|0}function qf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=a+116|0;j=((e[(c[i>>2]|0)+4>>1]|0)*6|0)+10|0;k=Pc(j)|0;if(!k){d=0;return d|0}pb(k,j,4);pb(k+4|0,1667523942,4);pb(k+8|0,e[(c[i>>2]|0)+4>>1]|0,2);a=c[i>>2]|0;if(b[a+4>>1]|0){g=0;f=0;h=k+10|0;while(1){pb(h,e[(c[a>>2]|0)+(g*6|0)>>1]|0,2);pb(h+2|0,e[(c[c[i>>2]>>2]|0)+(g*6|0)+2>>1]|0,2);pb(h+4|0,e[(c[c[i>>2]>>2]|0)+(g*6|0)+4>>1]|0,2);f=f+1<<16>>16;a=c[i>>2]|0;if((f&65535)>=(e[a+4>>1]|0))break;else{g=f&65535;h=h+6|0}}}c[d>>2]=j;d=k;return d|0}function rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+32|0;f=g+16|0;if((d|0)!=14){Ub(e,1,18507,g)|0;f=0;i=g;return f|0}qb(b,a+16|0,4);qb(b+4|0,a+12|0,4);d=a+20|0;qb(b+8|0,d,2);d=Qc(c[d>>2]|0,12)|0;c[a+72>>2]=d;if(!d){Ub(e,1,18540,g+8|0)|0;f=0;i=g;return f|0}qb(b+10|0,a+24|0,1);d=a+28|0;qb(b+11|0,d,1);d=c[d>>2]|0;if((d|0)!=7){c[f>>2]=d;Ub(e,4,18589,f)|0}qb(b+12|0,a+32|0,1);qb(b+13|0,a+36|0,1);f=1;i=g;return f|0}function sf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;j=x+40|0;t=x+32|0;l=x+24|0;k=x+16|0;u=x+72|0;s=x+68|0;p=x+64|0;q=x+60|0;n=x+56|0;r=x+52|0;o=x+48|0;m=x+44|0;if(e>>>0<3){Ub(f,1,18180,x)|0;w=0;i=x;return w|0}v=b+108|0;w=b+124|0;if(a[w>>0]|0){Ub(f,4,18212,x+8|0)|0;w=1;i=x;return w|0}h=b+40|0;qb(d,h,1);qb(d+1|0,b+52|0,1);qb(d+2|0,b+44|0,1);g=d+3|0;h=c[h>>2]|0;switch(h|0){case 1:{if(e>>>0<7){c[k>>2]=e;Ub(f,1,18321,k)|0;w=0;i=x;return w|0}h=b+48|0;if(e>>>0>7?(c[h>>2]|0)!=14:0){c[l>>2]=e;Ub(f,2,18321,l)|0}qb(g,h,4);if((c[h>>2]|0)==14){g=Pc(36)|0;c[g>>2]=14;c[o>>2]=0;c[n>>2]=0;c[p>>2]=0;c[r>>2]=0;c[q>>2]=0;c[s>>2]=0;c[m>>2]=4470064;h=g+4|0;c[h>>2]=1145390592;switch(e|0){case 35:{qb(d+7|0,s,4);qb(d+11|0,p,4);qb(d+15|0,q,4);qb(d+19|0,n,4);qb(d+23|0,r,4);qb(d+27|0,o,4);qb(d+31|0,m,4);c[h>>2]=0;break}case 7:break;default:{c[t>>2]=e;Ub(f,2,18357,t)|0}}c[g+8>>2]=c[s>>2];c[g+16>>2]=c[q>>2];c[g+24>>2]=c[r>>2];c[g+12>>2]=c[p>>2];c[g+20>>2]=c[n>>2];c[g+28>>2]=c[o>>2];c[g+32>>2]=c[m>>2];c[v>>2]=g;c[b+112>>2]=0}a[w>>0]=1;w=1;i=x;return w|0}case 2:{j=e+-3|0;h=b+112|0;c[h>>2]=j;b=Qc(1,j)|0;c[v>>2]=b;if(!b){c[h>>2]=0;w=0;i=x;return w|0}if((e|0)>3){h=0;while(1){qb(g,u,1);a[(c[v>>2]|0)+h>>0]=c[u>>2];h=h+1|0;if((h|0)==(j|0))break;else g=g+1|0}}a[w>>0]=1;w=1;i=x;return w|0}default:{if(h>>>0<=2){w=1;i=x;return w|0}c[j>>2]=h;Ub(f,4,18401,j)|0;w=1;i=x;return w|0}}return 0}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j;f=c[a+24>>2]|0;if((f|0)!=255){c[g>>2]=f;Ub(e,2,18034,g)|0}h=a+20|0;if((c[h>>2]|0)!=(d|0)){Ub(e,1,18148,j+8|0)|0;h=0;i=j;return h|0}if(!d){h=1;i=j;return h|0}g=a+72|0;f=0;while(1){qb(b,(c[g>>2]|0)+(f*12|0)+8|0,1);f=f+1|0;if(f>>>0>=(c[h>>2]|0)>>>0){b=1;break}else b=b+1|0}i=j;return b|0}function uf(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+16|0;j=r;q=r+12|0;k=e+120|0;if(g>>>0<3|(c[k>>2]|0)!=0){g=0;i=r;return g|0}qb(f,q,2);l=c[q>>2]|0;p=l&65535;if((p+-1|0)>>>0>1023){c[j>>2]=p;Ub(h,1,17951,j)|0;g=0;i=r;return g|0}qb(f+2|0,q,1);o=c[q>>2]&65535;if(!o){Ub(h,1,17989,r+8|0)|0;g=0;i=r;return g|0}if((o+3|0)>>>0>g>>>0){g=0;i=r;return g|0}j=Pc(_(p<<2,o)|0)|0;if(!j){g=0;i=r;return g|0}n=Pc(o)|0;if(!n){Uc(j);g=0;i=r;return g|0}m=Pc(o)|0;if(!m){Uc(j);Uc(n);g=0;i=r;return g|0}e=Pc(20)|0;if(!e){Uc(j);Uc(n);Uc(m);g=0;i=r;return g|0}c[e+4>>2]=m;c[e+8>>2]=n;c[e>>2]=j;b[e+16>>1]=l;a[e+18>>0]=c[q>>2];c[e+12>>2]=0;c[k>>2]=e;e=f+3|0;h=0;k=0;do{qb(e,q,1);e=e+1|0;a[n+h>>0]=(c[q>>2]&127)+1;a[m+h>>0]=(c[q>>2]|0)>>>7&1;k=k+1<<16>>16;h=k&65535}while(h>>>0>>0);if(!p){g=1;i=r;return g|0}h=0;a:while(1){l=0;k=j;m=0;while(1){j=((d[n+l>>0]|0)+7|0)>>>3;j=j>>>0>4?4:j;if((e-f+j|0)>(g|0)){e=0;j=22;break a}qb(e,q,j);e=e+j|0;c[k>>2]=c[q>>2];j=k+4|0;m=m+1<<16>>16;l=m&65535;if(l>>>0>=o>>>0)break;else k=j}h=h+1<<16>>16;if((h&65535)>>>0>=p>>>0){e=1;j=22;break}}if((j|0)==22){i=r;return e|0}return 0}function vf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+20|0;j=d+120|0;d=c[j>>2]|0;if(!d){Ub(g,1,17841,l)|0;k=0;i=l;return k|0}if(c[d+12>>2]|0){Ub(g,1,17887,l+8|0)|0;k=0;i=l;return k|0}h=a[d+18>>0]|0;d=(h&255)<<2;if(d>>>0>f>>>0){Ub(g,1,17918,l+16|0)|0;k=0;i=l;return k|0}g=Pc(d)|0;if(!g){k=0;i=l;return k|0}if(h<<24>>24){d=e;f=0;while(1){qb(d,k,2);b[g+(f<<2)>>1]=c[k>>2];qb(d+2|0,k,1);a[g+(f<<2)+2>>0]=c[k>>2];qb(d+3|0,k,1);a[g+(f<<2)+3>>0]=c[k>>2];f=f+1|0;if((f&255)<<24>>24==h<<24>>24)break;else d=d+4|0}}c[(c[j>>2]|0)+12>>2]=g;k=1;i=l;return k|0}function wf(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+20|0;j=a+116|0;if(c[j>>2]|0){k=0;i=l;return k|0}if(f>>>0<2){Ub(g,1,17747,l)|0;k=0;i=l;return k|0}qb(d,k,2);a=c[k>>2]|0;h=a&65535;if(!h){Ub(g,1,17780,l+8|0)|0;k=0;i=l;return k|0}if(((h*6|0)+2|0)>>>0>f>>>0){Ub(g,1,17747,l+16|0)|0;k=0;i=l;return k|0}f=Pc(a*6|0)|0;if(!f){k=0;i=l;return k|0}a=Pc(8)|0;c[j>>2]=a;if(!a){Uc(f);k=0;i=l;return k|0}c[a>>2]=f;g=c[k>>2]&65535;b[a+4>>1]=g;if(!(g<<16>>16)){k=1;i=l;return k|0}else{h=0;a=d}do{d=h&65535;qb(a+2|0,k,2);b[f+(d*6|0)>>1]=c[k>>2];qb(a+4|0,k,2);a=a+6|0;b[f+(d*6|0)+2>>1]=c[k>>2];qb(a,k,2);b[f+(d*6|0)+4>>1]=c[k>>2];h=h+1<<16>>16}while((h&65535)<(e[(c[j>>2]|0)+4>>1]|0));a=1;i=l;return a|0}function xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+32|0;f=g+20|0;a=a+100|0;if(c[a>>2]|0){Ub(e,1,19130,g)|0;e=0;i=g;return e|0}if((d|0)!=4){Ub(e,1,19184,g+8|0)|0;e=0;i=g;return e|0}qb(b,f,4);if((c[f>>2]|0)==218793738){c[a>>2]=c[a>>2]|1;e=1;i=g;return e|0}else{Ub(e,1,19218,g+16|0)|0;e=0;i=g;return e|0}return 0}function yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+32|0;g=j+24|0;h=a+100|0;if((c[h>>2]|0)!=1){Ub(e,1,19011,j)|0;h=0;i=j;return h|0}if(d>>>0<8){Ub(e,1,19061,j+8|0)|0;h=0;i=j;return h|0}qb(b,a+56|0,4);qb(b+4|0,a+60|0,4);b=b+8|0;d=d+-8|0;if(d&3){Ub(e,1,19061,j+16|0)|0;h=0;i=j;return h|0}d=d>>>2;f=a+64|0;c[f>>2]=d;if(d){d=Qc(d,4)|0;c[a+68>>2]=d;if(!d){Ub(e,1,19097,g)|0;h=0;i=j;return h|0}if(c[f>>2]|0){a=a+68|0;d=0;while(1){qb(b,(c[a>>2]|0)+(d<<2)|0,4);d=d+1|0;if(d>>>0>=(c[f>>2]|0)>>>0)break;else b=b+4|0}}}c[h>>2]=c[h>>2]|2;h=1;i=j;return h|0}function zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+96|0;y=A+72|0;s=A+64|0;r=A+56|0;q=A+48|0;w=A+40|0;v=A+32|0;u=A+24|0;t=A+16|0;p=A+8|0;n=A+80|0;o=A+76|0;x=a+100|0;if(!(c[x>>2]&2)){Ub(e,1,18679,A)|0;z=0;i=A;return z|0}m=a+104|0;c[m>>2]=0;do{if(d){k=b;b=0;a:while(1){if(d>>>0<8){z=6;break}qb(k,n,4);f=c[n>>2]|0;qb(k+4|0,n,4);j=c[n>>2]|0;switch(f|0){case 0:{z=14;break a}case 1:{if(d>>>0<16){z=9;break a}qb(k+8|0,o,4);if(c[o>>2]|0){z=11;break a}qb(k+12|0,n,4);f=c[n>>2]|0;if(!f){z=13;break a}else g=16;break}default:g=8}if(f>>>0>>0){z=16;break}if(d>>>0>>0){z=19;break}h=(j|0)==1768449138;if(!h)if((j|0)!=1668246642)if((j|0)!=1651532643)if((j|0)!=1885564018)if((j|0)!=1668112752)if((j|0)==1667523942){l=1148;z=26}else c[m>>2]=c[m>>2]|2147483647;else{l=1140;z=26}else{l=1132;z=26}else{l=1124;z=26}else{l=1116;z=26}else{l=1108;z=26}if((z|0)==26?(z=0,(Za[c[l+4>>2]&63](a,k+g|0,f-g|0,e)|0)==0):0){b=0;z=32;break}b=h?1:b;if((d|0)==(f|0)){z=29;break}else{k=k+f|0;d=d-f|0}}if((z|0)==6)Ub(e,1,18724,p)|0;else if((z|0)==9)Ub(e,1,18764,t)|0;else if((z|0)==11)Ub(e,1,17148,u)|0;else if((z|0)==13)Ub(e,1,17218,v)|0;else if((z|0)==14)Ub(e,1,17218,w)|0;else if((z|0)==16)Ub(e,1,18808,q)|0;else if((z|0)==19){Ub(e,1,18880,s)|0;z=0;i=A;return z|0}else if((z|0)==29){if(!b)break;c[x>>2]=c[x>>2]|4;z=1;i=A;return z|0}else if((z|0)==32){i=A;return b|0}Ub(e,1,18837,r)|0;z=0;i=A;return z|0}}while(0);Ub(e,1,18952,y)|0;z=0;i=A;return z|0}function Af(){return 8}function Bf(){return 32}function Cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!e)return;else f=0;do{l=a+(f<<2)|0;i=c[l>>2]|0;j=b+(f<<2)|0;h=c[j>>2]|0;g=d+(f<<2)|0;k=c[g>>2]|0;c[l>>2]=(h<<1)+i+k>>2;c[j>>2]=k-h;c[g>>2]=i-h;f=f+1|0}while((f|0)!=(e|0));return}function Df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!e)return;else f=0;do{k=a+(f<<2)|0;j=b+(f<<2)|0;h=c[j>>2]|0;g=d+(f<<2)|0;l=c[g>>2]|0;i=(c[k>>2]|0)-(l+h>>2)|0;c[k>>2]=i+l;c[j>>2]=i;c[g>>2]=i+h;f=f+1|0}while((f|0)!=(e|0));return}function Ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!e)return;else f=0;do{o=a+(f<<2)|0;u=c[o>>2]|0;k=b+(f<<2)|0;t=c[k>>2]|0;g=d+(f<<2)|0;s=c[g>>2]|0;j=((u|0)<0)<<31>>31;q=Zi(u|0,j|0,2449,0)|0;q=Si(q|0,C|0,4096,0)|0;q=Ti(q|0,C|0,13)|0;i=((t|0)<0)<<31>>31;r=Zi(t|0,i|0,4809,0)|0;r=Si(r|0,C|0,4096,0)|0;r=Ti(r|0,C|0,13)|0;h=((s|0)<0)<<31>>31;p=Zi(s|0,h|0,934,0)|0;p=Si(p|0,C|0,4096,0)|0;p=Ti(p|0,C|0,13)|0;l=Zi(u|0,j|0,1382,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=Zi(t|0,i|0,2714,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;n=Ri(s|0,h|0,12)|0;n=Si(n|0,C|0,4096,0)|0;n=Ti(n|0,C|0,13)|0;j=Ri(u|0,j|0,12)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;i=Zi(t|0,i|0,3430,0)|0;i=Si(i|0,C|0,4096,0)|0;i=Ti(i|0,C|0,13)|0;h=Zi(s|0,h|0,666,0)|0;h=Si(h|0,C|0,4096,0)|0;h=Ti(h|0,C|0,13)|0;c[o>>2]=r+q+p;c[k>>2]=n-(m+l);c[g>>2]=j-i-h;f=f+1|0}while((f|0)!=(e|0));return}function Ff(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0,k=0.0,l=0;if(!d)return;else e=0;do{l=a+(e<<2)|0;i=+g[l>>2];j=b+(e<<2)|0;h=+g[j>>2];f=c+(e<<2)|0;k=+g[f>>2];g[l>>2]=i+k*1.4019999504089355;g[j>>2]=i-h*.3441300094127655-k*.714139997959137;g[f>>2]=i+h*1.7719999551773071;e=e+1|0}while((e|0)!=(d|0));return}function Gf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=_(e,e)|0;o=Pc(h+e<<2)|0;if(!o){e=0;return e|0}if(h){i=0;f=a;while(1){c[o+(i+e<<2)>>2]=~~(+g[f>>2]*8192.0);i=i+1|0;if((i|0)==(h|0))break;else f=f+4|0}}if(b){m=(e|0)==0;n=0;do{if(!m){f=0;do{c[o+(f<<2)>>2]=c[c[d+(f<<2)>>2]>>2];f=f+1|0}while((f|0)!=(e|0));if(!m){a=0;k=o;do{k=k+(e<<2)|0;h=d+(a<<2)|0;f=c[h>>2]|0;c[f>>2]=0;i=0;j=0;l=k;while(1){p=c[l>>2]|0;q=c[o+(j<<2)>>2]|0;p=Zi(q|0,((q|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=Si(p|0,C|0,4096,0)|0;p=Ti(p|0,C|0,13)|0;i=p+i|0;c[f>>2]=i;j=j+1|0;if((j|0)==(e|0))break;else l=l+4|0}c[h>>2]=f+4;a=a+1|0}while((a|0)!=(e|0))}}n=n+1|0}while((n|0)!=(b|0))}Uc(o);q=1;return q|0}function Hf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=Pc(e<<3)|0;if(!m){e=0;return e|0}if(b){n=(e|0)==0;o=0;do{if(!n){f=0;do{c[m+(f<<2)>>2]=c[c[d+(f<<2)>>2]>>2];f=f+1|0}while((f|0)!=(e|0));if(!n){k=0;l=a;while(1){f=m+(k+e<<2)|0;g[f>>2]=0.0;h=0.0;i=0;j=l;while(1){h=h+ +g[j>>2]*+g[m+(i<<2)>>2];g[f>>2]=h;i=i+1|0;if((i|0)==(e|0))break;else j=j+4|0}i=d+(k<<2)|0;j=c[i>>2]|0;c[i>>2]=j+4;g[j>>2]=h;k=k+1|0;if((k|0)==(e|0))break;else l=l+(e<<2)|0}}}o=o+1|0}while((o|0)!=(b|0))}Uc(m);e=1;return e|0}function If(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,i=0,j=0,k=0.0;if(!b)return;else j=0;do{i=a+(j<<3)|0;h[i>>3]=0.0;d=0.0;e=0;f=j;while(1){k=+g[c+(f<<2)>>2];d=d+k*k;e=e+1|0;if((e|0)==(b|0))break;else f=f+b|0}h[i>>3]=+O(+d);j=j+1|0}while((j|0)!=(b|0));return}function Jf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+32|0;B=F+28|0;w=F+24|0;x=F+20|0;y=F+16|0;z=F+12|0;A=F+8|0;k=F+4|0;l=F;f=d+76|0;D=c[f>>2]|0;C=D+(e*5640|0)+420|0;E=(c[C>>2]|0)+1|0;m=b+16|0;v=Pc((c[m>>2]|0)*528|0)|0;if(!v){E=0;i=F;return E|0}u=Pc(c[m>>2]<<2)|0;if(!u){Uc(v);E=0;i=F;return E|0}f=Pf(b,c[f>>2]|0,e)|0;if(!f){Uc(v);Uc(u);E=0;i=F;return E|0}g=c[m>>2]|0;if(g){h=0;j=v;while(1){c[u+(h<<2)>>2]=j;h=h+1|0;if(h>>>0>=g>>>0)break;else j=j+528|0}}Qf(b,d,e,x,y,z,A,k,l,w,B,u);s=c[w>>2]|0;q=_(c[m>>2]|0,s)|0;r=_(c[B>>2]|0,q)|0;t=D+(e*5640|0)+8|0;p=Qc(_((c[t>>2]|0)+1|0,r)|0,2)|0;h=f+4|0;c[h>>2]=p;if(!p){Uc(v);Uc(u);g=c[h>>2]|0;if(g){Uc(g);c[h>>2]=0}if(E){b=f;n=0;while(1){m=b+196|0;g=c[m>>2]|0;if(g){d=b+192|0;h=c[d>>2]|0;if(h){l=0;while(1){j=g+12|0;k=c[j>>2]|0;if(k){Uc(k);c[j>>2]=0;h=c[d>>2]|0}l=l+1|0;if(l>>>0>=h>>>0)break;else g=g+16|0}g=c[m>>2]|0}Uc(g);c[m>>2]=0}n=n+1|0;if((n|0)==(E|0))break;else b=b+232|0}}Uc(f);E=0;i=F;return E|0}g=c[f+196>>2]|0;p=c[b+24>>2]|0;c[f+200>>2]=c[x>>2];c[f+204>>2]=c[z>>2];c[f+208>>2]=c[y>>2];c[f+212>>2]=c[A>>2];c[f+20>>2]=1;c[f+16>>2]=s;c[f+12>>2]=q;c[f+8>>2]=r;m=c[f+192>>2]|0;if(m){b=0;d=p;while(1){j=c[g+12>>2]|0;h=c[u+(b<<2)>>2]|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];l=c[g+8>>2]|0;if(l){k=0;while(1){c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];k=k+1|0;if(k>>>0>=l>>>0)break;else{h=h+16|0;j=j+16|0}}}b=b+1|0;if(b>>>0>=m>>>0)break;else{g=g+16|0;d=d+52|0}}}if(E>>>0>1){m=f;o=1;do{g=c[m+428>>2]|0;c[m+432>>2]=c[x>>2];c[m+436>>2]=c[z>>2];c[m+440>>2]=c[y>>2];c[m+444>>2]=c[A>>2];c[m+252>>2]=1;c[m+248>>2]=s;c[m+244>>2]=q;c[m+240>>2]=r;b=c[m+424>>2]|0;if(b){n=0;d=p;while(1){j=c[g+12>>2]|0;h=c[u+(n<<2)>>2]|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];l=c[g+8>>2]|0;if(l){k=0;while(1){c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];k=k+1|0;if(k>>>0>=l>>>0)break;else{h=h+16|0;j=j+16|0}}}n=n+1|0;if(n>>>0>=b>>>0)break;else{g=g+16|0;d=d+52|0}}}c[m+236>>2]=c[m+4>>2];m=m+232|0;o=o+1|0}while((o|0)!=(E|0))}Uc(v);Uc(u);m=c[w>>2]|0;if(!(a[D+(e*5640|0)+5636>>0]&4)){d=c[B>>2]|0;l=(c[C>>2]|0)+1|0;if(!l){E=f;i=F;return E|0}k=c[D+(e*5640|0)+4>>2]|0;g=c[t>>2]|0;h=f;j=0;while(1){c[h+80>>2]=k;c[h+40>>2]=1;c[h+44>>2]=0;c[h+48>>2]=0;c[h+64>>2]=0;c[h+68>>2]=0;c[h+56>>2]=d;c[h+60>>2]=c[h+192>>2];c[h+52>>2]=g;c[h+72>>2]=m;j=j+1|0;if((j|0)==(l|0))break;else h=h+232|0}i=F;return f|0}else{j=(c[C>>2]|0)+1|0;if(!j){E=f;i=F;return E|0}k=f;g=D+(e*5640|0)+424|0;h=0;while(1){c[k+80>>2]=c[g+36>>2];c[k+40>>2]=1;c[k+44>>2]=c[g>>2];c[k+48>>2]=c[g+4>>2];c[k+64>>2]=0;c[k+68>>2]=0;c[k+56>>2]=c[g+12>>2];c[k+60>>2]=c[g+16>>2];c[k+52>>2]=c[g+8>>2];c[k+72>>2]=m;h=h+1|0;if((h|0)==(j|0))break;else{k=k+232|0;g=g+148|0}}i=F;return f|0}return 0}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!a)return;d=a+4|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0}if(b){k=a;l=0;while(1){j=k+196|0;d=c[j>>2]|0;if(d){i=k+192|0;e=c[i>>2]|0;if(e){h=0;while(1){f=d+12|0;g=c[f>>2]|0;if(g){Uc(g);c[f>>2]=0;e=c[i>>2]|0}h=h+1|0;if(h>>>0>=e>>>0)break;else d=d+16|0}d=c[j>>2]|0}Uc(d);c[j>>2]=0}l=l+1|0;if((l|0)==(b|0))break;else k=k+232|0}}Uc(a);return}function Lf(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+32|0;G=L+28|0;F=L+24|0;B=L+20|0;C=L+16|0;D=L+12|0;E=L+8|0;H=L+4|0;I=L;J=f+76|0;x=c[J>>2]|0;K=(c[x+(g*5640|0)+420>>2]|0)+1|0;A=e+16|0;z=Pc((c[A>>2]|0)*528|0)|0;if(!z){g=0;i=L;return g|0}y=Pc(c[A>>2]<<2)|0;if(!y){Uc(z);g=0;i=L;return g|0}j=Pf(e,c[J>>2]|0,g)|0;if(!j){Uc(z);Uc(y);g=0;i=L;return g|0}k=c[A>>2]|0;if(k){l=0;m=z;while(1){c[y+(l<<2)>>2]=m;l=l+1|0;if(l>>>0>=k>>>0)break;else m=m+528|0}}Qf(e,f,g,B,C,D,E,H,I,F,G,y);u=c[F>>2]|0;v=_(c[A>>2]|0,u)|0;w=_(c[G>>2]|0,v)|0;a[j>>0]=(d[f+93>>0]|0)>>>3&1;t=Qc(_(c[x+(g*5640|0)+8>>2]|0,w)|0,2)|0;l=j+4|0;c[l>>2]=t;if(!t){Uc(z);Uc(y);k=c[l>>2]|0;if(k){Uc(k);c[l>>2]=0}if(K){q=j;r=0;while(1){p=q+196|0;k=c[p>>2]|0;if(k){o=q+192|0;l=c[o>>2]|0;if(l){n=0;while(1){m=k+12|0;e=c[m>>2]|0;if(e){Uc(e);c[m>>2]=0;l=c[o>>2]|0}n=n+1|0;if(n>>>0>=l>>>0)break;else k=k+16|0}k=c[p>>2]|0}Uc(k);c[p>>2]=0}r=r+1|0;if((r|0)==(K|0))break;else q=q+232|0}}Uc(j);g=0;i=L;return g|0}k=c[j+196>>2]|0;t=c[e+24>>2]|0;c[j+200>>2]=c[B>>2];c[j+204>>2]=c[D>>2];c[j+208>>2]=c[C>>2];c[j+212>>2]=c[E>>2];c[j+224>>2]=c[H>>2];c[j+228>>2]=c[I>>2];c[j+20>>2]=1;c[j+16>>2]=u;c[j+12>>2]=v;c[j+8>>2]=w;p=c[j+192>>2]|0;if(p){q=0;o=t;while(1){m=c[k+12>>2]|0;l=c[y+(q<<2)>>2]|0;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];n=c[k+8>>2]|0;if(n){e=0;while(1){c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];e=e+1|0;if(e>>>0>=n>>>0)break;else{l=l+16|0;m=m+16|0}}}q=q+1|0;if(q>>>0>=p>>>0)break;else{k=k+16|0;o=o+52|0}}}if(K>>>0>1){p=j;s=1;do{k=c[p+428>>2]|0;c[p+432>>2]=c[B>>2];c[p+436>>2]=c[D>>2];c[p+440>>2]=c[C>>2];c[p+444>>2]=c[E>>2];c[p+456>>2]=c[H>>2];c[p+460>>2]=c[I>>2];c[p+252>>2]=1;c[p+248>>2]=u;c[p+244>>2]=v;c[p+240>>2]=w;q=c[p+424>>2]|0;if(q){r=0;o=t;while(1){m=c[k+12>>2]|0;l=c[y+(r<<2)>>2]|0;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];n=c[k+8>>2]|0;if(n){e=0;while(1){c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];e=e+1|0;if(e>>>0>=n>>>0)break;else{l=l+16|0;m=m+16|0}}}r=r+1|0;if(r>>>0>=q>>>0)break;else{k=k+16|0;o=o+52|0}}}c[p+236>>2]=c[p+4>>2];p=p+232|0;s=s+1|0}while((s|0)!=(K|0))}Uc(z);Uc(y);do{if(a[x+(g*5640|0)+5636>>0]&4){k=b[f>>1]|0;if((k&65535)>2){if(!((h|0)==1|(k&65535)<7))break}else if((h|0)!=1)break;Rf(c[J>>2]|0,g,c[B>>2]|0,c[C>>2]|0,c[D>>2]|0,c[E>>2]|0,c[F>>2]|0,c[H>>2]|0,c[I>>2]|0);g=j;i=L;return g|0}}while(0);w=c[A>>2]|0;v=c[B>>2]|0;u=c[C>>2]|0;t=c[D>>2]|0;s=c[E>>2]|0;r=c[F>>2]|0;q=c[G>>2]|0;p=c[H>>2]|0;o=c[I>>2]|0;k=c[J>>2]|0;m=(c[k+(g*5640|0)+420>>2]|0)+1|0;if(!m){g=j;i=L;return g|0}e=c[k+(g*5640|0)+8>>2]|0;n=c[k+(g*5640|0)+4>>2]|0;k=k+(g*5640|0)+424|0;l=0;while(1){c[k+76>>2]=0;c[k+92>>2]=w;c[k+72>>2]=0;c[k+88>>2]=q;c[k+68>>2]=0;c[k+84>>2]=e;c[k+36>>2]=n;c[k+80>>2]=0;c[k+96>>2]=r;c[k+100>>2]=v;c[k+104>>2]=u;c[k+108>>2]=t;c[k+112>>2]=s;c[k+116>>2]=p;c[k+120>>2]=o;l=l+1|0;if((l|0)==(m|0))break;else k=k+148|0}i=L;return j|0}function Mf(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;Q=c[e+76>>2]|0;R=Q+(f*5640|0)+424+(g*148|0)+36|0;S=Vc(c[R>>2]|0)|0;c[d+(g*232|0)+40>>2]=1;T=d+(g*232|0)+44|0;c[d+(g*232|0)+80>>2]=c[R>>2];do{if(a[e+93>>0]&8){k=b[e>>1]|0;if((k&65535)>2){if(!((j|0)==1&(k&65535)>6|(k+-3&65535)<4))break}else if(!((j|0)==1|(k+-3&65535)<4))break;k=i+1|0;a:do{if((k|0)<4){j=Q+(f*5640|0)+424+(g*148|0)+72|0;l=Q+(f*5640|0)+424+(g*148|0)+88|0;m=d+(g*232|0)+56|0;n=Q+(f*5640|0)+424+(g*148|0)+76|0;o=d+(g*232|0)+48|0;p=Q+(f*5640|0)+424+(g*148|0)+92|0;q=d+(g*232|0)+60|0;r=Q+(f*5640|0)+424+(g*148|0)+68|0;s=d+(g*232|0)+64|0;t=Q+(f*5640|0)+424+(g*148|0)+84|0;u=d+(g*232|0)+52|0;v=Q+(f*5640|0)+424+(g*148|0)+80|0;w=d+(g*232|0)+68|0;x=Q+(f*5640|0)+424+(g*148|0)+96|0;y=d+(g*232|0)+72|0;z=Q+(f*5640|0)+424+(g*148|0)+100|0;A=d+(g*232|0)+96|0;B=Q+(f*5640|0)+424+(g*148|0)+108|0;C=d+(g*232|0)+104|0;D=Q+(f*5640|0)+424+(g*148|0)+104|0;E=d+(g*232|0)+100|0;F=Q+(f*5640|0)+424+(g*148|0)+112|0;G=d+(g*232|0)+108|0;while(1){b:do{switch(a[S+k>>0]|0){case 82:{c[T>>2]=c[j>>2];c[m>>2]=c[l>>2];break}case 67:{c[o>>2]=c[n>>2];c[q>>2]=c[p>>2];break}case 76:{c[s>>2]=c[r>>2];c[u>>2]=c[t>>2];break}case 80:if((c[R>>2]|0)>>>0<2){c[w>>2]=c[v>>2];c[y>>2]=c[x>>2];break b}else{c[A>>2]=c[z>>2];c[C>>2]=c[B>>2];c[E>>2]=c[D>>2];c[G>>2]=c[F>>2];break b}default:{}}}while(0);k=k+1|0;if((k|0)==4)break a}}}while(0);k=(i|0)>-1;if(!h){if(!k)return;m=Q+(f*5640|0)+424+(g*148|0)+76|0;n=Q+(f*5640|0)+424+(g*148|0)+132|0;o=d+(g*232|0)+48|0;p=d+(g*232|0)+60|0;q=Q+(f*5640|0)+424+(g*148|0)+72|0;r=Q+(f*5640|0)+424+(g*148|0)+128|0;s=d+(g*232|0)+56|0;t=Q+(f*5640|0)+424+(g*148|0)+68|0;u=Q+(f*5640|0)+424+(g*148|0)+124|0;v=d+(g*232|0)+64|0;w=d+(g*232|0)+52|0;x=Q+(f*5640|0)+424+(g*148|0)+80|0;y=Q+(f*5640|0)+424+(g*148|0)+136|0;z=d+(g*232|0)+68|0;A=d+(g*232|0)+72|0;B=Q+(f*5640|0)+424+(g*148|0)+100|0;C=Q+(f*5640|0)+424+(g*148|0)+140|0;D=Q+(f*5640|0)+424+(g*148|0)+108|0;E=Q+(f*5640|0)+424+(g*148|0)+144|0;F=d+(g*232|0)+96|0;G=Q+(f*5640|0)+424+(g*148|0)+116|0;h=d+(g*232|0)+100|0;H=d+(g*232|0)+104|0;l=Q+(f*5640|0)+424+(g*148|0)+120|0;j=d+(g*232|0)+108|0;k=i;while(1){c:do{switch(a[S+k>>0]|0){case 67:{g=c[m>>2]|0;c[o>>2]=g;g=g+1|0;c[p>>2]=g;c[n>>2]=g;break}case 82:{g=c[q>>2]|0;c[T>>2]=g;g=g+1|0;c[s>>2]=g;c[r>>2]=g;break}case 76:{g=c[t>>2]|0;c[v>>2]=g;g=g+1|0;c[w>>2]=g;c[u>>2]=g;break}case 80:if((c[R>>2]|0)>>>0<2){g=c[x>>2]|0;c[z>>2]=g;g=g+1|0;c[A>>2]=g;c[y>>2]=g;break c}else{g=c[B>>2]|0;i=c[D>>2]|0;c[F>>2]=g;f=c[G>>2]|0;f=f+g-((g>>>0)%(f>>>0)|0)|0;c[h>>2]=f;c[H>>2]=i;g=c[l>>2]|0;g=g+i-((i>>>0)%(g>>>0)|0)|0;c[j>>2]=g;c[C>>2]=f;c[E>>2]=g;break c}default:{}}}while(0);if((k|0)>0)k=k+-1|0;else break}return}if(!k)return;L=Q+(f*5640|0)+424+(g*148|0)+128|0;M=Q+(f*5640|0)+424+(g*148|0)+88|0;N=Q+(f*5640|0)+424+(g*148|0)+72|0;O=d+(g*232|0)+56|0;P=Q+(f*5640|0)+424+(g*148|0)+132|0;p=Q+(f*5640|0)+424+(g*148|0)+92|0;q=Q+(f*5640|0)+424+(g*148|0)+76|0;r=d+(g*232|0)+48|0;s=d+(g*232|0)+60|0;t=Q+(f*5640|0)+424+(g*148|0)+124|0;u=Q+(f*5640|0)+424+(g*148|0)+84|0;v=Q+(f*5640|0)+424+(g*148|0)+68|0;w=d+(g*232|0)+64|0;x=d+(g*232|0)+52|0;y=Q+(f*5640|0)+424+(g*148|0)+136|0;z=Q+(f*5640|0)+424+(g*148|0)+96|0;A=Q+(f*5640|0)+424+(g*148|0)+80|0;B=d+(g*232|0)+68|0;C=d+(g*232|0)+72|0;D=Q+(f*5640|0)+424+(g*148|0)+140|0;E=Q+(f*5640|0)+424+(g*148|0)+104|0;F=d+(g*232|0)+96|0;G=Q+(f*5640|0)+424+(g*148|0)+116|0;h=d+(g*232|0)+100|0;H=Q+(f*5640|0)+424+(g*148|0)+144|0;I=Q+(f*5640|0)+424+(g*148|0)+112|0;J=d+(g*232|0)+104|0;K=Q+(f*5640|0)+424+(g*148|0)+120|0;n=d+(g*232|0)+108|0;o=Q+(f*5640|0)+424+(g*148|0)+100|0;m=Q+(f*5640|0)+424+(g*148|0)+108|0;l=i;k=1;while(1){j=S+l|0;d:do{switch(a[j>>0]|0){case 67:{i=c[P>>2]|0;c[r>>2]=i+-1;c[s>>2]=i;break}case 82:{i=c[L>>2]|0;c[T>>2]=i+-1;c[O>>2]=i;break}case 76:{i=c[t>>2]|0;c[w>>2]=i+-1;c[x>>2]=i;break}case 80:if((c[R>>2]|0)>>>0<2){i=c[y>>2]|0;c[B>>2]=i+-1;c[C>>2]=i;break d}else{i=c[D>>2]|0;Q=c[G>>2]|0;c[F>>2]=i-Q-((i>>>0)%(Q>>>0)|0);c[h>>2]=i;i=c[H>>2]|0;Q=c[K>>2]|0;c[J>>2]=i-Q-((i>>>0)%(Q>>>0)|0);c[n>>2]=i;break d}default:{}}}while(0);e:do{if((k|0)==1)switch(a[j>>0]|0){case 82:{k=c[L>>2]|0;if((k|0)!=(c[M>>2]|0)){c[T>>2]=k;k=k+1|0;c[O>>2]=k;c[L>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[N>>2]|0;c[T>>2]=k;k=k+1|0;c[O>>2]=k;c[L>>2]=k;k=1;break e}case 67:{k=c[P>>2]|0;if((k|0)!=(c[p>>2]|0)){c[r>>2]=k;k=k+1|0;c[s>>2]=k;c[P>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[q>>2]|0;c[r>>2]=k;k=k+1|0;c[s>>2]=k;c[P>>2]=k;k=1;break e}case 76:{k=c[t>>2]|0;if((k|0)!=(c[u>>2]|0)){c[w>>2]=k;k=k+1|0;c[x>>2]=k;c[t>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[v>>2]|0;c[w>>2]=k;k=k+1|0;c[x>>2]=k;c[t>>2]=k;k=1;break e}case 80:{if((c[R>>2]|0)>>>0<2){k=c[y>>2]|0;if((k|0)!=(c[z>>2]|0)){c[B>>2]=k;k=k+1|0;c[C>>2]=k;c[y>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[A>>2]|0;c[B>>2]=k;k=k+1|0;c[C>>2]=k;c[y>>2]=k;k=1;break e}k=c[D>>2]|0;if(k>>>0<(c[E>>2]|0)>>>0){c[F>>2]=k;i=c[G>>2]|0;k=i+k-((k>>>0)%(i>>>0)|0)|0;c[h>>2]=k;c[D>>2]=k;k=0;break e}j=c[H>>2]|0;if(j>>>0<(c[I>>2]|0)>>>0){c[J>>2]=j;i=c[K>>2]|0;k=0;j=i+j-((j>>>0)%(i>>>0)|0)|0}else{if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}i=c[m>>2]|0;c[H>>2]=i;c[J>>2]=i;j=c[K>>2]|0;k=1;j=j+i-((i>>>0)%(j>>>0)|0)|0}c[n>>2]=j;c[H>>2]=j;Q=c[o>>2]|0;c[F>>2]=Q;i=c[G>>2]|0;i=i+Q-((Q>>>0)%(i>>>0)|0)|0;c[h>>2]=i;c[D>>2]=i;break e}default:{k=1;break e}}}while(0);if((l|0)>0)l=l+-1|0;else break}return}}while(0);c[T>>2]=c[Q+(f*5640|0)+424+(g*148|0)+72>>2];c[d+(g*232|0)+56>>2]=c[Q+(f*5640|0)+424+(g*148|0)+88>>2];c[d+(g*232|0)+48>>2]=c[Q+(f*5640|0)+424+(g*148|0)+76>>2];c[d+(g*232|0)+60>>2]=c[Q+(f*5640|0)+424+(g*148|0)+92>>2];c[d+(g*232|0)+64>>2]=c[Q+(f*5640|0)+424+(g*148|0)+68>>2];c[d+(g*232|0)+52>>2]=c[Q+(f*5640|0)+424+(g*148|0)+84>>2];c[d+(g*232|0)+68>>2]=c[Q+(f*5640|0)+424+(g*148|0)+80>>2];c[d+(g*232|0)+72>>2]=c[Q+(f*5640|0)+424+(g*148|0)+96>>2];c[d+(g*232|0)+96>>2]=c[Q+(f*5640|0)+424+(g*148|0)+100>>2];c[d+(g*232|0)+104>>2]=c[Q+(f*5640|0)+424+(g*148|0)+108>>2];c[d+(g*232|0)+100>>2]=c[Q+(f*5640|0)+424+(g*148|0)+104>>2];c[d+(g*232|0)+108>>2]=c[Q+(f*5640|0)+424+(g*148|0)+112>>2];return}function Nf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;I=c[d+76>>2]|0;K=c[d+24>>2]|0;N=(e>>>0)%(K>>>0)|0;K=(e>>>0)/(K>>>0)|0;L=c[d+4>>2]|0;H=c[d+12>>2]|0;G=(_(H,N)|0)+L|0;M=c[b>>2]|0;M=(G|0)>(M|0)?G:M;L=(_(H,N+1|0)|0)+L|0;N=c[b+8>>2]|0;N=(L|0)<(N|0)?L:N;L=c[d+8>>2]|0;H=c[d+16>>2]|0;G=(_(H,K)|0)+L|0;J=c[b+4>>2]|0;J=(G|0)>(J|0)?G:J;L=(_(H,K+1|0)|0)+L|0;K=c[b+12>>2]|0;K=(L|0)<(K|0)?L:K;L=c[b+16>>2]|0;if(!L){l=0;k=2147483647;j=2147483647;i=0}else{D=K+-1|0;E=N+-1|0;F=J+-1|0;G=M+-1|0;l=0;k=2147483647;j=2147483647;i=0;H=0;A=c[b+24>>2]|0;B=c[I+(e*5640|0)+5584>>2]|0;while(1){x=c[A>>2]|0;y=c[A+4>>2]|0;z=c[B+4>>2]|0;i=z>>>0>i>>>0?z:i;if(z){v=(D+y|0)/(y|0)|0;t=(E+x|0)/(x|0)|0;r=(F+y|0)/(y|0)|0;p=(G+x|0)/(x|0)|0;p=Si(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;q=C;r=Si(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;s=C;t=Si(t|0,((t|0)<0)<<31>>31|0,-1,-1)|0;u=C;v=Si(v|0,((v|0)<0)<<31>>31|0,-1,-1)|0;w=C;d=0;o=0;while(1){m=c[B+812+(o<<2)>>2]|0;n=c[B+944+(o<<2)>>2]|0;g=d+-1+z|0;h=x<>>0>>0?k:h;j=j>>>0>>0?j:O;O=Ri(1,0,g|0)|0;h=C;d=Si(p|0,q|0,O|0,h|0)|0;d=Pi(d|0,C|0,g|0)|0;f=Si(r|0,s|0,O|0,h|0)|0;f=Pi(f|0,C|0,g|0)|0;b=Si(t|0,u|0,O|0,h|0)|0;b=Pi(b|0,C|0,g|0)|0;h=Si(v|0,w|0,O|0,h|0)|0;g=Pi(h|0,C|0,g|0)|0;h=Ri(1,0,n|0)|0;h=Si(h|0,C|0,-1,-1)|0;h=Si(h|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;h=Pi(h|0,C|0,n|0)|0;if((d|0)==(b|0))d=0;else{O=Ri(1,0,m|0)|0;O=Si(O|0,C|0,-1,-1)|0;O=Si(O|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;O=Pi(O|0,C|0,m|0)|0;d=(O<>m<>m}b=_(d,(f|0)==(g|0)?0:(h<>n<>n)|0;l=b>>>0>l>>>0?b:l;b=o+1|0;if(b>>>0>>0){d=~o;o=b}else break}}H=H+1|0;if(H>>>0>=L>>>0)break;else{A=A+52|0;B=B+1080|0}}}if(a[I+(e*5640|0)+5636>>0]&4){Rf(I,e,M,N,J,K,l,k,j);return}f=(c[I+(e*5640|0)+420>>2]|0)+1|0;if(!f)return;g=c[I+(e*5640|0)+8>>2]|0;h=c[I+(e*5640|0)+4>>2]|0;d=I+(e*5640|0)+424|0;b=0;while(1){c[d+76>>2]=0;c[d+92>>2]=L;c[d+72>>2]=0;c[d+88>>2]=i;c[d+68>>2]=0;c[d+84>>2]=g;c[d+36>>2]=h;c[d+80>>2]=0;c[d+96>>2]=l;c[d+100>>2]=M;c[d+104>>2]=N;c[d+108>>2]=J;c[d+112>>2]=K;c[d+116>>2]=k;c[d+120>>2]=j;b=b+1|0;if((b|0)==(f|0))break;else d=d+148|0}return}function Of(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0;switch(c[d+80>>2]|0){case 0:{e=d+40|0;if(!(c[e>>2]|0)){E=d+32|0;l=E;E=c[E>>2]|0;f=18}else{c[e>>2]=0;t=c[d+64>>2]|0;c[d+36>>2]=t;f=5}while(1){if((f|0)==5){if(t>>>0>=(c[d+52>>2]|0)>>>0){nb=0;f=153;break}z=c[d+44>>2]|0;c[d+28>>2]=z;f=7}else if((f|0)==18){j=E+1|0;c[l>>2]=j;h=l;f=14}while(1){if((f|0)==7){f=0;if(z>>>0>=(c[d+56>>2]|0)>>>0){f=21;break}A=c[d+48>>2]|0;p=d+24|0;c[p>>2]=A}else if((f|0)==14){if(j>>>0<(c[d+72>>2]|0)>>>0){f=16;break}F=d+24|0;n=F;F=c[F>>2]|0;f=19}while(1){if((f|0)==19){f=0;A=F+1|0;c[n>>2]=A;p=n}if(A>>>0>=(c[d+60>>2]|0)>>>0){f=20;break}B=c[d+196>>2]|0;C=c[d+28>>2]|0;if(C>>>0<(c[B+(A<<4)+8>>2]|0)>>>0)break;else{n=p;F=A;f=19}}if((f|0)==20){f=d+28|0;z=(c[f>>2]|0)+1|0;c[f>>2]=z;f=7;continue}e=c[B+(A<<4)+12>>2]|0;if(!(a[d>>0]|0))c[d+72>>2]=_(c[e+(C<<4)+12>>2]|0,c[e+(C<<4)+8>>2]|0)|0;j=c[d+68>>2]|0;h=d+32|0;c[h>>2]=j;f=14}if((f|0)==16){f=0;D=_(c[d+8>>2]|0,c[d+36>>2]|0)|0;D=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+D|0;D=D+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;D=D+(_(c[d+20>>2]|0,j)|0)|0;D=(c[d+4>>2]|0)+(D<<1)|0;if(!(b[D>>1]|0))break;else{l=h;E=j;f=18;continue}}else if((f|0)==21){f=d+36|0;t=(c[f>>2]|0)+1|0;c[f>>2]=t;f=5;continue}}if((f|0)==153)return nb|0;b[D>>1]=1;d=1;return d|0}case 1:{e=d+40|0;if(!(c[e>>2]|0)){x=d+32|0;k=x;x=c[x>>2]|0;f=38}else{c[e>>2]=0;G=c[d+44>>2]|0;c[d+28>>2]=G;f=25}while(1){if((f|0)==25){if(G>>>0>=(c[d+56>>2]|0)>>>0){nb=0;f=153;break}r=c[d+64>>2]|0;c[d+36>>2]=r;f=27}else if((f|0)==38){i=x+1|0;c[k>>2]=i;g=k;f=34}while(1){if((f|0)==27){f=0;if(r>>>0>=(c[d+52>>2]|0)>>>0){f=41;break}s=c[d+48>>2]|0;o=d+24|0;c[o>>2]=s}else if((f|0)==34){if(i>>>0<(c[d+72>>2]|0)>>>0){f=36;break}y=d+24|0;m=y;y=c[y>>2]|0;f=39}while(1){if((f|0)==39){f=0;s=y+1|0;c[m>>2]=s;o=m}if(s>>>0>=(c[d+60>>2]|0)>>>0){f=40;break}u=c[d+196>>2]|0;v=c[d+28>>2]|0;if(v>>>0<(c[u+(s<<4)+8>>2]|0)>>>0)break;else{m=o;y=s;f=39}}if((f|0)==40){f=d+36|0;r=(c[f>>2]|0)+1|0;c[f>>2]=r;f=27;continue}e=c[u+(s<<4)+12>>2]|0;if(!(a[d>>0]|0))c[d+72>>2]=_(c[e+(v<<4)+12>>2]|0,c[e+(v<<4)+8>>2]|0)|0;i=c[d+68>>2]|0;g=d+32|0;c[g>>2]=i;f=34}if((f|0)==36){f=0;w=_(c[d+8>>2]|0,c[d+36>>2]|0)|0;w=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+w|0;w=w+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;w=w+(_(c[d+20>>2]|0,i)|0)|0;w=(c[d+4>>2]|0)+(w<<1)|0;if(!(b[w>>1]|0))break;else{k=g;x=i;f=38;continue}}else if((f|0)==41){f=d+28|0;G=(c[f>>2]|0)+1|0;c[f>>2]=G;f=25;continue}}if((f|0)==153)return nb|0;b[w>>1]=1;d=1;return d|0}case 2:{e=d+40|0;if(!(c[e>>2]|0)){lb=d+36|0;Ta=lb;lb=c[lb>>2]|0;f=75}else{c[e>>2]=0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;q=c[d+192>>2]|0;if(q){r=c[d+196>>2]|0;e=0;f=0;s=0;do{j=c[r+(s<<4)+8>>2]|0;if(j){k=c[r+(s<<4)+12>>2]|0;l=c[r+(s<<4)>>2]|0;m=c[r+(s<<4)+4>>2]|0;n=j+-1|0;g=0;i=0;while(1){h=n+g|0;Sa=l<>2]|0);h=m<<(c[k+(i<<4)+4>>2]|0)+h;e=(e|0)==0?Sa:e>>>0>>0?e:Sa;f=(f|0)==0?h:f>>>0>>0?f:h;h=i+1|0;if((h|0)==(j|0))break;else{g=~i;i=h}}c[o>>2]=e;c[p>>2]=f}s=s+1|0}while((s|0)!=(q|0))}if(!(a[d>>0]|0)){c[d+104>>2]=c[d+204>>2];c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}J=c[d+44>>2]|0;c[d+28>>2]=J;f=54}while(1){if((f|0)==54){if(J>>>0>=(c[d+56>>2]|0)>>>0){nb=0;f=153;break}Xa=c[d+104>>2]|0;c[d+220>>2]=Xa;f=56}else if((f|0)==75){jb=lb+1|0;c[Ta>>2]=jb;Ua=Ta;f=71}while(1){if((f|0)==56){if((Xa|0)>=(c[d+108>>2]|0)){f=79;break}Ya=c[d+96>>2]|0;c[d+216>>2]=Ya;f=58}else if((f|0)==71){if(jb>>>0<(c[d+52>>2]|0)>>>0){f=73;break}mb=d+24|0;Va=mb;mb=c[mb>>2]|0;f=76}while(1){if((f|0)==58){if((Ya|0)>=(c[d+100>>2]|0)){f=78;break}Za=c[d+48>>2]|0;Wa=d+24|0;c[Wa>>2]=Za}else if((f|0)==76){Za=mb+1|0;c[Va>>2]=Za;Wa=Va}if(Za>>>0>=(c[d+60>>2]|0)>>>0){Ya=c[d+224>>2]|0;f=d+216|0;Sa=c[f>>2]|0;Ya=Sa+Ya-((Sa|0)%(Ya|0)|0)|0;c[f>>2]=Ya;f=58;continue}f=c[d+196>>2]|0;m=c[d+28>>2]|0;e=c[f+(Za<<4)+8>>2]|0;if(m>>>0>=e>>>0){Va=Wa;mb=Za;f=76;continue}n=c[f+(Za<<4)+12>>2]|0;i=e+~m|0;j=c[d+200>>2]|0;k=c[f+(Za<<4)>>2]|0;_a=k<>2]|0;Sa=c[f+(Za<<4)+4>>2]|0;ab=Sa<>2]|0)|0)/(_a|0)|0;db=ab+-1|0;f=(db+(c[d+212>>2]|0)|0)/(ab|0)|0;eb=c[n+(m<<4)>>2]|0;g=eb+i|0;fb=c[n+(m<<4)+4>>2]|0;h=fb+i|0;gb=c[d+220>>2]|0;if((gb|0)%(Sa<>2]|0;if((hb|0)%(k<>2]|0;if(!ib){Va=Wa;mb=Za;f=76;continue}if((bb|0)==(f|0)|(($a|0)==(e|0)?1:(c[n+(m<<4)+12>>2]|0)==0)){Va=Wa;mb=Za;f=76}else{f=70;break}}if((f|0)==70){c[d+32>>2]=(((cb+hb|0)/(_a|0)|0)>>eb)-($a>>eb)+(_((((db+gb|0)/(ab|0)|0)>>fb)-(bb>>fb)|0,ib)|0);jb=c[d+64>>2]|0;Ua=d+36|0;c[Ua>>2]=jb;f=71;continue}else if((f|0)==78){Xa=c[d+228>>2]|0;f=d+220|0;Sa=c[f>>2]|0;Xa=Sa+Xa-((Sa|0)%(Xa|0)|0)|0;c[f>>2]=Xa;f=56;continue}}if((f|0)==73){f=0;kb=_(c[d+8>>2]|0,jb)|0;kb=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+kb|0;kb=kb+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;kb=kb+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;kb=(c[d+4>>2]|0)+(kb<<1)|0;if(!(b[kb>>1]|0))break;else{Ta=Ua;lb=jb;f=75;continue}}else if((f|0)==79){f=d+28|0;J=(c[f>>2]|0)+1|0;c[f>>2]=J;f=54;continue}}if((f|0)==153)return nb|0;b[kb>>1]=1;d=1;return d|0}case 3:{f=d+40|0;if(!(c[f>>2]|0)){Ra=c[d+24>>2]|0;Ka=d+36|0;pa=Ka;Ka=c[Ka>>2]|0;Na=Ra;Ra=(c[d+196>>2]|0)+(Ra<<4)|0;f=113}else{c[f>>2]=0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;q=c[d+192>>2]|0;if(q){r=c[d+196>>2]|0;e=0;f=0;s=0;do{j=c[r+(s<<4)+8>>2]|0;if(j){k=c[r+(s<<4)+12>>2]|0;l=c[r+(s<<4)>>2]|0;m=c[r+(s<<4)+4>>2]|0;n=j+-1|0;g=0;i=0;while(1){h=n+g|0;mb=l<>2]|0);h=m<<(c[k+(i<<4)+4>>2]|0)+h;e=(e|0)==0?mb:e>>>0>>0?e:mb;f=(f|0)==0?h:f>>>0>>0?f:h;h=i+1|0;if((h|0)==(j|0))break;else{g=~i;i=h}}c[o>>2]=e;c[p>>2]=f}s=s+1|0}while((s|0)!=(q|0))}if(!(a[d>>0]|0)){e=c[d+204>>2]|0;c[d+104>>2]=e;c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}else e=c[d+104>>2]|0;c[d+220>>2]=e;f=93}while(1){if((f|0)==93){if((e|0)>=(c[d+108>>2]|0)){nb=0;f=153;break}ta=c[d+96>>2]|0;c[d+216>>2]=ta;f=95}else if((f|0)==113){Ha=Ka+1|0;c[pa>>2]=Ha;qa=pa;Ia=Na;Qa=Ra;f=109}while(1){if((f|0)==95){if((ta|0)>=(c[d+100>>2]|0)){f=117;break}ua=c[d+48>>2]|0;c[d+24>>2]=ua;f=97}else if((f|0)==109){if(Ha>>>0<(c[d+52>>2]|0)>>>0){f=111;break}La=d+28|0;ra=La;La=c[La>>2]|0;Oa=Ia;Sa=Qa;f=114}while(1){if((f|0)==97){if(ua>>>0>=(c[d+60>>2]|0)>>>0){f=116;break}Pa=(c[d+196>>2]|0)+(ua<<4)|0;va=c[d+44>>2]|0;sa=d+28|0;c[sa>>2]=va;Ma=ua}else if((f|0)==114){va=La+1|0;c[ra>>2]=va;sa=ra;Ma=Oa;Pa=Sa}mb=c[d+56>>2]|0;f=c[Pa+8>>2]|0;if(va>>>0>=(mb>>>0>>0?mb:f)>>>0){ua=Ma+1|0;c[d+24>>2]=ua;f=97;continue}n=c[Pa+12>>2]|0;f=f+~va|0;g=c[d+200>>2]|0;h=c[Pa>>2]|0;wa=h<>2]|0;mb=c[Pa+4>>2]|0;ya=mb<>2]|0)|0)/(wa|0)|0;Ba=ya+-1|0;k=(Ba+(c[d+212>>2]|0)|0)/(ya|0)|0;Ca=c[n+(va<<4)>>2]|0;l=Ca+f|0;Da=c[n+(va<<4)+4>>2]|0;m=Da+f|0;Ea=c[d+220>>2]|0;if((Ea|0)%(mb<>2]|0;if((Fa|0)%(h<>2]|0;if(!Ga){ra=sa;La=va;Oa=Ma;Sa=Pa;f=114;continue}if((za|0)==(k|0)|((xa|0)==(j|0)?1:(c[n+(va<<4)+12>>2]|0)==0)){ra=sa;La=va;Oa=Ma;Sa=Pa;f=114}else{f=108;break}}if((f|0)==108){c[d+32>>2]=(((Aa+Fa|0)/(wa|0)|0)>>Ca)-(xa>>Ca)+(_((((Ba+Ea|0)/(ya|0)|0)>>Da)-(za>>Da)|0,Ga)|0);Ha=c[d+64>>2]|0;qa=d+36|0;c[qa>>2]=Ha;Ia=Ma;Qa=Pa;f=109;continue}else if((f|0)==116){ta=c[d+224>>2]|0;f=d+216|0;mb=c[f>>2]|0;ta=mb+ta-((mb|0)%(ta|0)|0)|0;c[f>>2]=ta;f=95;continue}}if((f|0)==111){f=0;Ja=_(c[d+8>>2]|0,Ha)|0;Ja=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+Ja|0;Ja=Ja+(_(c[d+16>>2]|0,Ia)|0)|0;Ja=Ja+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;Ja=(c[d+4>>2]|0)+(Ja<<1)|0;if(!(b[Ja>>1]|0))break;else{pa=qa;Ka=Ha;Na=Ia;Ra=Qa;f=113;continue}}else if((f|0)==117){e=c[d+228>>2]|0;f=d+220|0;mb=c[f>>2]|0;e=mb+e-((mb|0)%(e|0)|0)|0;c[f>>2]=e;f=93;continue}}if((f|0)==153)return nb|0;b[Ja>>1]=1;d=1;return d|0}case 4:{e=d+40|0;if(!(c[e>>2]|0)){na=c[d+24>>2]|0;ea=d+36|0;K=ea;ea=c[ea>>2]|0;ga=na;na=(c[d+196>>2]|0)+(na<<4)|0;f=148}else{c[e>>2]=0;O=c[d+48>>2]|0;c[d+24>>2]=O;f=121}while(1){if((f|0)==121){if(O>>>0>=(c[d+60>>2]|0)>>>0){nb=0;f=153;break}e=c[d+196>>2]|0;q=e+(O<<4)|0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;l=c[e+(O<<4)+8>>2]|0;if(l){m=c[e+(O<<4)+12>>2]|0;n=c[q>>2]|0;h=c[e+(O<<4)+4>>2]|0;i=l+-1|0;f=0;e=0;g=0;k=0;while(1){j=i+g|0;mb=n<>2]|0);j=h<<(c[m+(k<<4)+4>>2]|0)+j;f=(f|0)==0?mb:f>>>0>>0?f:mb;e=(e|0)==0?j:e>>>0>>0?e:j;j=k+1|0;if((j|0)==(l|0))break;else{g=~k;k=j}}c[o>>2]=f;c[p>>2]=e}if(!(a[d>>0]|0)){e=c[d+204>>2]|0;c[d+104>>2]=e;c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}else e=c[d+104>>2]|0;c[d+220>>2]=e;H=e;I=O;f=130}else if((f|0)==148){ba=ea+1|0;c[K>>2]=ba;L=K;ca=ga;ma=na;f=144}while(1){if((f|0)==130){if((H|0)>=(c[d+108>>2]|0)){f=152;break}P=c[d+96>>2]|0;c[d+216>>2]=P;ha=I;ka=q;f=132}else if((f|0)==144){if(ba>>>0<(c[d+52>>2]|0)>>>0){f=146;break}fa=d+28|0;M=fa;fa=c[fa>>2]|0;ja=ca;oa=ma;f=149}while(1){if((f|0)==132){if((P|0)>=(c[d+100>>2]|0)){f=151;break}Q=c[d+44>>2]|0;N=d+28|0;c[N>>2]=Q;ia=ha;la=ka}else if((f|0)==149){Q=fa+1|0;c[M>>2]=Q;N=M;ia=ja;la=oa}mb=c[d+56>>2]|0;e=c[la+8>>2]|0;if(Q>>>0>=(mb>>>0>>0?mb:e)>>>0){P=c[d+224>>2]|0;ha=d+216|0;ka=c[ha>>2]|0;P=ka+P-((ka|0)%(P|0)|0)|0;c[ha>>2]=P;ha=ia;ka=la;f=132;continue}m=c[la+12>>2]|0;e=e+~Q|0;f=c[d+200>>2]|0;g=c[la>>2]|0;R=g<>2]|0;mb=c[la+4>>2]|0;T=mb<>2]|0)|0)/(R|0)|0;W=T+-1|0;j=(W+(c[d+212>>2]|0)|0)/(T|0)|0;X=c[m+(Q<<4)>>2]|0;k=X+e|0;Y=c[m+(Q<<4)+4>>2]|0;l=Y+e|0;Z=c[d+220>>2]|0;if((Z|0)%(mb<>2]|0;if(($|0)%(g<>2]|0;if(!aa){M=N;fa=Q;ja=ia;oa=la;f=149;continue}if((U|0)==(j|0)|((S|0)==(i|0)?1:(c[m+(Q<<4)+12>>2]|0)==0)){M=N;fa=Q;ja=ia;oa=la;f=149}else{f=143;break}}if((f|0)==143){c[d+32>>2]=(((V+$|0)/(R|0)|0)>>X)-(S>>X)+(_((((W+Z|0)/(T|0)|0)>>Y)-(U>>Y)|0,aa)|0);ba=c[d+64>>2]|0;L=d+36|0;c[L>>2]=ba;ca=ia;ma=la;f=144;continue}else if((f|0)==151){H=c[d+228>>2]|0;I=d+220|0;q=c[I>>2]|0;H=q+H-((q|0)%(H|0)|0)|0;c[I>>2]=H;I=ha;q=ka;f=130;continue}}if((f|0)==146){f=0;da=_(c[d+8>>2]|0,ba)|0;da=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+da|0;da=da+(_(c[d+16>>2]|0,ca)|0)|0;da=da+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;da=(c[d+4>>2]|0)+(da<<1)|0;if(!(b[da>>1]|0))break;else{K=L;ea=ba;ga=ca;na=ma;f=148;continue}}else if((f|0)==152){O=I+1|0;c[d+24>>2]=O;f=121;continue}}if((f|0)==153)return nb|0;b[da>>1]=1;d=1;return d|0}default:{d=0;return d|0}}return 0}function Pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=(c[b+(d*5640|0)+420>>2]|0)+1|0;e=Qc(l,232)|0;if(!e){l=0;return l|0}if(!l){l=e;return l|0}j=a+16|0;g=b+(d*5640|0)+5584|0;a=c[j>>2]|0;h=e;i=0;a:while(1){b=Qc(a,16)|0;f=h+196|0;c[f>>2]=b;if(!b){a=5;break}k=c[j>>2]|0;c[h+192>>2]=k;b:do{if(!k)a=0;else{a=(c[g>>2]|0)+4|0;k=Qc(c[a>>2]|0,16)|0;c[b+12>>2]=k;if(!k){a=18;break a}else d=0;while(1){c[b+(d<<4)+8>>2]=c[a>>2];d=d+1|0;a=c[j>>2]|0;if(d>>>0>=a>>>0)break b;b=c[f>>2]|0;a=(c[g>>2]|0)+(d*1080|0)+4|0;k=Qc(c[a>>2]|0,16)|0;c[b+(d<<4)+12>>2]=k;if(!k){a=18;break a}}}}while(0);i=i+1|0;if(i>>>0>=l>>>0){a=32;break}else h=h+232|0}if((a|0)==5){a=e+4|0;b=c[a>>2]|0;if(!b){j=e;k=0}else{Uc(b);c[a>>2]=0;j=e;k=0}while(1){i=j+196|0;a=c[i>>2]|0;if(a){h=j+192|0;b=c[h>>2]|0;if(b){g=0;while(1){d=a+12|0;f=c[d>>2]|0;if(f){Uc(f);c[d>>2]=0;b=c[h>>2]|0}g=g+1|0;if(g>>>0>=b>>>0)break;else a=a+16|0}a=c[i>>2]|0}Uc(a);c[i>>2]=0}k=k+1|0;if((k|0)==(l|0))break;else j=j+232|0}Uc(e);l=0;return l|0}else if((a|0)==18){a=e+4|0;b=c[a>>2]|0;if(!b){j=e;k=0}else{Uc(b);c[a>>2]=0;j=e;k=0}while(1){i=j+196|0;a=c[i>>2]|0;if(a){h=j+192|0;b=c[h>>2]|0;if(b){g=0;while(1){d=a+12|0;f=c[d>>2]|0;if(f){Uc(f);c[d>>2]=0;b=c[h>>2]|0}g=g+1|0;if(g>>>0>=b>>>0)break;else a=a+16|0}a=c[i>>2]|0}Uc(a);c[i>>2]=0}k=k+1|0;if((k|0)==(l|0))break;else j=j+232|0}Uc(e);l=0;return l|0}else if((a|0)==32)return e|0;return 0}function Qf(a,b,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;o=c[(c[b+76>>2]|0)+(d*5640|0)+5584>>2]|0;n=c[a+24>>2]|0;I=c[b+24>>2]|0;H=b+12|0;G=(_(c[H>>2]|0,(d>>>0)%(I>>>0)|0)|0)+(c[b+4>>2]|0)|0;F=c[a>>2]|0;c[e>>2]=G>>>0>F>>>0?G:F;G=Si(c[H>>2]|0,0,G|0,0)|0;G=G|0-C;H=c[a+8>>2]|0;c[f>>2]=G>>>0>>0?G:H;H=b+16|0;I=(_(c[H>>2]|0,(d>>>0)/(I>>>0)|0)|0)+(c[b+8>>2]|0)|0;G=c[a+4>>2]|0;c[g>>2]=I>>>0>G>>>0?I:G;I=Si(c[H>>2]|0,0,I|0,0)|0;I=I|0-C;H=c[a+12>>2]|0;c[h>>2]=I>>>0>>0?I:H;c[k>>2]=0;c[l>>2]=0;c[i>>2]=2147483647;c[j>>2]=2147483647;H=a+16|0;if(!(c[H>>2]|0))return;else I=0;while(1){r=c[m+(I<<2)>>2]|0;p=c[n>>2]|0;a=((c[e>>2]|0)+-1+p|0)/(p|0)|0;F=n+4|0;q=c[F>>2]|0;d=((c[g>>2]|0)+-1+q|0)/(q|0)|0;p=(p+-1+(c[f>>2]|0)|0)/(p|0)|0;q=(q+-1+(c[h>>2]|0)|0)/(q|0)|0;G=o+4|0;b=c[G>>2]|0;if(b>>>0>(c[l>>2]|0)>>>0){c[l>>2]=b;b=c[G>>2]|0}if(b){D=Si(a|0,((a|0)<0)<<31>>31|0,-1,-1)|0;E=C;A=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;B=C;y=Si(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;z=C;w=Si(q|0,((q|0)<0)<<31>>31|0,-1,-1)|0;x=C;v=0;while(1){b=b+-1|0;p=c[o+812+(v<<2)>>2]|0;u=c[o+944+(v<<2)>>2]|0;c[r>>2]=p;c[r+4>>2]=u;s=c[n>>2]<>2]<>2]|0;c[i>>2]=(a|0)<(s|0)?a:s;s=c[j>>2]|0;c[j>>2]=(s|0)<(J|0)?s:J;J=Ri(1,0,b|0)|0;s=C;a=Si(D|0,E|0,J|0,s|0)|0;a=Pi(a|0,C|0,b|0)|0;q=Si(A|0,B|0,J|0,s|0)|0;q=Pi(q|0,C|0,b|0)|0;d=Si(y|0,z|0,J|0,s|0)|0;d=Pi(d|0,C|0,b|0)|0;s=Si(w|0,x|0,J|0,s|0)|0;s=Pi(s|0,C|0,b|0)|0;J=Ri(1,0,u|0)|0;t=C;K=Si(s|0,((s|0)<0)<<31>>31|0,-1,-1)|0;t=Si(K|0,C|0,J|0,t|0)|0;t=Pi(t|0,C|0,u|0)|0;if((a|0)==(d|0))a=0;else{d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;J=C;K=Ri(1,0,p|0)|0;K=Si(d|0,J|0,K|0,C|0)|0;K=Pi(K|0,C|0,p|0)|0;a=(K<>p<>p}K=(q|0)==(s|0)?0:(t<>u<>u;c[r+8>>2]=a;c[r+12>>2]=K;a=_(a,K)|0;if(a>>>0>(c[k>>2]|0)>>>0)c[k>>2]=a;v=v+1|0;if(v>>>0>=(c[G>>2]|0)>>>0)break;else r=r+16|0}}I=I+1|0;if(I>>>0>=(c[H>>2]|0)>>>0)break;else{n=n+52|0;o=o+1080|0}}return}function Rf(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;k=(c[a+(b*5640|0)+420>>2]|0)+1|0;c[a+(b*5640|0)+500>>2]=c[a+(b*5640|0)+428>>2];c[a+(b*5640|0)+516>>2]=c[a+(b*5640|0)+440>>2];c[a+(b*5640|0)+496>>2]=c[a+(b*5640|0)+424>>2];c[a+(b*5640|0)+512>>2]=c[a+(b*5640|0)+436>>2];c[a+(b*5640|0)+508>>2]=c[a+(b*5640|0)+432>>2];c[a+(b*5640|0)+492>>2]=0;c[a+(b*5640|0)+460>>2]=c[a+(b*5640|0)+456>>2];c[a+(b*5640|0)+504>>2]=0;c[a+(b*5640|0)+520>>2]=h;c[a+(b*5640|0)+524>>2]=d;c[a+(b*5640|0)+528>>2]=e;c[a+(b*5640|0)+532>>2]=f;c[a+(b*5640|0)+536>>2]=g;c[a+(b*5640|0)+540>>2]=i;c[a+(b*5640|0)+544>>2]=j;if(k>>>0<=1)return;a=a+(b*5640|0)+572|0;b=1;while(1){c[a+76>>2]=c[a+4>>2];c[a+92>>2]=c[a+16>>2];c[a+72>>2]=c[a>>2];c[a+88>>2]=c[a+12>>2];l=c[a+8>>2]|0;c[a+84>>2]=l;c[a+36>>2]=c[a+32>>2];c[a+80>>2]=0;c[a+68>>2]=l>>>0>(c[a+-64>>2]|0)>>>0?l:0;c[a+96>>2]=h;c[a+100>>2]=d;c[a+104>>2]=e;c[a+108>>2]=f;c[a+112>>2]=g;c[a+116>>2]=i;c[a+120>>2]=j;b=b+1|0;if((b|0)==(k|0))break;else a=a+148|0}return}function Sf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=c[d+76>>2]|0;if((b|0)>-1)h=b;else{e=0;return e|0}a:while(1){switch(a[g+h>>0]|0){case 82:{i=3;break a}case 67:{i=5;break a}case 76:{i=7;break a}case 80:{i=9;break a}default:{}}h=h+-1|0}if((i|0)==3)if((c[j+(e*5640|0)+424+(f*148|0)+128>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+88>>2]|0))return(Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==5)if((c[j+(e*5640|0)+424+(f*148|0)+132>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+92>>2]|0))return(Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==7)if((c[j+(e*5640|0)+424+(f*148|0)+124>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+84>>2]|0))return(Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==9){if((c[j+(e*5640|0)+424+(f*148|0)+36>>2]|0)>>>0<2)if((c[j+(e*5640|0)+424+(f*148|0)+136>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+96>>2]|0))return(Sf(h+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}if((c[j+(e*5640|0)+424+(f*148|0)+140>>2]|0)!=(c[j+(e*5640|0)+424+(f*148|0)+104>>2]|0)){e=1;return e|0}if((c[j+(e*5640|0)+424+(f*148|0)+144>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+112>>2]|0))return(Sf(h+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}}return 0}function Tf(b){b=b|0;var d=0,e=0;d=Qc(1,44)|0;if(!d){b=0;return b|0}e=d+40|0;a[e>>0]=a[e>>0]&-2|(b|0)!=0;b=Qc(1,4)|0;c[d+20>>2]=b;if(b){e=d;return e|0}Uc(d);e=0;return e|0}function Uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+1200|0;N=O;e=c[c[a+20>>2]>>2]|0;M=e+16|0;f=c[M>>2]|0;if(!f){i=O;return}J=e+20|0;K=(c[a+32>>2]|0)+8|0;L=(c[a+28>>2]|0)+88|0;H=a+24|0;I=(b|0)==0;F=(d|0)==0;G=b+-1|0;e=f;E=0;do{j=c[J>>2]|0;k=c[K>>2]|0;C=c[j+(E*52|0)+16>>2]|0;if(k){if(C){a=c[L>>2]|0;g=+((c[(c[(c[H>>2]|0)+24>>2]|0)+(E*52|0)+24>>2]|0)>>>0)*.0625;f=0;do{d=_(C,f)|0;h=0;do{D=(d+h|0)*3|0;c[N+(f*120|0)+(h*12|0)>>2]=~~(+(c[a+(D<<2)>>2]|0)*g);c[N+(f*120|0)+(h*12|0)+4>>2]=~~(+(c[a+(D+1<<2)>>2]|0)*g);c[N+(f*120|0)+(h*12|0)+8>>2]=~~(+(c[a+(D+2<<2)>>2]|0)*g);h=h+1|0}while(h>>>0>>0);f=f+1|0}while(f>>>0>>0);D=9}}else D=9;if((D|0)==9){D=0;if(C){w=j+(E*52|0)+24|0;B=0;do{x=c[w>>2]|0;y=x+(B*136|0)+24|0;e=c[y>>2]|0;if(e){z=x+(B*136|0)+16|0;A=x+(B*136|0)+20|0;a=c[A>>2]|0;d=c[z>>2]|0;v=0;do{if(_(a,d)|0){s=x+(B*136|0)+28+(v*36|0)+20|0;t=N+(b*120|0)+(B*12|0)+(v<<2)|0;u=N+(G*120|0)+(B*12|0)+(v<<2)|0;r=0;do{e=c[s>>2]|0;q=_(c[e+(r*40|0)+20>>2]|0,c[e+(r*40|0)+16>>2]|0)|0;if(q){m=e+(r*40|0)+24|0;n=c[t>>2]|0;p=0;do{k=c[m>>2]|0;l=k+(p*52|0)|0;o=c[k+(p*52|0)+4>>2]|0;e=(c[(c[(c[H>>2]|0)+24>>2]|0)+(E*52|0)+24>>2]|0)-(c[k+(p*52|0)+28>>2]|0)|0;if(!I){a=c[u>>2]|0;d=n-a|0;if((a|0)<=(e|0)){d=d+(a-e)|0;d=(d|0)<0?0:d}}else{c[k+(p*52|0)+44>>2]=0;d=(n|0)>(e|0)?n-e|0:0}j=k+(p*52|0)+44|0;f=c[j>>2]|0;h=(f|0)==0;if(h)if(!d)d=0;else d=(d*3|0)+-2|0;else d=(d*3|0)+f|0;c[o+(b*24|0)>>2]=d-f;do{if((d|0)!=(f|0)){a=c[k+(p*52|0)+8>>2]|0;e=c[a+((d+-1|0)*24|0)>>2]|0;if(h)c[o+(b*24|0)+16>>2]=c[l>>2];else{k=c[a+((f+-1|0)*24|0)>>2]|0;c[o+(b*24|0)+16>>2]=(c[l>>2]|0)+k;e=e-k|0}c[o+(b*24|0)+4>>2]=e;if(F)break;c[j>>2]=d}}while(0);p=p+1|0}while(p>>>0>>0);a=c[A>>2]|0;d=c[z>>2]|0}r=r+1|0}while(r>>>0<(_(a,d)|0)>>>0);e=c[y>>2]|0}v=v+1|0}while(v>>>0>>0)}B=B+1|0}while(B>>>0>>0);e=c[M>>2]|0}}E=E+1|0}while(E>>>0>>0);i=O;return}function Vf(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;a=c[c[a+20>>2]>>2]|0;G=a+40+(b<<3)|0;h[G>>3]=0.0;H=a+16|0;f=c[H>>2]|0;if(!f)return;E=a+20|0;F=(b|0)==0;D=(e|0)==0;a=f;C=0;do{f=c[E>>2]|0;B=c[f+(C*52|0)+16>>2]|0;if(B){v=f+(C*52|0)+24|0;A=0;do{w=c[v>>2]|0;x=w+(A*136|0)+24|0;a=c[x>>2]|0;if(a){y=w+(A*136|0)+16|0;z=w+(A*136|0)+20|0;f=c[z>>2]|0;e=c[y>>2]|0;u=0;do{if(_(f,e)|0){t=w+(A*136|0)+28+(u*36|0)+20|0;s=0;do{a=c[t>>2]|0;r=_(c[a+(s*40|0)+20>>2]|0,c[a+(s*40|0)+16>>2]|0)|0;if(r){n=a+(s*40|0)+24|0;q=0;do{k=c[n>>2]|0;l=k+(q*52|0)|0;o=c[k+(q*52|0)+4>>2]|0;p=k+(q*52|0)+44|0;if(F){c[p>>2]=0;m=0}else m=c[p>>2]|0;e=c[k+(q*52|0)+48>>2]|0;if(m>>>0>>0){i=c[k+(q*52|0)+8>>2]|0;a=m;j=m;do{f=c[i+(j*24|0)>>2]|0;g=+h[i+(j*24|0)+8>>3];if(a){J=a+-1|0;g=g-+h[i+(J*24|0)+8>>3];f=f-(c[i+(J*24|0)>>2]|0)|0}do{if(!f){if(!(g!=0.0))break;a=j+1|0}else{if(!(d-g/+(f>>>0)<2.220446049250313e-16))break;a=j+1|0}}while(0);j=j+1|0}while(j>>>0>>0);i=a;c[o+(b*24|0)>>2]=i-m;if((i|0)!=(m|0)){e=i+-1|0;f=c[k+(q*52|0)+8>>2]|0;a=c[f+(e*24|0)>>2]|0;if(!m){c[o+(b*24|0)+16>>2]=c[l>>2];g=+h[f+(e*24|0)+8>>3]}else{m=m+-1|0;J=c[f+(m*24|0)>>2]|0;c[o+(b*24|0)+16>>2]=(c[l>>2]|0)+J;g=+h[f+(e*24|0)+8>>3]-+h[f+(m*24|0)+8>>3];a=a-J|0}c[o+(b*24|0)+4>>2]=a;h[o+(b*24|0)+8>>3]=g;h[G>>3]=g+ +h[G>>3];if(!D)c[p>>2]=i}else I=26}else{c[o+(b*24|0)>>2]=0;I=26}if((I|0)==26){I=0;h[o+(b*24|0)+8>>3]=0.0}q=q+1|0}while(q>>>0>>0);f=c[z>>2]|0;e=c[y>>2]|0}s=s+1|0}while(s>>>0<(_(f,e)|0)>>>0);a=c[x>>2]|0}u=u+1|0}while(u>>>0>>0)}A=A+1|0}while(A>>>0>>0);a=c[H>>2]|0}C=C+1|0}while(C>>>0>>0);return}function Wf(d,e,f,j,k){d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=i;i=i+800|0;V=W;S=c[d+28>>2]|0;T=c[c[d+20>>2]>>2]|0;U=c[d+32>>2]|0;O=T+24|0;c[O>>2]=0;Q=c[T+16>>2]|0;if(!Q){l=0;J=0.0;n=0.0;p=1797693134862315708145274.0e284}else{M=c[T+20>>2]|0;N=c[(c[d+24>>2]|0)+24>>2]|0;l=0;R=0;o=0.0;n=0.0;p=1797693134862315708145274.0e284;do{I=M+(R*52|0)+48|0;c[I>>2]=0;K=c[M+(R*52|0)+16>>2]|0;if(!K)m=0;else{L=c[M+(R*52|0)+24>>2]|0;m=0;H=0;do{E=c[L+(H*136|0)+24>>2]|0;if(E){F=_(c[L+(H*136|0)+20>>2]|0,c[L+(H*136|0)+16>>2]|0)|0;G=(F|0)==0;D=0;do{if(!G){C=c[L+(H*136|0)+28+(D*36|0)+20>>2]|0;B=0;do{z=_(c[C+(B*40|0)+20>>2]|0,c[C+(B*40|0)+16>>2]|0)|0;if(z){A=c[C+(B*40|0)+24>>2]|0;y=0;do{v=c[A+(y*52|0)+48>>2]|0;if(v){w=c[A+(y*52|0)+8>>2]|0;u=0;do{t=c[w+(u*24|0)>>2]|0;q=+h[w+(u*24|0)+8>>3];if(u){X=u+-1|0;q=q-+h[w+(X*24|0)+8>>3];t=t-(c[w+(X*24|0)>>2]|0)|0}do{if(t){q=q/+(t|0);p=qo))break;o=q}}while(0);u=u+1|0}while(u>>>0>>0)}X=_((c[A+(y*52|0)+24>>2]|0)-(c[A+(y*52|0)+16>>2]|0)|0,(c[A+(y*52|0)+20>>2]|0)-(c[A+(y*52|0)+12>>2]|0)|0)|0;l=X+l|0;m=X+m|0;y=y+1|0}while(y>>>0>>0);c[O>>2]=l;c[I>>2]=m}B=B+1|0}while(B>>>0>>0)}D=D+1|0}while(D>>>0>>0)}H=H+1|0}while(H>>>0>>0)}J=+(1<>2]|0)+-1.0;n=n+ +(m|0)*(J*J);R=R+1|0}while(R>>>0>>0);J=o}I=(k|0)!=0;if(I){R=c[d+36>>2]|0;Q=c[k+88>>2]|0;c[Q+(R*592|0)+552>>2]=l;h[Q+(R*592|0)+560>>3]=+h[T+32>>3];l=U+8|0;X=Pc(c[l>>2]<<3)|0;c[Q+(R*592|0)>>2]=X;if(!X){X=0;i=W;return X|0}}else l=U+8|0;if(!(c[l>>2]|0)){X=1;i=W;return X|0}z=T+32|0;A=S+93|0;B=d+36|0;C=k+88|0;D=T+40|0;E=d+24|0;F=d+8|0;G=d+16|0;H=0;while(1){o=+g[U+20+(H<<2)>>2];if(o!=0.0){w=~~+Z(+o)>>>0;w=w>>>0>>0?w:j}else w=j;s=+g[U+5184+(H<<2)>>2];x=+h[z>>3]-n/+P(10.0,+(s/10.0));X=a[A>>0]|0;if(!((X&1)!=0&o>0.0)?!((X&4)!=0&s>0.0):0)o=p;else{y=dh(c[E>>2]|0,S)|0;if(!y){l=0;m=57;break}v=H+1|0;m=V+(H+-1<<3)|0;t=T+40+(H<<3)|0;if(!H){r=J;m=0;s=p;q=0.0;do{o=(s+r)*.5;Vf(d,0,o,0);do{if(a[A>>0]&4){if(((b[S>>1]|0)+-3&65535)>=4){X=+h[D>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0))s=o;else{X=+h[D>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0)==0;r=X?r:o;s=X?o:s;q=X?q:o}}while(0);m=m+1|0}while((m|0)!=128)}else{r=J;u=0;s=p;q=0.0;do{o=(s+r)*.5;Vf(d,H,o,0);do{if(a[A>>0]&4){if(((b[S>>1]|0)+-3&65535)>=4){X=+h[m>>3]+ +h[t>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0))s=o;else{X=+h[m>>3]+ +h[t>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0)==0;r=X?r:o;s=X?o:s;q=X?q:o}}while(0);u=u+1|0}while((u|0)!=128)}eh(y);o=q==0.0?o:q}if(I)h[(c[(c[C>>2]|0)+((c[B>>2]|0)*592|0)>>2]|0)+(H<<3)>>3]=o;Vf(d,H,o,1);if(!H)o=+h[D>>3];else o=+h[V+(H+-1<<3)>>3]+ +h[T+40+(H<<3)>>3];h[V+(H<<3)>>3]=o;H=H+1|0;if(H>>>0>=(c[l>>2]|0)>>>0){l=1;m=57;break}}if((m|0)==57){i=W;return l|0}return 0}function Xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a+24>>2]=b;c[a+28>>2]=d;f=Qc(1,848)|0;e=a+20|0;c[c[e>>2]>>2]=f;if(!f){a=0;return a|0}f=b+16|0;g=Qc(c[f>>2]|0,52)|0;b=c[c[e>>2]>>2]|0;c[b+20>>2]=g;if(!g){g=0;return g|0}c[b+16>>2]=c[f>>2];c[a>>2]=c[d+84>>2];g=1;return g|0}function Yf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if(!b)return;s=b+20|0;d=c[s>>2]|0;do{if(d){r=(a[b+40>>0]&1)==0?3:4;e=c[d>>2]|0;if(e){o=e+20|0;k=e+16|0;if(c[k>>2]|0){m=0;n=c[o>>2]|0;while(1){l=n+24|0;d=c[l>>2]|0;if(d){i=c[n+28>>2]|0;j=(i>>>0)/136|0;if(i>>>0>135){i=0;while(1){h=d+48|0;e=c[h>>2]|0;if(e){f=c[d+52>>2]|0;g=(f>>>0)/40|0;if(f>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=d+84|0;e=c[h>>2]|0;if(e){t=c[d+88>>2]|0;g=(t>>>0)/40|0;if(t>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=d+120|0;e=c[h>>2]|0;if(e){t=c[d+124>>2]|0;g=(t>>>0)/40|0;if(t>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}i=i+1|0;if(i>>>0>=j>>>0)break;else d=d+136|0}d=c[l>>2]|0}Uc(d);c[l>>2]=0}if((c[n+36>>2]|0)!=0?(p=n+32|0,q=c[p>>2]|0,(q|0)!=0):0){Sc(q);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0}m=m+1|0;if(m>>>0>=(c[k>>2]|0)>>>0)break;else n=n+52|0}}Uc(c[o>>2]|0);c[o>>2]=0;Uc(c[c[s>>2]>>2]|0);d=c[s>>2]|0;c[d>>2]=0;if(!d)break}Uc(d);c[s>>2]=0}}while(0);Uc(b);return}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+32|0;f=c[e>>2]|0;b=a+40|0;d=c[b>>2]|0;if(f){g=a+44|0;if(d>>>0<=(c[g>>2]|0)>>>0){a=1;return a|0}if(c[a+36>>2]|0){Sc(f);f=Rc(c[b>>2]|0)|0;c[e>>2]=f;if(!f){c[g>>2]=0;c[b>>2]=0;c[a+36>>2]=0;a=0;return a|0}else{c[g>>2]=c[b>>2];c[a+36>>2]=1;a=1;return a|0}}}g=Rc(d)|0;c[e>>2]=g;if(!g){a=0;return a|0}c[a+44>>2]=c[b>>2];c[a+36>>2]=1;a=1;return a|0}function _f(a,b,c){a=a|0;b=b|0;c=c|0;return ig(a,b,1,1.0,52,c)|0}function $f(a,b,c){a=a|0;b=b|0;c=c|0;return ig(a,b,0,.5,56,c)|0}function ag(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;d=c[a+24>>2]|0;f=c[d+16>>2]|0;if(!f){g=0;return g|0}g=0;b=0;e=c[d+24>>2]|0;d=c[(c[c[a+20>>2]>>2]|0)+20>>2]|0;while(1){i=c[e+24>>2]|0;i=((i&7|0)!=0&1)+(i>>>3)|0;h=c[d+24>>2]|0;a=(c[d+20>>2]|0)+-1|0;b=(_(_((i|0)==3?4:i,(c[h+(a*136|0)+8>>2]|0)-(c[h+(a*136|0)>>2]|0)|0)|0,(c[h+(a*136|0)+12>>2]|0)-(c[h+(a*136|0)+4>>2]|0)|0)|0)+b|0;g=g+1|0;if(g>>>0>=f>>>0)break;else{e=e+52|0;d=d+52|0}}return b|0}function bg(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;w=y;if(!(c[b+8>>2]|0)){c[b+36>>2]=d;u=b+28|0;j=c[(c[u>>2]|0)+76>>2]|0;x=b+32|0;c[x>>2]=j+(d*5640|0);v=(h|0)==0;t=b+20|0;if(!v){k=c[(c[c[t>>2]>>2]|0)+20>>2]|0;o=c[j+(d*5640|0)+5584>>2]|0;p=k+16|0;if(!(c[p>>2]|0)){k=h+88|0;j=0}else{l=c[k+24>>2]|0;k=h+88|0;m=c[k>>2]|0;n=0;j=0;do{s=l+(n*136|0)+16|0;c[m+(d*592|0)+20+(n<<2)>>2]=c[s>>2];r=l+(n*136|0)+20|0;c[m+(d*592|0)+152+(n<<2)>>2]=c[r>>2];j=(_(c[r>>2]|0,c[s>>2]|0)|0)+j|0;c[m+(d*592|0)+284+(n<<2)>>2]=c[o+812+(n<<2)>>2];c[m+(d*592|0)+416+(n<<2)>>2]=c[o+944+(n<<2)>>2];n=n+1|0}while(n>>>0<(c[p>>2]|0)>>>0)}s=Qc(_(_(c[h+52>>2]|0,j)|0,c[h+56>>2]|0)|0,32)|0;c[(c[k>>2]|0)+(d*592|0)+548>>2]=s;if(!s){b=0;i=y;return b|0}}j=c[c[t>>2]>>2]|0;s=j+16|0;if(!(c[s>>2]|0)){n=c[x>>2]|0;l=0;k=c[j+20>>2]|0}else{n=c[x>>2]|0;k=c[j+20>>2]|0;d=0;q=c[n+5584>>2]|0;r=k;while(1){o=c[r+32>>2]|0;p=_((c[r+12>>2]|0)-(c[r+4>>2]|0)|0,(c[r+8>>2]|0)-(c[r>>2]|0)|0)|0;j=(p|0)==0;if((c[q+20>>2]|0)==1){if(!j){l=q+1076|0;m=0;j=o;while(1){c[j>>2]=(c[j>>2]|0)-(c[l>>2]|0);m=m+1|0;if((m|0)==(p|0))break;else j=j+4|0}}}else if(!j){l=q+1076|0;m=0;j=o;while(1){c[j>>2]=(c[j>>2]|0)-(c[l>>2]|0)<<11;m=m+1|0;if((m|0)==(p|0))break;else j=j+4|0}}d=d+1|0;l=c[s>>2]|0;if(d>>>0>=l>>>0)break;else{q=q+1080|0;r=r+52|0}}}o=_((c[k+12>>2]|0)-(c[k+4>>2]|0)|0,(c[k+8>>2]|0)-(c[k>>2]|0)|0)|0;a:do{switch(c[n+16>>2]|0){case 0:break;case 2:{if(c[n+5608>>2]|0){m=Pc(l<<2)|0;if(!m){b=0;i=y;return b|0}j=c[s>>2]|0;if(!j)j=0;else{l=0;while(1){c[m+(l<<2)>>2]=c[k+32>>2];l=l+1|0;if((l|0)==(j|0))break;else k=k+52|0}}s=(Gf(c[(c[x>>2]|0)+5608>>2]|0,o,m,j,c[(c[(c[b+24>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Uc(m);if(s){b=0;i=y;return b|0}}break}default:{l=c[k+32>>2]|0;m=c[k+84>>2]|0;j=c[k+136>>2]|0;if(!(c[(c[n+5584>>2]|0)+20>>2]|0)){Ef(l,m,j,o);break a}else{Cf(l,m,j,o);break a}}}}while(0);j=c[c[t>>2]>>2]|0;k=j+16|0;b:do{if(c[k>>2]|0){l=0;m=c[(c[x>>2]|0)+5584>>2]|0;j=c[j+20>>2]|0;c:while(1){switch(c[m+20>>2]|0){case 1:{if(!(Fg(j)|0)){j=0;k=54;break c}break}case 0:{if(!(Jg(j)|0)){j=0;k=54;break c}break}default:{}}l=l+1|0;if(l>>>0>=(c[k>>2]|0)>>>0)break b;else{m=m+1080|0;j=j+52|0}}if((k|0)==54){i=y;return j|0}}}while(0);j=c[x>>2]|0;k=Wg(1)|0;if(!k){b=0;i=y;return b|0}do{if((c[j+16>>2]|0)==1)if(!(c[(c[j+5584>>2]|0)+20>>2]|0)){l=Bf()|0;m=3;break}else{l=Af()|0;m=3;break}else{l=c[j+5600>>2]|0;m=c[(c[b+24>>2]|0)+16>>2]|0}}while(0);t=Zg(k,c[c[t>>2]>>2]|0,j,l,m)|0;Xg(k);if(!t){b=0;i=y;return b|0}j=c[u>>2]|0;c[w>>2]=0;if(!v)c[h+12>>2]=0;if(!(a[j+93>>0]&5)){if(c[(c[x>>2]|0)+8>>2]|0){j=0;do{Uf(b,j,1);j=j+1|0}while(j>>>0<(c[(c[x>>2]|0)+8>>2]|0)>>>0)}}else if(!(Wf(b,e,w,g,h)|0)){b=0;i=y;return b|0}}if(h)c[h+12>>2]=1;j=dh(c[b+24>>2]|0,c[b+28>>2]|0)|0;if(!j)j=1;else{b=bh(j,c[b+36>>2]|0,c[c[b+20>>2]>>2]|0,c[(c[b+32>>2]|0)+8>>2]|0,e,f,g,h,c[b+4>>2]|0,c[b>>2]|0,c[b+16>>2]|0,1)|0;eh(j);j=(b|0)==0}b=j&1^1;i=y;return b|0}function cg(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+16|0;m=u+8|0;l=u;k=u+12|0;j=a+36|0;c[j>>2]=e;t=c[a+28>>2]|0;p=a+32|0;c[p>>2]=(c[t+76>>2]|0)+(e*5640|0);c[k>>2]=0;o=a+24|0;e=dh(c[o>>2]|0,t)|0;if(!e){t=0;i=u;return t|0}n=a+20|0;t=ch(e,c[j>>2]|0,c[c[n>>2]>>2]|0,b,k,d,f,h)|0;eh(e);if(!t){t=0;i=u;return t|0}e=c[c[n>>2]>>2]|0;a=c[(c[p>>2]|0)+5584>>2]|0;j=c[e+20>>2]|0;d=Wg(0)|0;if(!d){t=0;i=u;return t|0}k=e+16|0;a:do{if(c[k>>2]|0){f=0;e=j;while(1){if(!(Yg(d,e,a)|0))break;f=f+1|0;if(f>>>0>=(c[k>>2]|0)>>>0)break a;else{a=a+1080|0;e=e+52|0}}Xg(d);t=0;i=u;return t|0}}while(0);Xg(d);e=c[c[n>>2]>>2]|0;j=e+16|0;do{if(c[j>>2]|0){k=0;f=c[(c[o>>2]|0)+24>>2]|0;d=c[(c[p>>2]|0)+5584>>2]|0;a=c[e+20>>2]|0;while(1){e=(c[f+36>>2]|0)+1|0;if((c[d+20>>2]|0)==1){if(!(Gg(a,e)|0)){e=0;a=49;break}}else if(!(Ng(a,e)|0)){e=0;a=49;break}k=k+1|0;if(k>>>0>=(c[j>>2]|0)>>>0){a=14;break}else{f=f+52|0;d=d+1080|0;a=a+52|0}}if((a|0)==14){e=c[c[n>>2]>>2]|0;break}else if((a|0)==49){i=u;return e|0}}}while(0);k=c[p>>2]|0;a=c[e+20>>2]|0;j=c[k+16>>2]|0;do{if(j){b=_((c[a+12>>2]|0)-(c[a+4>>2]|0)|0,(c[a+8>>2]|0)-(c[a>>2]|0)|0)|0;d=e+16|0;e=c[d>>2]|0;if(e>>>0<=2){c[m>>2]=e;Ub(h,1,19703,m)|0;break}if((_((c[a+64>>2]|0)-(c[a+56>>2]|0)|0,(c[a+60>>2]|0)-(c[a+52>>2]|0)|0)|0)>=(b|0)?(_((c[a+116>>2]|0)-(c[a+108>>2]|0)|0,(c[a+112>>2]|0)-(c[a+104>>2]|0)|0)|0)>=(b|0):0){if((j|0)!=2){e=c[a+32>>2]|0;if((c[(c[k+5584>>2]|0)+20>>2]|0)==1){Df(e,c[a+84>>2]|0,c[a+136>>2]|0,b);break}else{Ff(e,c[a+84>>2]|0,c[a+136>>2]|0,b);break}}f=k+5604|0;if(!(c[f>>2]|0))break;k=Pc(e<<2)|0;if(!k){t=0;i=u;return t|0}e=c[d>>2]|0;if(!e)e=0;else{j=0;while(1){c[k+(j<<2)>>2]=c[a+32>>2];j=j+1|0;if((j|0)==(e|0))break;else a=a+52|0}}t=(Hf(c[f>>2]|0,b,k,e,c[(c[(c[o>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Uc(k);if(t)e=0;else break;i=u;return e|0}Ub(h,1,19642,l)|0;t=0;i=u;return t|0}}while(0);e=c[c[n>>2]>>2]|0;s=e+16|0;if(!(c[s>>2]|0)){t=1;i=u;return t|0}t=0;r=c[(c[o>>2]|0)+24>>2]|0;q=c[(c[p>>2]|0)+5584>>2]|0;p=c[e+20>>2]|0;while(1){o=c[p+24>>2]|0;h=c[r+36>>2]|0;j=c[o+(h*136|0)+8>>2]|0;k=c[o+(h*136|0)>>2]|0;n=j-k|0;f=c[o+(h*136|0)+12>>2]|0;h=c[o+(h*136|0)+4>>2]|0;o=(c[p+8>>2]|0)-(c[p>>2]|0)-n|0;e=c[r+24>>2]|0;if(!(c[r+32>>2]|0)){e=1<>2]|0;a=(f|0)==(h|0);if((c[q+20>>2]|0)==1){if(!a){d=(j|0)==(k|0);b=q+1076|0;k=f-h|0;f=0;while(1){if(!d){a=0;j=e;while(1){h=(c[b>>2]|0)+(c[j>>2]|0)|0;c[j>>2]=(h|0)<(m|0)?m:(h|0)>(l|0)?l:h;a=a+1|0;if((a|0)==(n|0))break;else j=j+4|0}e=e+(n<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else e=e+(o<<2)|0}}}else if(!a){d=(j|0)==(k|0);b=q+1076|0;k=f-h|0;f=0;while(1){if(!d){a=0;j=e;while(1){h=Hh(+g[j>>2])|0;h=(c[b>>2]|0)+h|0;c[j>>2]=(h|0)<(m|0)?m:(h|0)>(l|0)?l:h;a=a+1|0;if((a|0)==(n|0))break;else j=j+4|0}e=e+(n<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else e=e+(o<<2)|0}}t=t+1|0;if(t>>>0>=(c[s>>2]|0)>>>0){e=1;break}else{r=r+52|0;q=q+1080|0;p=p+52|0}}i=u;return e|0}function dg(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d+24|0;m=c[q>>2]|0;h=c[m+16>>2]|0;l=(h|0)==0;if(l){q=1;return q|0}i=0;g=0;j=c[m+24>>2]|0;k=c[(c[c[d+20>>2]>>2]|0)+20>>2]|0;while(1){n=c[j+24>>2]|0;n=((n&7|0)!=0&1)+(n>>>3)|0;o=c[k+24>>2]|0;p=(c[k+20>>2]|0)+-1|0;g=(_(_((n|0)==3?4:n,(c[o+(p*136|0)+8>>2]|0)-(c[o+(p*136|0)>>2]|0)|0)|0,(c[o+(p*136|0)+12>>2]|0)-(c[o+(p*136|0)+4>>2]|0)|0)|0)+g|0;i=i+1|0;if((i|0)==(h|0))break;else{j=j+52|0;k=k+52|0}}g=g>>>0>f>>>0;if(g|l){q=g&1^1;return q|0}p=0;o=c[m+24>>2]|0;n=c[(c[c[d+20>>2]>>2]|0)+20>>2]|0;while(1){l=c[o+24>>2]|0;d=c[n+24>>2]|0;f=c[o+36>>2]|0;i=c[d+(f*136|0)+8>>2]|0;j=c[d+(f*136|0)>>2]|0;m=i-j|0;k=c[d+(f*136|0)+12>>2]|0;f=c[d+(f*136|0)+4>>2]|0;d=(c[n+8>>2]|0)-(c[n>>2]|0)-m|0;l=((l&7|0)!=0&1)+(l>>>3)|0;a:do{switch(((l|0)==3?4:l)|0){case 1:{g=c[n+32>>2]|0;h=(k|0)==(f|0);if(!(c[o+32>>2]|0)){if(h)break a;l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+m|0;i=0;h=g;while(1){a[e>>0]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+1|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}else{if(h)break a;l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+m|0;i=0;h=g;while(1){a[e>>0]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+1|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}case 2:{g=c[n+32>>2]|0;h=(k|0)==(f|0);if(!(c[o+32>>2]|0)){if(!h){l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+(m<<1)|0;i=0;h=g;while(1){b[e>>1]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+2|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}}else if(!h){l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+(m<<1)|0;i=0;h=g;while(1){b[e>>1]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+2|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}case 4:{if((k|0)!=(f|0)){l=(i|0)==(j|0);k=k-f|0;f=0;g=c[n+32>>2]|0;while(1){if(!l){j=e+(m<<2)|0;i=0;h=g;while(1){c[e>>2]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+4|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}default:{}}}while(0);p=p+1|0;if(p>>>0>=(c[(c[q>>2]|0)+16>>2]|0)>>>0){e=1;break}else{o=o+52|0;n=n+52|0}}return e|0}function eg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a+24>>2]|0;f=c[d+16>>2]|0;if(!f){g=0;return g|0}g=0;b=0;e=c[d+24>>2]|0;d=c[(c[c[a+20>>2]>>2]|0)+20>>2]|0;while(1){a=c[e+24>>2]|0;a=((a&7|0)!=0&1)+(a>>>3)|0;b=(_(_((c[d+12>>2]|0)-(c[d+4>>2]|0)|0,(c[d+8>>2]|0)-(c[d>>2]|0)|0)|0,(a|0)==3?4:a)|0)+b|0;g=g+1|0;if(g>>>0>=f>>>0)break;else{e=e+52|0;d=d+52|0}}return b|0}function fg(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=c[f+24>>2]|0;q=o+16|0;j=c[q>>2]|0;n=(j|0)==0;if(n)i=0;else{k=0;i=0;l=c[o+24>>2]|0;m=c[(c[c[f+20>>2]>>2]|0)+20>>2]|0;while(1){p=c[l+24>>2]|0;p=((p&7|0)!=0&1)+(p>>>3)|0;i=(_(_((c[m+12>>2]|0)-(c[m+4>>2]|0)|0,(c[m+8>>2]|0)-(c[m>>2]|0)|0)|0,(p|0)==3?4:p)|0)+i|0;k=k+1|0;if((k|0)==(j|0))break;else{l=l+52|0;m=m+52|0}}}i=(i|0)!=(h|0);if(i|n){q=i&1^1;return q|0}p=0;n=c[o+24>>2]|0;h=c[(c[c[f+20>>2]>>2]|0)+20>>2]|0;while(1){f=c[n+24>>2]|0;i=(c[h+8>>2]|0)-(c[h>>2]|0)|0;j=(c[h+12>>2]|0)-(c[h+4>>2]|0)|0;m=_(j,i)|0;f=((f&7|0)!=0&1)+(f>>>3)|0;a:do{switch(((f|0)==3?4:f)|0){case 1:{j=c[h+32>>2]|0;i=(m|0)==0;if(!(c[n+32>>2]|0)){if(i)break a;else{k=0;i=j;j=g}while(1){c[i>>2]=d[j>>0];k=k+1|0;if((k|0)==(m|0))break;else{i=i+4|0;j=j+1|0}}g=g+m|0;break a}else{if(i)break a;else{k=0;i=j;j=g}while(1){c[i>>2]=a[j>>0];k=k+1|0;if((k|0)==(m|0))break;else{i=i+4|0;j=j+1|0}}g=g+m|0;break a}}case 2:{l=c[h+32>>2]|0;k=(m|0)==0;if(!(c[n+32>>2]|0)){if(!k){k=g+(_(j<<1,i)|0)|0;j=0;i=l;while(1){c[i>>2]=e[g>>1];j=j+1|0;if((j|0)==(m|0))break;else{i=i+4|0;g=g+2|0}}g=k}}else if(!k){k=g+(_(j<<1,i)|0)|0;j=0;i=l;while(1){c[i>>2]=b[g>>1];j=j+1|0;if((j|0)==(m|0))break;else{i=i+4|0;g=g+2|0}}g=k}break}case 4:{if(m){k=g+(_(j<<2,i)|0)|0;i=0;j=c[h+32>>2]|0;while(1){c[j>>2]=c[g>>2];i=i+1|0;if((i|0)==(m|0))break;else{j=j+4|0;g=g+4|0}}g=k}break}default:{}}}while(0);p=p+1|0;if(p>>>0>=(c[q>>2]|0)>>>0){g=1;break}else{n=n+52|0;h=h+52|0}}return g|0}function gg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+24|0;b=c[g>>2]|0;if(!b)return;f=c[a+28>>2]|0;e=(f>>>0)/52|0;if(f>>>0>51){f=0;while(1){a=c[b>>2]|0;if(a){Uc(a+-1|0);c[b>>2]=0}a=b+4|0;d=c[a>>2]|0;if(d){Uc(d);c[a>>2]=0}a=b+8|0;d=c[a>>2]|0;if(d){Uc(d);c[a>>2]=0}f=f+1|0;if(f>>>0>=e>>>0)break;else b=b+52|0}b=c[g>>2]|0}Uc(b);c[g>>2]=0;return}function hg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+24|0;b=c[g>>2]|0;if(!b)return;f=c[a+28>>2]|0;e=(f>>>0)/56|0;if(f>>>0>55){f=0;while(1){a=c[b>>2]|0;if(a){Uc(a);c[b>>2]=0}d=b+4|0;a=c[d>>2]|0;if(a){Uc(a);c[d>>2]=0}f=f+1|0;if(f>>>0>=e>>>0)break;else b=b+56|0}b=c[g>>2]|0}Uc(b);c[g>>2]=0;return}function ig(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=+f;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0.0;Sa=i;i=i+80|0;La=Sa+64|0;Ka=Sa+56|0;Na=Sa+48|0;Pa=Sa+40|0;Oa=Sa+32|0;Qa=Sa+24|0;Ma=Sa+16|0;Ja=Sa+8|0;k=c[b+28>>2]|0;Ia=c[c[b+20>>2]>>2]|0;p=c[(c[k+76>>2]|0)+(d*5640|0)+5584>>2]|0;q=c[Ia+20>>2]|0;n=c[b+24>>2]|0;o=c[n+24>>2]|0;Fa=c[k+24>>2]|0;m=c[k+12>>2]|0;Ha=(_(m,(d>>>0)%(Fa>>>0)|0)|0)+(c[k+4>>2]|0)|0;l=c[n>>2]|0;l=Ha>>>0>l>>>0?Ha:l;c[Ia>>2]=l;Ha=Si(m|0,0,Ha|0,0)|0;Ha=Ha|0-C;m=c[n+8>>2]|0;m=Ha>>>0>>0?Ha:m;Ha=Ia+8|0;c[Ha>>2]=m;Ga=c[k+16>>2]|0;Fa=(_(Ga,(d>>>0)/(Fa>>>0)|0)|0)+(c[k+8>>2]|0)|0;d=c[n+4>>2]|0;d=Fa>>>0>d>>>0?Fa:d;Ea=Ia+4|0;c[Ea>>2]=d;Fa=Si(Ga|0,0,Fa|0,0)|0;Fa=Fa|0-C;n=c[n+12>>2]|0;n=Fa>>>0>>0?Fa:n;Fa=Ia+12|0;c[Fa>>2]=n;if(!(c[p+4>>2]|0)){Ub(j,1,19777,Sa)|0;Ra=0;i=Sa;return Ra|0}Ga=Ia+16|0;if(!(c[Ga>>2]|0)){Ra=1;i=Sa;return Ra|0}Da=k+80|0;Ca=b+40|0;Ba=(e|0)==0;k=d;Aa=0;a:while(1){c[o+36>>2]=0;va=c[o>>2]|0;d=(l+-1+va|0)/(va|0)|0;c[q>>2]=d;wa=c[o+4>>2]|0;k=(k+-1+wa|0)/(wa|0)|0;za=q+4|0;c[za>>2]=k;va=(m+-1+va|0)/(va|0)|0;ya=q+8|0;c[ya>>2]=va;wa=(n+-1+wa|0)/(wa|0)|0;xa=q+12|0;c[xa>>2]=wa;d=va-d|0;k=wa-k|0;if((4294967295/(d>>>0)|0)>>>0>>0){Ra=6;break}d=_(k,d)|0;if(d>>>0>1073741823){Ra=8;break}m=d<<2;va=c[p+4>>2]|0;wa=q+16|0;c[wa>>2]=va;b=c[Da>>2]|0;c[q+20>>2]=va>>>0>>0?1:va-b|0;b=q+40|0;c[b>>2]=m;do{if(a[Ca>>0]&1){e=q+32|0;l=c[e>>2]|0;if(l){k=q+44|0;if(m>>>0<=(c[k>>2]|0)>>>0)break;d=q+36|0;if(c[d>>2]|0){Sc(l);va=Rc(c[b>>2]|0)|0;c[e>>2]=va;if(!va){Ra=16;break a}c[k>>2]=c[b>>2];c[d>>2]=1;break}}va=Rc(m)|0;c[e>>2]=va;if(!va)break a;c[q+44>>2]=c[b>>2];c[q+36>>2]=1}}while(0);e=(c[wa>>2]|0)*136|0;k=q+24|0;b=c[k>>2]|0;if(b){d=q+28|0;if(e>>>0>(c[d>>2]|0)>>>0){b=Tc(b,e)|0;if(!b){Ra=24;break}c[k>>2]=b;va=c[d>>2]|0;Qi(b+va|0,0,e-va|0)|0;c[d>>2]=e}}else{d=Pc(e)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break}c[q+28>>2]=e;Qi(d|0,0,e|0)|0}d=c[wa>>2]|0;va=(c[p+20>>2]|0)==0?7:8;if(d){ra=p+8|0;sa=p+12|0;ta=o+24|0;ua=p+804|0;qa=c[k>>2]|0;k=p+28|0;b=0;while(1){oa=d;pa=d+-1|0;la=c[q>>2]|0;ma=Ri(1,0,pa|0)|0;ma=Si(ma|0,C|0,-1,-1)|0;na=C;la=Si(ma|0,na|0,la|0,((la|0)<0)<<31>>31|0)|0;la=Pi(la|0,C|0,pa|0)|0;c[qa>>2]=la;e=c[za>>2]|0;e=Si(ma|0,na|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,pa|0)|0;c[qa+4>>2]=e;d=c[ya>>2]|0;d=Si(ma|0,na|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,pa|0)|0;c[qa+8>>2]=d;l=c[xa>>2]|0;l=Si(ma|0,na|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Pi(l|0,C|0,pa|0)|0;c[qa+12>>2]=l;r=c[p+812+(b<<2)>>2]|0;n=c[p+944+(b<<2)>>2]|0;s=la>>r<>n<>31|0)|0;m=Pi(m|0,C|0,n|0)|0;if((la|0)==(d|0))d=0;else{la=Ri(1,0,r|0)|0;la=Si(la|0,C|0,-1,-1)|0;d=Si(la|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,r|0)|0;d=(d<>r}la=qa+16|0;c[la>>2]=d;ia=(e|0)==(l|0)?0:(m<>n;c[qa+20>>2]=ia;ia=_(ia,d)|0;ja=ia*40|0;ka=(b|0)==0;if(ka)d=1;else{s=Si(s|0,((s|0)<0)<<31>>31|0,1,0)|0;s=Ti(s|0,C|0,1)|0;t=Si(t|0,((t|0)<0)<<31>>31|0,1,0)|0;t=Ti(t|0,C|0,1)|0;d=3;n=n+-1|0;r=r+-1|0}ha=qa+24|0;c[ha>>2]=d;S=c[ra>>2]|0;S=S>>>0>>0?S:r;T=c[sa>>2]|0;T=T>>>0>>0?T:n;U=(ia|0)!=0;V=(ia|0)==0;W=1<>2]|0;d=Si(ma|0,na|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,pa|0)|0;k=c[za>>2]|0;k=Si(ma|0,na|0,k|0,((k|0)<0)<<31>>31|0)|0;k=Pi(k|0,C|0,pa|0)|0;e=c[ya>>2]|0;e=Si(ma|0,na|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,pa|0)|0;m=c[xa>>2]|0;m=Si(ma|0,na|0,m|0,((m|0)<0)<<31>>31|0)|0;m=Pi(m|0,C|0,pa|0)|0;l=0}else{l=fa+1|0;d=c[q>>2]|0;O=Ri(l&1|0,0,pa|0)|0;O=Oi(da|0,ea|0,O|0,C|0)|0;m=C;d=Si(O|0,m|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,oa|0)|0;k=c[za>>2]|0;P=Ri(l>>>1|0,0,pa|0)|0;P=Oi(da|0,ea|0,P|0,C|0)|0;Q=C;k=Si(P|0,Q|0,k|0,((k|0)<0)<<31>>31|0)|0;k=Pi(k|0,C|0,oa|0)|0;e=c[ya>>2]|0;e=Si(O|0,m|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,oa|0)|0;m=c[xa>>2]|0;m=Si(P|0,Q|0,m|0,((m|0)<0)<<31>>31|0)|0;m=Pi(m|0,C|0,oa|0)|0}c[ga+16>>2]=l;c[ga>>2]=d;Q=ga+4|0;c[Q>>2]=k;P=ga+8|0;c[P>>2]=e;O=ga+12|0;c[O>>2]=m;k=Wa[va&15](l)|0;Ta=+(c[R+4>>2]|0)*.00048828125+1.0;g[ga+32>>2]=+Gh(1.0,(c[ta>>2]|0)+k-(c[R>>2]|0)|0)*Ta*f;c[ga+28>>2]=(c[R>>2]|0)+-1+(c[ua>>2]|0);k=ga+20|0;e=c[k>>2]|0;if(!(U&(e|0)==0)){d=ga+24|0;if((c[d>>2]|0)>>>0>>0){e=Tc(e,ja)|0;if(!e){Ra=41;break a}c[k>>2]=e;N=c[d>>2]|0;Qi(e+N|0,0,ja-N|0)|0;c[d>>2]=ja}}else{d=Pc(ja)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break a}Qi(d|0,0,ja|0)|0;c[ga+24>>2]=ja}if(!V){M=c[k>>2]|0;N=0;while(1){F=c[la>>2]|0;J=(((N>>>0)%(F>>>0)|0)<>>0)/(F>>>0)|0)<>2]|0;I=(J|0)>(I|0)?J:I;c[M>>2]=I;J=c[Q>>2]|0;J=(F|0)>(J|0)?F:J;F=M+4|0;c[F>>2]=J;L=c[P>>2]|0;L=(G|0)<(L|0)?G:L;G=M+8|0;c[G>>2]=L;l=c[O>>2]|0;l=(H|0)<(l|0)?H:l;H=M+12|0;c[H>>2]=l;I=I>>S<>T<>31|0)|0;L=Pi(L|0,C|0,S|0)|0;l=Si($|0,aa|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Pi(l|0,C|0,T|0)|0;L=(L<>S;K=M+16|0;c[K>>2]=L;l=(l<>T;u=M+20|0;c[u>>2]=l;L=_(l,L)|0;l=_(L,h)|0;k=M+24|0;e=c[k>>2]|0;do{if((e|0)==0&(L|0)!=0){d=Pc(l)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break a}Qi(d|0,0,l|0)|0;c[M+28>>2]=l}else{d=M+28|0;if(l>>>0<=(c[d>>2]|0)>>>0)break;e=Tc(e,l)|0;if(!e){Ra=50;break a}c[k>>2]=e;E=c[d>>2]|0;Qi(e+E|0,0,l-E|0)|0;c[d>>2]=l}}while(0);m=M+32|0;d=c[m>>2]|0;e=c[K>>2]|0;l=c[u>>2]|0;if(!d)d=jg(e,l,j)|0;else d=lg(d,e,l,j)|0;c[m>>2]=d;if(!d)Ub(j,2,19990,Ka)|0;m=M+36|0;e=c[m>>2]|0;l=c[K>>2]|0;d=c[u>>2]|0;if(!e)d=jg(l,d,j)|0;else d=lg(e,l,d,j)|0;c[m>>2]=d;if(!d)Ub(j,2,20012,La)|0;if(L){E=0;do{A=c[K>>2]|0;z=(((E>>>0)%(A>>>0)|0)<>>0)/(A>>>0)|0)<>2]|0;e=d+(E*56|0)|0;l=c[e>>2]|0;if(!l){y=Pc(8192)|0;c[e>>2]=y;if(!y){d=0;Ra=87;break a}c[d+(E*56|0)+32>>2]=8192;y=Qc(10,32)|0;c[d+(E*56|0)+4>>2]=y;if(!y){d=0;Ra=87;break a}c[d+(E*56|0)+52>>2]=10}else{m=d+(E*56|0)+32|0;u=c[m>>2]|0;v=d+(E*56|0)+4|0;w=c[v>>2]|0;x=e;y=x+52|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));c[e>>2]=l;c[m>>2]=u;c[v>>2]=w}y=c[M>>2]|0;c[d+(E*56|0)+8>>2]=(z|0)>(y|0)?z:y;z=c[F>>2]|0;c[d+(E*56|0)+12>>2]=(A|0)>(z|0)?A:z;A=c[G>>2]|0;c[d+(E*56|0)+16>>2]=(B|0)<(A|0)?B:A;B=c[H>>2]|0;c[d+(E*56|0)+20>>2]=(D|0)<(B|0)?D:B}else{e=c[k>>2]|0;d=e+(E*52|0)+4|0;if((c[d>>2]|0)==0?(y=Qc(100,24)|0,c[d>>2]=y,(y|0)==0):0){d=0;Ra=87;break a}d=e+(E*52|0)+8|0;if((c[d>>2]|0)==0?(y=Qc(100,24)|0,c[d>>2]=y,(y|0)==0):0){d=0;Ra=87;break a}m=c[M>>2]|0;m=(z|0)>(m|0)?z:m;c[e+(E*52|0)+12>>2]=m;d=c[F>>2]|0;A=(A|0)>(d|0)?A:d;c[e+(E*52|0)+16>>2]=A;d=c[G>>2]|0;d=(B|0)<(d|0)?B:d;c[e+(E*52|0)+20>>2]=d;B=c[H>>2]|0;D=(D|0)<(B|0)?D:B;c[e+(E*52|0)+24>>2]=D;m=_(D-A|0,d-m<<2)|0;d=e+(E*52|0)+36|0;if(m>>>0<=(c[d>>2]|0)>>>0)break;l=e+(E*52|0)|0;e=c[l>>2]|0;if(e)Uc(e+-1|0);e=Pc(m|1)|0;c[l>>2]=e;if(!e){Ra=74;break a}c[d>>2]=m;a[e>>0]=0;c[l>>2]=(c[l>>2]|0)+1}}while(0);E=E+1|0}while(E>>>0>>0)}N=N+1|0;if(N>>>0>=ia>>>0)break;else M=M+40|0}}k=R+8|0;fa=fa+1|0;if(fa>>>0>=(c[ha>>2]|0)>>>0)break;else{ga=ga+36|0;R=k}}b=b+1|0;if(b>>>0<(c[wa>>2]|0)>>>0){d=pa;qa=qa+136|0}else break}}d=Aa+1|0;if(d>>>0>=(c[Ga>>2]|0)>>>0){d=1;Ra=87;break}l=c[Ia>>2]|0;k=c[Ea>>2]|0;m=c[Ha>>2]|0;n=c[Fa>>2]|0;Aa=d;o=o+52|0;p=p+1080|0;q=q+52|0}if((Ra|0)==6){Ub(j,1,19816,Ja)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==8){Ub(j,1,19816,Ma)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==16){c[k>>2]=0;c[b>>2]=0;c[d>>2]=0}else if((Ra|0)==24){Ub(j,1,19849,Oa)|0;Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==41){Ub(j,1,19889,Pa)|0;Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==50){Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ub(j,1,19932,Na)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==74){c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==87){i=Sa;return d|0}Ub(j,1,19816,Qa)|0;Ra=0;i=Sa;return Ra|0}function jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+288|0;l=v+16|0;j=v+8|0;t=v+152|0;u=v+24|0;e=Qc(1,20)|0;if(!e){Ub(d,1,20034,v)|0;u=0;i=v;return u|0}c[e>>2]=a;m=e+4|0;c[m>>2]=b;c[t>>2]=a;c[u>>2]=b;k=e+8|0;c[k>>2]=0;f=0;h=0;while(1){s=_(b,a)|0;a=(a+1|0)/2|0;g=h+1|0;c[t+(g<<2)>>2]=a;b=(b+1|0)/2|0;c[u+(g<<2)>>2]=b;f=f+s|0;if(s>>>0<=1)break;else h=g}c[k>>2]=f;if(!f){Uc(e);Ub(d,2,20072,j)|0;u=0;i=v;return u|0}f=Qc(f,16)|0;c[e+12>>2]=f;if(!f){Ub(d,1,20122,l)|0;Uc(e);u=0;i=v;return u|0}s=c[k>>2]|0;c[e+16>>2]=s<<4;b=f+((_(c[m>>2]|0,c[e>>2]|0)|0)<<4)|0;if(!h)b=f;else{r=0;g=b;a=b;b=f;do{p=c[u+(r<<2)>>2]|0;a:do{if((p|0)>0){q=c[t+(r<<2)>>2]|0;if((q|0)<=0){k=p+-1|0;d=0;while(1){o=(d&1|0)!=0|(d|0)==(k|0);j=o?g:a;a=o?g:a+(q<<4)|0;d=d+1|0;if((d|0)>=(p|0)){g=j;break a}else g=j}}o=((q+2+((q|0)<2?~q:-3)|0)>>>1)+1|0;m=p+-1|0;n=0;do{d=q;l=g;while(1){c[b>>2]=l;j=b+16|0;k=d;d=d+-2|0;if((d|0)>-1){c[j>>2]=l;b=b+32|0}else b=j;if((k|0)<=2)break;else l=l+16|0}l=g+(o<<4)|0;d=(n&1|0)!=0|(n|0)==(m|0);g=d?l:a;a=d?l:a+(q<<4)|0;n=n+1|0}while((n|0)<(p|0))}}while(0);r=r+1|0}while((r|0)!=(h|0))}c[b>>2]=0;if(!s){u=e;i=v;return u|0}else b=0;while(1){c[f+4>>2]=999;c[f+8>>2]=0;c[f+12>>2]=0;b=b+1|0;if((b|0)==(s|0))break;else f=f+16|0}i=v;return e|0}function kg(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a+8>>2]|0;if(!b)return;d=0;a=c[a+12>>2]|0;while(1){c[a+4>>2]=999;c[a+8>>2]=0;c[a+12>>2]=0;d=d+1|0;if(d>>>0>=b>>>0)break;else a=a+16|0}return}function bb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function cb(){return i|0}function db(a){a=a|0;i=a}function eb(a,b){a=a|0;b=b|0;i=a;j=b}function fb(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function gb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function hb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function ib(a){a=a|0;C=a}function jb(){return C|0}function kb(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+8272|0;k=o+16|0;m=o+12|0;j=o;c[m>>2]=0;if((c[a>>2]|0)==1375686655)n=gc(0)|0;else n=gc(2)|0;bc(n,1,0)|0;cc(n,2,0)|0;dc(n,3,0)|0;hc(k);c[j>>2]=a;c[j+4>>2]=a;c[j+8>>2]=b;l=ec(j,1)|0;if(!(ic(n,k)|0)){mi(4476)|0;Fb(l);zc(n);g=1;i=o;return g|0}if(!(jc(l,n,m)|0)){mi(4528)|0;Fb(l);zc(n);Zb(c[m>>2]|0);g=1;i=o;return g|0}if(!(oc(n,l,c[m>>2]|0,c[k+8228>>2]|0)|0)){mi(4578)|0;zc(n);Fb(l);Zb(c[m>>2]|0);g=1;i=o;return g|0}j=c[m>>2]|0;c[f>>2]=c[j+8>>2];c[g>>2]=c[j+12>>2];a=c[j+16>>2]|0;c[h>>2]=a;a=_(_(a<<2,c[f>>2]|0)|0,c[g>>2]|0)|0;c[e>>2]=a;e=Fi(a)|0;c[d>>2]=e;switch(c[h>>2]|0){case 1:{Ui(e|0,c[(c[j+24>>2]|0)+44>>2]|0,a|0)|0;break}case 3:{if((_(c[g>>2]|0,c[f>>2]|0)|0)>0){b=c[j+24>>2]|0;j=c[b+44>>2]|0;a=c[b+96>>2]|0;b=c[b+148>>2]|0;k=0;do{h=k*3|0;c[e+(h<<2)>>2]=c[j+(k<<2)>>2];c[e+(h+1<<2)>>2]=c[a+(k<<2)>>2];c[e+(h+2<<2)>>2]=c[b+(k<<2)>>2];k=k+1|0}while((k|0)<(_(c[g>>2]|0,c[f>>2]|0)|0))}break}default:{}}Fb(l);zc(n);Zb(c[m>>2]|0);g=0;i=o;return g|0}function lb(){return fc()|0}function mb(a,b){a=a|0;b=b|0;return}function nb(a,b){a=a|0;b=b|0;return}function ob(a,b){a=a|0;b=b|0;var d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;li(4625,d)|0;i=b;return}function pb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;g=h;c[g>>2]=d;if(!e){i=h;return}d=b;f=0;b=g+(e+-1)|0;while(1){a[d>>0]=a[b>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else{d=d+1|0;b=b+-1|0}}i=h;return}function qb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;c[d>>2]=0;if(!e)return;f=0;d=d+(e+-1)|0;while(1){a[d>>0]=a[b>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else{b=b+1|0;d=d+-1|0}}return}function rb(b,d){b=b|0;d=+d;var e=0,f=0,g=0,j=0,l=0;e=i;i=i+16|0;j=e;h[j>>3]=d;j=j+8|0;h[k>>3]=d;f=c[k>>2]|0;g=c[k+4>>2]|0;l=Ti(f|0,g|0,56)|0;a[b>>0]=l;l=Ti(f|0,g|0,48)|0;a[b+1>>0]=l;l=Ti(f|0,g|0,40)|0;a[b+2>>0]=l;a[b+3>>0]=g;a[b+4>>0]=a[j+-5>>0]|0;a[b+5>>0]=a[j+-6>>0]|0;g=Ti(f|0,g|0,8)|0;a[b+6>>0]=g;a[b+7>>0]=f;i=e;return}function sb(b,c){b=b|0;c=c|0;var d=0;d=c+8|0;a[d+-1>>0]=a[b>>0]|0;a[d+-2>>0]=a[b+1>>0]|0;a[d+-3>>0]=a[b+2>>0]|0;a[d+-4>>0]=a[b+3>>0]|0;a[d+-5>>0]=a[b+4>>0]|0;a[d+-6>>0]=a[b+5>>0]|0;a[d+-7>>0]=a[b+6>>0]|0;a[c>>0]=a[b+7>>0]|0;return}function tb(b,d){b=b|0;d=+d;var e=0;e=(g[k>>2]=d,c[k>>2]|0);a[b>>0]=e>>>24;a[b+1>>0]=e>>>16;a[b+2>>0]=e>>>8;a[b+3>>0]=e;return}function ub(b,c){b=b|0;c=c|0;var d=0;d=c+4|0;a[d+-1>>0]=a[b>>0]|0;a[d+-2>>0]=a[b+1>>0]|0;a[d+-3>>0]=a[b+2>>0]|0;a[c>>0]=a[b+3>>0]|0;return}function vb(a,b){a=a|0;b=b|0;var d=0,e=0;e=Qc(1,72)|0;if(!e){b=0;return b|0}c[e+64>>2]=a;a=Pc(a)|0;c[e+32>>2]=a;if(!a){Uc(e);b=0;return b|0}c[e+36>>2]=a;a=e+68|0;d=c[a>>2]|0;if(!b){c[a>>2]=d|1;c[e+40>>2]=31;c[e+44>>2]=32}else{c[a>>2]=d|2;c[e+40>>2]=29;c[e+44>>2]=30}c[e+16>>2]=4;c[e+20>>2]=5;c[e+24>>2]=6;c[e+28>>2]=7;b=e;return b|0}function wb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;m=n;f=a+48|0;g=c[f>>2]|0;if(g>>>0>=b>>>0){m=a+36|0;c[m>>2]=(c[m>>2]|0)+b;c[f>>2]=g-b;m=a+56|0;a=m;a=Si(c[a>>2]|0,c[a+4>>2]|0,b|0,d|0)|0;c[m>>2]=a;c[m+4>>2]=C;m=d;a=b;C=m;i=n;return a|0}l=a+68|0;if(c[l>>2]&4){m=a+36|0;c[m>>2]=(c[m>>2]|0)+g;c[f>>2]=0;a=a+56|0;m=a;m=Si(c[m>>2]|0,c[m+4>>2]|0,g|0,0)|0;c[a>>2]=m;c[a+4>>2]=C;a=(g|0)!=0;m=a?0:-1;a=a?g:-1;C=m;i=n;return a|0}if(!g){g=0;f=0}else{c[a+36>>2]=c[a+32>>2];b=Oi(b|0,d|0,g|0,0)|0;c[f>>2]=0;f=0;d=C}a:do{if((d|0)>0|(d|0)==0&b>>>0>0){k=a+24|0;while(1){h=Ra[c[k>>2]&63](b,d,c[a>>2]|0)|0;j=C;if((h|0)==-1&(j|0)==-1)break;b=Oi(b|0,d|0,h|0,j|0)|0;d=C;g=Si(h|0,j|0,g|0,f|0)|0;f=C;if(!((d|0)>0|(d|0)==0&b>>>0>0))break a}Ub(e,4,4636,m)|0;c[l>>2]=c[l>>2]|4;a=a+56|0;m=a;m=Si(c[m>>2]|0,c[m+4>>2]|0,g|0,f|0)|0;c[a>>2]=m;c[a+4>>2]=C;a=(g|0)!=0|(f|0)!=0;m=a?f:-1;a=a?g:-1;C=m;i=n;return a|0}}while(0);m=a+56|0;a=m;a=Si(c[a>>2]|0,c[a+4>>2]|0,g|0,f|0)|0;c[m>>2]=a;c[m+4>>2]=C;m=f;a=g;C=m;i=n;return a|0}function xb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;c[a+36>>2]=c[a+32>>2];c[a+48>>2]=0;g=(Ra[c[a+28>>2]&63](b,d,c[a>>2]|0)|0)==0;e=a+68|0;f=c[e>>2]|0;if(g){c[e>>2]=f|4;g=0;return g|0}else{c[e>>2]=f&-5;g=a+56|0;c[g>>2]=b;c[g+4>>2]=d;g=1;return g|0}return 0}function yb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;q=r+8|0;m=r;p=a+68|0;if(c[p>>2]&8){q=-1;a=-1;C=q;i=r;return a|0}k=a+32|0;f=c[k>>2]|0;o=a+36|0;c[o>>2]=f;l=a+48|0;g=c[l>>2]|0;do{if(g){j=a+20|0;while(1){h=Ra[c[j>>2]&63](f,g,c[a>>2]|0)|0;if((h|0)==-1)break;f=(c[o>>2]|0)+h|0;c[o>>2]=f;s=c[l>>2]|0;g=s-h|0;c[l>>2]=g;if((s|0)==(h|0)){n=6;break}}if((n|0)==6){f=c[k>>2]|0;break}c[p>>2]=c[p>>2]|8;Ub(e,4,4662,m)|0;c[p>>2]=c[p>>2]|8;c[l>>2]=0;a=-1;s=-1;C=a;i=r;return s|0}}while(0);c[o>>2]=f;a:do{if((d|0)>0|(d|0)==0&b>>>0>0){k=a+24|0;g=0;f=0;while(1){h=Ra[c[k>>2]&63](b,d,c[a>>2]|0)|0;j=C;if((h|0)==-1&(j|0)==-1)break;b=Oi(b|0,d|0,h|0,j|0)|0;d=C;g=Si(h|0,j|0,g|0,f|0)|0;f=C;if(!((d|0)>0|(d|0)==0&b>>>0>0))break a}Ub(e,4,4688,q)|0;c[p>>2]=c[p>>2]|8;s=a+56|0;a=s;a=Si(c[a>>2]|0,c[a+4>>2]|0,g|0,f|0)|0;c[s>>2]=a;c[s+4>>2]=C;s=(g|0)!=0|(f|0)!=0;a=s?f:-1;s=s?g:-1;C=a;i=r;return s|0}else{g=0;f=0}}while(0);a=a+56|0;s=a;s=Si(c[s>>2]|0,c[s+4>>2]|0,g|0,f|0)|0;c[a>>2]=s;c[a+4>>2]=C;a=f;s=g;C=a;i=r;return s|0}function zb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+16|0;k=p;m=a+32|0;f=c[m>>2]|0;n=a+36|0;c[n>>2]=f;o=a+48|0;g=c[o>>2]|0;do{if(!g)g=a;else{j=a+20|0;while(1){h=Ra[c[j>>2]&63](f,g,c[a>>2]|0)|0;if((h|0)==-1)break;f=(c[n>>2]|0)+h|0;c[n>>2]=f;q=c[o>>2]|0;g=q-h|0;c[o>>2]=g;if((q|0)==(h|0)){l=6;break}}if((l|0)==6){g=a;f=c[m>>2]|0;break}q=a+68|0;c[q>>2]=c[q>>2]|8;Ub(e,4,4662,k)|0;c[q>>2]=c[q>>2]|8;q=0;i=p;return q|0}}while(0);c[n>>2]=f;c[o>>2]=0;if(!(Ra[c[a+28>>2]&63](b,d,c[g>>2]|0)|0)){q=a+68|0;c[q>>2]=c[q>>2]|8;q=0;i=p;return q|0}else{q=a+56|0;c[q>>2]=b;c[q+4>>2]=d;q=1;i=p;return q|0}return 0}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;return-1}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;return-1}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;C=-1;return-1}function Db(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Eb(a){a=a|0;var b=0,d=0,e=0;e=Qc(1,72)|0;if(!e){a=0;return a|0}c[e+64>>2]=1048576;b=Pc(1048576)|0;c[e+32>>2]=b;if(!b){Uc(e);a=0;return a|0}c[e+36>>2]=b;b=e+68|0;d=c[b>>2]|0;if(!a){c[b>>2]=d|1;c[e+40>>2]=31;c[e+44>>2]=32}else{c[b>>2]=d|2;c[e+40>>2]=29;c[e+44>>2]=30}c[e+16>>2]=4;c[e+20>>2]=5;c[e+24>>2]=6;c[e+28>>2]=7;a=e;return a|0}function Fb(a){a=a|0;var b=0;if(!a)return;b=c[a+4>>2]|0;if(b)Ta[b&7](c[a>>2]|0);b=a+32|0;Uc(c[b>>2]|0);c[b>>2]=0;Uc(a);return}function Gb(a,b){a=a|0;b=b|0;if(!a)return;if(!(c[a+68>>2]&2))return;c[a+16>>2]=b;return}function Hb(a,b){a=a|0;b=b|0;if(!a)return;c[a+28>>2]=b;return}function Ib(a,b){a=a|0;b=b|0;if(!a)return;if(!(c[a+68>>2]&1))return;c[a+20>>2]=b;return}function Jb(a,b){a=a|0;b=b|0;if(!a)return;c[a+24>>2]=b;return}function Kb(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;c[a>>2]=b;c[a+4>>2]=d;return}function Lb(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;a=a+8|0;c[a>>2]=b;c[a+4>>2]=d;return}function Mb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+16|0;s=w+8|0;r=w;v=a+48|0;f=c[v>>2]|0;if(f>>>0>=d>>>0){u=a+36|0;Ui(b|0,c[u>>2]|0,d|0)|0;c[u>>2]=(c[u>>2]|0)+d;c[v>>2]=(c[v>>2]|0)-d;v=a+56|0;u=v;u=Si(c[u>>2]|0,c[u+4>>2]|0,d|0,0)|0;c[v>>2]=u;c[v+4>>2]=C;v=d;i=w;return v|0}t=a+68|0;if(c[t>>2]&4){u=a+36|0;Ui(b|0,c[u>>2]|0,f|0)|0;e=c[v>>2]|0;c[u>>2]=(c[u>>2]|0)+e;u=a+56|0;t=u;e=Si(c[t>>2]|0,c[t+4>>2]|0,e|0,0)|0;c[u>>2]=e;c[u+4>>2]=C;c[v>>2]=0;v=(f|0)!=0?f:-1;i=w;return v|0}if(!f){o=a+32|0;g=c[o>>2]|0;p=a+36|0;c[p>>2]=g;q=p;u=a+56|0;f=0}else{p=a+36|0;Ui(b|0,c[p>>2]|0,f|0)|0;o=a+32|0;g=c[o>>2]|0;c[p>>2]=g;q=c[v>>2]|0;u=a+56|0;m=u;m=Si(c[m>>2]|0,c[m+4>>2]|0,q|0,0)|0;n=u;c[n>>2]=m;c[n+4>>2]=C;c[v>>2]=0;d=d-q|0;b=b+q|0;q=p}m=a+64|0;n=a+16|0;l=b;h=g;while(1){b=c[m>>2]|0;g=c[n>>2]|0;if(d>>>0>>0){g=Ra[g&63](h,b,c[a>>2]|0)|0;c[v>>2]=g;if((g|0)==-1){g=11;break}if(g>>>0>=d>>>0){b=l;g=14;break}Ui(l|0,c[q>>2]|0,g|0)|0;h=c[o>>2]|0;c[p>>2]=h;b=c[v>>2]|0;j=u;j=Si(c[j>>2]|0,c[j+4>>2]|0,b|0,0)|0;k=C;f=g+f|0}else{b=Ra[g&63](l,d,c[a>>2]|0)|0;c[v>>2]=b;if((b|0)==-1){g=16;break}f=b+f|0;if(b>>>0>=d>>>0){g=20;break}h=c[o>>2]|0;c[p>>2]=h;j=u;j=Si(c[j>>2]|0,c[j+4>>2]|0,b|0,0)|0;k=C}g=u;c[g>>2]=j;c[g+4>>2]=k;c[v>>2]=0;d=d-b|0;l=l+b|0}if((g|0)==11){Ub(e,4,4636,r)|0;c[v>>2]=0;c[t>>2]=c[t>>2]|4;v=(f|0)!=0?f:-1;i=w;return v|0}else if((g|0)==14){Ui(b|0,c[q>>2]|0,d|0)|0;c[q>>2]=(c[q>>2]|0)+d;c[v>>2]=(c[v>>2]|0)-d;e=u;e=Si(c[e>>2]|0,c[e+4>>2]|0,d|0,0)|0;v=u;c[v>>2]=e;c[v+4>>2]=C;v=f+d|0;i=w;return v|0}else if((g|0)==16){Ub(e,4,4636,s)|0;c[v>>2]=0;c[t>>2]=c[t>>2]|4;v=(f|0)!=0?f:-1;i=w;return v|0}else if((g|0)==20){e=u;e=Si(c[e>>2]|0,c[e+4>>2]|0,b|0,0)|0;c[u>>2]=e;c[u+4>>2]=C;c[p>>2]=c[o>>2];c[v>>2]=0;v=f;i=w;return v|0}return 0}function Nb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;r=u;n=a+68|0;if(c[n>>2]&8){t=-1;i=u;return t|0}q=a+64|0;f=c[q>>2]|0;t=a+48|0;k=c[t>>2]|0;g=f-k|0;do{if(g>>>0>>0){o=a+32|0;h=a+36|0;p=a+20|0;j=a+56|0;l=f;m=g;f=0;a:while(1){if((l|0)==(k|0))g=c[o>>2]|0;else{Ui(c[h>>2]|0,b|0,m|0)|0;g=c[o>>2]|0;c[h>>2]=g;k=(c[t>>2]|0)+m|0;c[t>>2]=k;v=j;v=Si(c[v>>2]|0,c[v+4>>2]|0,m|0,0)|0;l=j;c[l>>2]=v;c[l+4>>2]=C;d=d-m|0;b=b+m|0;f=m+f|0}c[h>>2]=g;if(!k)k=0;else{do{l=Ra[c[p>>2]&63](g,k,c[a>>2]|0)|0;if((l|0)==-1)break a;g=(c[h>>2]|0)+l|0;c[h>>2]=g;v=c[t>>2]|0;k=v-l|0;c[t>>2]=k}while((v|0)!=(l|0));g=c[o>>2]|0}c[h>>2]=g;l=c[q>>2]|0;m=l-k|0;if(d>>>0<=m>>>0){s=5;break}}if((s|0)==5)break;c[n>>2]=c[n>>2]|8;Ub(e,4,4662,r)|0;v=-1;i=u;return v|0}else{g=a+36|0;j=a+56|0;h=g;g=c[g>>2]|0;f=0}}while(0);Ui(g|0,b|0,d|0)|0;c[h>>2]=(c[h>>2]|0)+d;c[t>>2]=(c[t>>2]|0)+d;t=j;t=Si(c[t>>2]|0,c[t+4>>2]|0,d|0,0)|0;v=j;c[v>>2]=t;c[v+4>>2]=C;v=f+d|0;i=u;return v|0}function Ob(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+16|0;k=n;g=a+32|0;d=c[g>>2]|0;m=a+36|0;c[m>>2]=d;h=a+48|0;e=c[h>>2]|0;do{if(e){j=a+20|0;while(1){f=Ra[c[j>>2]&63](d,e,c[a>>2]|0)|0;if((f|0)==-1)break;d=(c[m>>2]|0)+f|0;c[m>>2]=d;o=c[h>>2]|0;e=o-f|0;c[h>>2]=e;if((o|0)==(f|0)){l=6;break}}if((l|0)==6){d=c[g>>2]|0;break}o=a+68|0;c[o>>2]=c[o>>2]|8;Ub(b,4,4662,k)|0;o=0;i=n;return o|0}}while(0);c[m>>2]=d;o=1;i=n;return o|0}function Pb(a){a=a|0;a=a+56|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Qb(a){a=a|0;var b=0,d=0;d=a+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0;if((b|0)==0&(d|0)==0){d=0;a=0;C=d;return a|0}a=a+56|0;a=Oi(b|0,d|0,c[a>>2]|0,c[a+4>>2]|0)|0;d=C;C=d;return a|0}function Rb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=Za[c[a+40>>2]&63](a,b,d,e)|0;return a|0}function Sb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return Za[c[a+44>>2]&63](a,b,d,e)|0}function Tb(a){a=a|0;return(c[a+28>>2]|0)!=7|0}function Ub(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+528|0;g=j;h=j+16|0;a:do{if(a){switch(b|0){case 1:{b=a;f=a+12|0;break}case 2:{b=a+4|0;f=a+16|0;break}case 4:{b=a+8|0;f=a+20|0;break}default:{b=0;break a}}a=c[b>>2]|0;b=c[f>>2]|0;if(b)if(!d)b=1;else{Qi(h|0,0,512)|0;c[g>>2]=e;pi(h,512,d,g)|0;Ua[b&7](h,a);b=1}else b=0}else b=0}while(0);i=j;return b|0}function Vb(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=4;c[a+20>>2]=4;c[a+16>>2]=4;return}function Wb(a,b){a=a|0;b=b|0;return}function Xb(){return Qc(1,36)|0}function Yb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Qc(1,36)|0;if(!e){i=e;return i|0}c[e+20>>2]=d;h=e+16|0;c[h>>2]=a;d=Qc(1,a*52|0)|0;i=e+24|0;c[i>>2]=d;if(!d){d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);i=0;return i|0}if(!a){i=e;return i|0}f=0;while(1){c[d+(f*52|0)>>2]=c[b+(f*36|0)>>2];c[d+(f*52|0)+4>>2]=c[b+(f*36|0)+4>>2];j=c[b+(f*36|0)+8>>2]|0;c[d+(f*52|0)+8>>2]=j;k=c[b+(f*36|0)+12>>2]|0;c[d+(f*52|0)+12>>2]=k;c[d+(f*52|0)+16>>2]=c[b+(f*36|0)+16>>2];c[d+(f*52|0)+20>>2]=c[b+(f*36|0)+20>>2];c[d+(f*52|0)+24>>2]=c[b+(f*36|0)+24>>2];c[d+(f*52|0)+28>>2]=c[b+(f*36|0)+28>>2];c[d+(f*52|0)+32>>2]=c[b+(f*36|0)+32>>2];j=Qc(_(k,j)|0,4)|0;c[d+(f*52|0)+44>>2]=j;f=f+1|0;if(!j)break;if(f>>>0>=a>>>0){g=22;break}d=c[i>>2]|0}if((g|0)==22)return e|0;d=c[i>>2]|0;if(d){f=c[h>>2]|0;if(f){b=0;while(1){d=c[d+(b*52|0)+44>>2]|0;if(d){Uc(d);f=c[h>>2]|0}b=b+1|0;if(b>>>0>=f>>>0)break;d=c[i>>2]|0}d=c[i>>2]|0}Uc(d)}d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);k=0;return k|0}function Zb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)return;f=a+24|0;b=c[f>>2]|0;if(b){g=a+16|0;d=c[g>>2]|0;if(d){e=0;while(1){b=c[b+(e*52|0)+44>>2]|0;if(b){Uc(b);d=c[g>>2]|0}e=e+1|0;if(e>>>0>=d>>>0)break;b=c[f>>2]|0}b=c[f>>2]|0}Uc(b)}b=c[a+28>>2]|0;if(b)Uc(b);Uc(a);return}function _b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=c[b+4>>2]|0;e=c[a>>2]|0;g=c[b+8>>2]|0;h=c[a+4>>2]|0;f=c[b+12>>2]|0;l=(_((c[b+24>>2]|0)+-1|0,f)|0)+d|0;i=c[b+16>>2]|0;j=(_((c[b+28>>2]|0)+-1|0,i)|0)+g|0;b=Si(l|0,0,f|0,0)|0;b=b|0-C;f=c[a+8>>2]|0;i=Si(j|0,0,i|0,0)|0;i=i|0-C;j=c[a+12>>2]|0;l=c[a+16>>2]|0;if(!l)return;k=(d>>>0>e>>>0?d:e)+-1|0;g=(g>>>0>h>>>0?g:h)+-1|0;f=(b>>>0>>0?b:f)+-1|0;d=(i>>>0>>0?i:j)+-1|0;e=0;b=c[a+24>>2]|0;while(1){h=c[b>>2]|0;j=((k+h|0)>>>0)/(h>>>0)|0;o=c[b+4>>2]|0;a=((g+o|0)>>>0)/(o>>>0)|0;i=c[b+40>>2]|0;n=Ri(1,0,i|0)|0;m=C;h=Si((((f+h|0)>>>0)/(h>>>0)|0)-j|0,0,-1,-1)|0;h=Si(h|0,C|0,n|0,m|0)|0;h=Ti(h|0,C|0,i|0)|0;o=Si((((d+o|0)>>>0)/(o>>>0)|0)-a|0,0,-1,-1)|0;m=Si(o|0,C|0,n|0,m|0)|0;i=Ti(m|0,C|0,i|0)|0;c[b+8>>2]=h;c[b+12>>2]=i;c[b+16>>2]=j;c[b+20>>2]=a;e=e+1|0;if(e>>>0>=l>>>0)break;else b=b+52|0}return}function $b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];j=b+24|0;e=c[j>>2]|0;i=b+16|0;if(!e)d=j;else{d=c[i>>2]|0;if(!d)d=j;else{f=0;while(1){e=c[e+(f*52|0)+44>>2]|0;if(e){Uc(e);d=c[i>>2]|0}f=f+1|0;if(f>>>0>=d>>>0)break;e=c[j>>2]|0}d=j;e=c[j>>2]|0}Uc(e);c[j>>2]=0}e=c[a+16>>2]|0;c[i>>2]=e;e=Pc(e*52|0)|0;c[d>>2]=e;if(!e){c[j>>2]=0;c[i>>2]=0;return}if(c[i>>2]|0){h=a+24|0;g=0;do{d=e+(g*52|0)|0;e=(c[h>>2]|0)+(g*52|0)|0;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=c[j>>2]|0;c[e+(g*52|0)+44>>2]=0;g=g+1|0}while(g>>>0<(c[i>>2]|0)>>>0)}c[b+20>>2]=c[a+20>>2];f=a+32|0;d=c[f>>2]|0;g=b+32|0;c[g>>2]=d;if(!d){c[b+28>>2]=0;return}e=Pc(d)|0;d=b+28|0;c[d>>2]=e;if(!e){c[d>>2]=0;c[g>>2]=0;return}else{Ui(e|0,c[a+28>>2]|0,c[f>>2]|0)|0;return}}function ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Qc(1,36)|0;if(!e){a=e;return a|0}c[e+20>>2]=d;c[e+16>>2]=a;d=Qc(a,52)|0;c[e+24>>2]=d;if(!d){d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);a=0;return a|0}else{if(!a){a=e;return a|0}else f=0;do{c[d+(f*52|0)>>2]=c[b+(f*36|0)>>2];c[d+(f*52|0)+4>>2]=c[b+(f*36|0)+4>>2];c[d+(f*52|0)+8>>2]=c[b+(f*36|0)+8>>2];c[d+(f*52|0)+12>>2]=c[b+(f*36|0)+12>>2];c[d+(f*52|0)+16>>2]=c[b+(f*36|0)+16>>2];c[d+(f*52|0)+20>>2]=c[b+(f*36|0)+20>>2];c[d+(f*52|0)+24>>2]=c[b+(f*36|0)+24>>2];c[d+(f*52|0)+32>>2]=c[b+(f*36|0)+32>>2];c[d+(f*52|0)+44>>2]=0;f=f+1|0}while((f|0)!=(a|0));return e|0}return 0}function bc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+64>>2]=b;c[a+52>>2]=d;d=1;return d|0}function cc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+60>>2]=b;c[a+48>>2]=d;d=1;return d|0}function dc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+56>>2]=b;c[a+44>>2]=d;d=1;return d|0}function ec(a,b){a=a|0;b=b|0;var d=0;if(!a){a=0;return a|0}d=Eb(b)|0;if(!d){a=0;return a|0}Kb(d,a,0);Lb(d,c[a+8>>2]|0,0);if(!b)Ib(d,9);else Gb(d,8);Jb(d,1);Hb(d,10);a=d;return a|0}function fc(){return 4703}function gc(a){a=a|0;var b=0;b=Qc(1,84)|0;if(!b){a=0;return a|0}c[b+68>>2]=1;switch(a|0){case 0:{c[b+72>>2]=13;c[b+76>>2]=2;c[b+80>>2]=3;c[b+4>>2]=33;c[b+16>>2]=11;c[b>>2]=34;c[b+20>>2]=1;c[b+24>>2]=5;c[b+8>>2]=1;c[b+12>>2]=1;c[b+28>>2]=1;c[b+32>>2]=1;c[b+36>>2]=12;a=fd()|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}case 2:{c[b+72>>2]=14;c[b+76>>2]=4;c[b+80>>2]=5;c[b+4>>2]=35;c[b+16>>2]=13;c[b>>2]=36;c[b+8>>2]=2;c[b+12>>2]=2;c[b+20>>2]=2;c[b+24>>2]=6;c[b+28>>2]=2;c[b+32>>2]=2;c[b+36>>2]=14;a=Ye(1)|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}default:{Uc(b);a=0;return a|0}}Vb(b+44|0);a=b;return a|0}function hc(a){a=a|0;if(!a)return;Qi(a|0,0,8248)|0;c[a+8200>>2]=-1;c[a+8204>>2]=-1;c[a+8248>>2]=0;return}function ic(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;if(!((a|0)!=0&(b|0)!=0)){b=0;i=d;return b|0}if(!(c[a+68>>2]|0)){Ub(a+44|0,1,4709,d)|0;b=0;i=d;return b|0}else{Ua[c[a+24>>2]&7](c[a+40>>2]|0,b);b=1;i=d;return b|0}return 0}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;if(!((a|0)!=0&(b|0)!=0)){a=0;i=e;return a|0}if(!(c[b+68>>2]|0)){Ub(b+44|0,1,4790,e)|0;a=0;i=e;return a|0}else{a=Za[c[b>>2]&63](a,c[b+40>>2]|0,d,b+44|0)|0;i=e;return a|0}return 0}function kc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Za[c[a+4>>2]&63](c[a+40>>2]|0,b,d,a+44|0)|0;return b|0}function lc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(!a){e=0;return e|0}if(!(c[a+68>>2]|0)){e=0;return e|0}e=Qa[c[a+28>>2]&3](c[a+40>>2]|0,b,d,e,f,g,a+44|0)|0;return e|0}function mc(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;if(!((d|0)!=0&((a|0)!=0&(b|0)!=0&(e|0)!=0))){i=0;return i|0}if(!(c[a+68>>2]|0)){i=0;return i|0}i=Ya[c[a+8>>2]&3](c[a+40>>2]|0,d,e,f,g,h,i,j,k,b,a+44|0)|0;return i|0}function nc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!((a|0)!=0&(d|0)!=0&(f|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Va[c[a+12>>2]&7](c[a+40>>2]|0,b,d,e,f,a+44|0)|0;return b|0}function oc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(!((a|0)!=0&(b|0)!=0)){e=0;return e|0}if(!(c[a+68>>2]|0)){e=0;return e|0}e=$a[c[a+32>>2]&3](c[a+40>>2]|0,b,d,a+44|0,e)|0;return e|0}function pc(a,b){a=a|0;b=b|0;if(!a){b=0;return b|0}b=Ra[c[a+36>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function qc(a){a=a|0;var b=0;b=Qc(1,84)|0;if(!b){a=0;return a|0}c[b+68>>2]=0;switch(a|0){case 0:{c[b+4>>2]=15;c[b+12>>2]=16;c[b>>2]=37;c[b+8>>2]=3;c[b+16>>2]=1;c[b+20>>2]=38;a=Xc()|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}case 2:{c[b+4>>2]=17;c[b+12>>2]=18;c[b>>2]=39;c[b+8>>2]=4;c[b+16>>2]=2;c[b+20>>2]=40;a=Ye(0)|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}default:{Uc(b);a=0;return a|0}}Vb(b+44|0);a=b;return a|0}function rc(b){b=b|0;if(!b)return;Qi(b|0,0,18708)|0;c[b+5592>>2]=6;c[b+18684>>2]=0;c[b+5596>>2]=64;c[b+5600>>2]=64;c[b+44>>2]=0;c[b+5612>>2]=-1;c[b+18188>>2]=1;c[b+18192>>2]=1;a[b+18688>>0]=0;c[b+18196>>2]=-1;c[b+18200>>2]=-1;g[b+4792>>2]=0.0;c[b+4788>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+18692>>2]=0;return}function sc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(b|0)!=0&(d|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Za[c[a+20>>2]&63](c[a+40>>2]|0,b,d,a+44|0)|0;return b|0}function tc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(d|0)!=0)){d=0;return d|0}if(c[a+68>>2]|0){d=0;return d|0}d=Za[c[a>>2]&63](c[a+40>>2]|0,d,b,a+44|0)|0;return d|0}function uc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Ra[c[a+4>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function vc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Ra[c[a+12>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function wc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Ra[c[a+16>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function xc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;k=h<<2;i=_(k,h)|0;j=d+18704|0;h=e[j>>1]|0;b[j>>1]=(h&32768|0)==0?-32512:(h|256)&65535;c[d+5608>>2]=1;a[d+18690>>0]=2;j=Pc(i+k|0)|0;h=d+18696|0;c[h>>2]=j;if(!j){g=0;return g|0}Ui(j|0,f|0,i|0)|0;Ui((c[h>>2]|0)+i|0,g|0,k|0)|0;g=1;return g|0}function yc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!((d|0)!=0&((a|0)!=0&(f|0)!=0))){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Va[c[a+8>>2]&7](c[a+40>>2]|0,b,d,e,f,a+44|0)|0;return b|0}function zc(a){a=a|0;var b=0,d=0;if(!a)return;b=a+40|0;d=c[b>>2]|0;if(!(c[a+68>>2]|0))Ta[c[a+16>>2]&7](d);else Ta[c[a+20>>2]&7](d);c[b>>2]=0;Uc(a);return}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;Xa[c[a+72>>2]&15](c[a+40>>2]|0,b,d);return}function Bc(a){a=a|0;if(!a){a=0;return a|0}a=Wa[c[a+76>>2]&15](c[a+40>>2]|0)|0;return a|0}function Cc(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a>>2]|0;d=c[b+48>>2]|0;if(d){Uc(d);b=c[a>>2]|0}Uc(b);c[a>>2]=0;return}function Dc(a){a=a|0;if(!a){a=0;return a|0}a=Wa[c[a+80>>2]&15](c[a+40>>2]|0)|0;return a|0}function Ec(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;bd(b);c[a>>2]=0;return}function Fc(a,b){a=a|0;b=b|0;return Gc(a,1048576,b)|0}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!a){b=0;return b|0}d=_h(a,(c|0)==0?4869:4872)|0;if(!d){b=0;return b|0}a=vb(b,c)|0;if(!a){Yh(d)|0;b=0;return b|0}else{Kb(a,d,6);fi(d,0,2)|0;b=ii(d)|0;fi(d,0,0)|0;Lb(a,b,((b|0)<0)<<31>>31);Gb(a,19);Ib(a,20);Jb(a,21);Hb(a,22);b=a;return b|0}return 0}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[d>>2]|0)+(c[d+8>>2]|0)|0;d=d+4|0;e=c[d>>2]|0;f=g-e|0;if((g|0)==(e|0)){g=-1;return g|0}g=f>>>0>b>>>0?b:f;Ui(a|0,e|0,g|0)|0;c[d>>2]=(c[d>>2]|0)+g;return g|0}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+4|0;e=c[k>>2]|0;i=d+8|0;g=c[i>>2]|0;j=e-(c[d>>2]|0)|0;f=(g|0)==0?1:g;while(1)if((f-j|0)>>>0>>0)f=f<<1;else{h=f;break}if((h|0)!=(g|0)){e=Pc(h)|0;if(!e){b=-1;return b|0}f=c[d>>2]|0;if(f){Ui(e|0,f|0,j|0)|0;Uc(c[d>>2]|0)}c[d>>2]=e;e=e+j|0;c[k>>2]=e;c[i>>2]=h}Ui(e|0,a|0,b|0)|0;c[k>>2]=(c[k>>2]|0)+b;return b|0}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=(c[b>>2]|0)+(c[b+8>>2]|0)|0;b=b+4|0;d=c[b>>2]|0;e=f-d|0;if((f|0)==(d|0)){f=-1;return f|0}c[b>>2]=d+a;f=e>>>0>a>>>0?a:e;return f|0}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[d+8>>2]|0;c[d+4>>2]=(c[d>>2]|0)+(0>(b|0)|0==(b|0)&e>>>0>a>>>0?a:e);return 1}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;b=ci(a,1,b,c)|0;return((b|0)!=0?b:-1)|0}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;return ki(a,1,b,c)|0}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;c=(fi(c,a,1)|0)==0;C=c?b:-1;return(c?a:-1)|0}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;return(fi(c,a,0)|0)==0|0}function Pc(a){a=a|0;if(!a)a=0;else a=Fi(a)|0;return a|0}function Qc(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Hi(a,b)|0;return a|0}function Rc(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;do{if(a)if(!(Ji(b,16,a)|0)){b=c[b>>2]|0;break}else{c[b>>2]=0;b=0;break}else b=0}while(0);i=d;return b|0}function Sc(a){a=a|0;Gi(a);return}function Tc(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Ii(a,b)|0;return b|0}function Uc(a){a=a|0;Gi(a);return}function Vc(a){a=a|0;var b=0,d=0;b=696;while(1){d=c[b>>2]|0;if((d|0)==-1|(d|0)==(a|0))break;else b=b+12|0}return b+4|0}function Wc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0))return;c[a+172>>2]=c[b+4>>2];c[a+168>>2]=c[b>>2];return}function Xc(){var b=0,d=0;b=Qc(1,208)|0;if(!b){b=0;return b|0}c[b>>2]=0;d=b+184|0;a[d>>0]=a[d>>0]&-3;d=Pc(1e3)|0;c[b+44>>2]=d;if(!d){Yc(b);d=0;return d|0}c[b+48>>2]=1e3;d=qg()|0;c[b+192>>2]=d;if(!d){Yc(b);d=0;return d|0}d=qg()|0;c[b+188>>2]=d;if(d){d=b;return d|0}Yc(b);d=0;return d|0}function Yc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!b)return;if(!(c[b>>2]|0)){d=b+36|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0}d=b+24|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+28>>2]=0}d=b+44|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+48>>2]=0}}else{d=b+12|0;e=c[d>>2]|0;if(e){sd(e);Uc(c[d>>2]|0);c[d>>2]=0}d=b+16|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+20>>2]=0}}Yf(c[b+204>>2]|0);d=b+88|0;h=b+164|0;e=c[h>>2]|0;if(e){f=_(c[b+112>>2]|0,c[b+116>>2]|0)|0;if(f){g=0;while(1){sd(e);g=g+1|0;if((g|0)==(f|0))break;else e=e+5640|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=b+124|0;e=c[h>>2]|0;if(e){i=b+120|0;f=c[i>>2]|0;if(f){g=0;while(1){e=c[e+(g<<3)>>2]|0;if(e){Uc(e);f=c[i>>2]|0}g=g+1|0;if(g>>>0>=f>>>0)break;e=c[h>>2]|0}e=c[h>>2]|0}c[i>>2]=0;Uc(e);c[h>>2]=0}i=b+144|0;Uc(c[i>>2]|0);c[i>>2]=0;c[b+128>>2]=0;i=b+108|0;Uc(c[i>>2]|0);c[i>>2]=0;if(!(a[b+184>>0]&2)){i=b+176|0;Uc(c[i>>2]|0);c[i>>2]=0}e=d+100|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i=b+188|0;rg(c[i>>2]|0);c[i>>2]=0;rg(c[b+192>>2]|0);c[i>>2]=0;i=b+196|0;bd(c[i>>2]|0);c[i>>2]=0;i=b+80|0;Zb(c[i>>2]|0);c[i>>2]=0;i=b+84|0;Zb(c[i>>2]|0);c[i>>2]=0;Uc(b);return}function Zc(d,e,f,j){d=d|0;e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0.0;ka=i;i=i+320|0;fa=ka+296|0;ea=ka+288|0;ja=ka+280|0;ia=ka+272|0;ha=ka+264|0;ga=ka+256|0;da=ka+248|0;ca=ka+240|0;W=ka+232|0;U=ka+224|0;T=ka+216|0;S=ka+208|0;R=ka+200|0;Q=ka+192|0;P=ka+184|0;v=ka+176|0;u=ka+168|0;t=ka+160|0;s=ka+152|0;q=ka+144|0;I=ka+136|0;H=ka+128|0;N=ka+112|0;G=ka+104|0;F=ka+96|0;E=ka+88|0;C=ka+80|0;B=ka+72|0;A=ka+64|0;z=ka+56|0;y=ka+48|0;x=ka+32|0;w=ka+24|0;p=ka+16|0;m=ka+8|0;l=ka;K=ka+309|0;L=ka+300|0;if(!((d|0)!=0&(e|0)!=0&(f|0)!=0)){j=0;i=ka;return j|0}ba=e+5592|0;k=c[ba>>2]|0;if((k+-1|0)>>>0>32){c[l>>2]=k;c[l+4>>2]=33;Ub(j,1,4875,l)|0;j=0;i=ka;return j|0}$=d+112|0;c[$>>2]=1;aa=d+116|0;c[aa>>2]=1;J=e+18704|0;do{if(!(b[J>>1]|0)){switch(c[e+18676>>2]|0){case 1:{b[J>>1]=3;c[e+18700>>2]=1302083;c[e+18680>>2]=1041666;l=1;break}case 2:{b[J>>1]=3;c[e+18700>>2]=651041;c[e+18680>>2]=520833;l=1;break}case 3:{b[J>>1]=4;c[e+18700>>2]=1302083;c[e+18680>>2]=1041666;l=1;break}default:l=0}k=c[e+18684>>2]|0;a:do{if((k|0)>=4)if((k|0)<33024){switch(k|0){case 4:break;default:{Z=13;break a}}b[J>>1]=4;break}else{switch(k|0){case 33024:break;default:{Z=13;break a}}b[J>>1]=-32512;break}else{switch(k|0){case 3:break;default:{Z=13;break a}}b[J>>1]=3}}while(0);if((Z|0)==13?(l|0)==0:0)break;Ub(j,2,4931,m)|0}}while(0);D=e+18700|0;k=c[D>>2]|0;do{if((k|0)<1){r=+g[e+4792+((c[e+4788>>2]|0)+-1<<2)>>2];if(r>0.0){X=c[f+24>>2]|0;p=_(c[X+8>>2]|0,c[f+16>>2]|0)|0;p=_(p,c[X+12>>2]|0)|0;la=+((_(p,c[X+24>>2]|0)|0)>>>0);c[D>>2]=~~+M(+(la/(r*8.0*+((c[X>>2]|0)>>>0)*+((c[X+4>>2]|0)>>>0))));break}else{c[D>>2]=0;break}}else{o=c[f+24>>2]|0;X=_(c[o+8>>2]|0,c[f+16>>2]|0)|0;X=_(X,c[o+12>>2]|0)|0;r=+((_(X,c[o+24>>2]|0)|0)>>>0);k=_(k<<3,c[o>>2]|0)|0;r=r/+((_(k,c[o+4>>2]|0)|0)>>>0);o=e+4788|0;k=c[o>>2]|0;if(k){m=k;k=0;n=0;while(1){l=e+4792+(n<<2)|0;if(+g[l>>2]>2]=r;l=c[o>>2]|0;k=1}else l=m;n=n+1|0;if(n>>>0>=l>>>0)break;else m=l}if(k)Ub(j,2,5068,p)|0}}}while(0);k=b[J>>1]|0;b:do{if((k+-3&65535)>=4){if(k<<16>>16==7){Ub(j,2,7228,q)|0;b[J>>1]=0;k=0;break}if((k+-256&65535)<524){Ub(j,2,7283,s)|0;b[J>>1]=0;k=0;break}if((k+-1024&65535)<1180){Ub(j,2,7331,t)|0;b[J>>1]=0;k=0;break}if(k<<16>>16<=-1)switch(k<<16>>16){case-32512:{k=-32512;break b}case-32768:{Ub(j,2,7373,u)|0;b[J>>1]=0;k=0;break b}default:{Ub(j,2,7461,v)|0;b[J>>1]=0;k=0;break b}}}else{if((k+-5&65535)<2){Ub(j,2,5160,w)|0;b[J>>1]=0;k=0;break}c[e>>2]=0;c[e+12>>2]=1;c[e+16>>2]=1;a[e+18689>>0]=67;a[e+18688>>0]=1;c[e+4>>2]=0;c[e+8>>2]=0;c[e+18180>>2]=0;c[e+18184>>2]=0;c[e+5596>>2]=32;c[e+5600>>2]=32;c[e+5604>>2]=0;c[e+5612>>2]=-1;c[e+18188>>2]=1;c[e+18192>>2]=1;c[e+5608>>2]=1;l=e+4788|0;m=c[l>>2]|0;if((m|0)>1){la=+g[e+4792+(m+-1<<2)>>2];c[x>>2]=m;h[x+8>>3]=la;Ub(j,2,5222,x)|0;c[e+4792>>2]=c[e+4792+((c[l>>2]|0)+-1<<2)>>2];c[l>>2]=1;k=b[J>>1]|0}c:do{switch(k&65535|0){case 3:{k=c[ba>>2]|0;if((k|0)>6){c[y>>2]=k+1;Ub(j,2,5395,y)|0;c[ba>>2]=6;k=6}break}case 4:{k=c[ba>>2]|0;if((k|0)<2){c[z>>2]=k+1;Ub(j,2,5541,z)|0;c[ba>>2]=1;k=1;break c}if((k|0)>7){c[A>>2]=k+1;Ub(j,2,5695,A)|0;c[ba>>2]=7;k=7}break}default:k=c[ba>>2]|0}}while(0);l=e+40|0;c[l>>2]=c[l>>2]|1;l=e+5620|0;c[l>>2]=k+-1;if((k|0)>1){k=0;do{c[e+5624+(k<<2)>>2]=256;c[e+5756+(k<<2)>>2]=256;k=k+1|0}while((k|0)<(c[l>>2]|0))}c[e+44>>2]=4;if((b[J>>1]|0)==4){k=c[ba>>2]|0;c[e+96>>2]=1;c[e+48>>2]=0;c[e+52>>2]=0;c[e+56>>2]=1;X=k+-1|0;c[e+60>>2]=X;c[e+64>>2]=3;c[e+80>>2]=4;c[e+244>>2]=1;c[e+196>>2]=X;c[e+200>>2]=0;c[e+204>>2]=1;c[e+208>>2]=k;c[e+212>>2]=3;c[e+228>>2]=4;k=2}else k=0;c[e+4784>>2]=k;c[e+20>>2]=1;k=c[D>>2]|0;if((k|0)>=1){if((k|0)>1302083){Ub(j,2,5998,C)|0;c[D>>2]=1302083}}else{c[D>>2]=1302083;Ub(j,2,5849,B)|0}k=e+18680|0;l=c[k>>2]|0;if((l|0)>=1){if((l|0)>1041666){Ub(j,2,6320,F)|0;c[k>>2]=1041666}}else{c[k>>2]=1041666;Ub(j,2,6171,E)|0}l=c[f+16>>2]|0;n=c[f+24>>2]|0;o=c[n+8>>2]|0;k=_(o,l)|0;p=c[n+12>>2]|0;k=_(k,p)|0;la=+((_(k,c[n+24>>2]|0)|0)>>>0);k=_(c[D>>2]<<3,c[n>>2]|0)|0;g[e+4792>>2]=la/+((_(k,c[n+4>>2]|0)|0)>>>0);k=b[J>>1]|0;d:do{if((l|0)==3){l=n+28|0;m=n+32|0;if(!((c[l>>2]|0)!=12|c[m>>2])){l=n+80|0;m=n+84|0;if(!((c[l>>2]|0)!=12|c[m>>2])){l=n+132|0;m=n+136|0;if(!((c[l>>2]|0)!=12|c[m>>2])){switch(k&65535|0){case 3:{if(p>>>0>1080|o>>>0>2048){c[H>>2]=o;c[H+4>>2]=p;Ub(j,2,6892,H)|0;break d}break}case 4:{if(p>>>0>2160|o>>>0>4096){c[I>>2]=o;c[I+4>>2]=p;Ub(j,2,7063,I)|0;break d}break}default:{}}break b}else{p=l;k=m;l=2}}else{p=l;k=m;l=1}}else{p=l;k=m;l=0}a[K>>0]=a[6659]|0;a[K+1>>0]=a[6660]|0;a[K+2>>0]=a[6661]|0;a[K+3>>0]=a[6662]|0;a[K+4>>0]=a[6663]|0;a[K+5>>0]=a[6664]|0;a[K+6>>0]=a[6665]|0;m=L;n=6666;o=m+9|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));X=(c[k>>2]|0)!=0?K:L;L=c[p>>2]|0;c[N>>2]=l;c[N+4>>2]=L;c[N+8>>2]=X;Ub(j,2,6675,N)|0}else{c[G>>2]=l;Ub(j,2,6493,G)|0}}while(0);b[J>>1]=0;k=0}}while(0);c[d+168>>2]=c[e+18680>>2];X=d+88|0;b[X>>1]=k;N=d+181|0;K=a[N>>0]&-2|c[e+20>>2]&1;a[N>>0]=K;L=e+24|0;K=(c[L>>2]&255)<<1&2|K&-3;a[N>>0]=K;a[N>>0]=K&-5|(c[e+28>>2]&255)<<2&4;do{if((c[L>>2]|0)!=0?(O=e+32|0,(c[O>>2]|0)!=0):0){k=_((c[e+4788>>2]|0)*12|0,c[ba>>2]|0)|0;l=Pc(k)|0;c[d+176>>2]=l;if(l){Ui(l|0,c[O>>2]|0,k|0)|0;break}Ub(j,1,7520,P)|0;j=0;i=ka;return j|0}}while(0);n=d+100|0;c[n>>2]=c[e+12>>2];o=d+104|0;c[o>>2]=c[e+16>>2];m=d+92|0;c[m>>2]=c[e+4>>2];p=d+96|0;c[p>>2]=c[e+8>>2];l=e+36|0;k=c[l>>2]|0;do{if(!k){k=fc()|0;l=Pc((wi(k)|0)+29|0)|0;c[d+108>>2]=l;if(l){c[S>>2]=7697;c[S+4>>2]=k;ni(l,7692,S)|0;break}Ub(j,1,7646,R)|0;j=0;i=ka;return j|0}else{k=Pc((wi(k)|0)+1|0)|0;c[d+108>>2]=k;if(k){vi(k,c[l>>2]|0)|0;break}Ub(j,1,7592,Q)|0;j=0;i=ka;return j|0}}while(0);k=(c[f+8>>2]|0)-(c[m>>2]|0)|0;l=c[f+12>>2]|0;if(!(c[e>>2]|0)){c[n>>2]=k;c[o>>2]=l-(c[p>>2]|0)}else{S=c[n>>2]|0;c[$>>2]=(k+-1+S|0)/(S|0)|0;S=c[o>>2]|0;c[aa>>2]=(l+-1-(c[p>>2]|0)+S|0)/(S|0)|0}if(a[e+18688>>0]|0){a[d+180>>0]=a[e+18689>>0]|0;a[N>>0]=a[N>>0]|8}S=Qc(_(c[aa>>2]|0,c[$>>2]|0)|0,5640)|0;L=d+164|0;c[L>>2]=S;if(!S){Ub(j,1,7726,T)|0;j=0;i=ka;return j|0}K=e+4784|0;A=c[K>>2]|0;do{if(A){w=e+48|0;B=c[ba>>2]|0;C=c[f+16>>2]|0;D=c[e+4788>>2]|0;E=_(C,B)|0;F=Qc(_(E,D)|0,4)|0;if(!F){Ub(j,1,7780,U)|0;break}m=c[w>>2]|0;s=e+60|0;k=c[s>>2]|0;if(m>>>0>>0){q=_(m,C)|0;t=e+52|0;u=e+64|0;v=e+56|0;l=c[u>>2]|0;while(1){n=c[t>>2]|0;if(n>>>0>>0){k=c[v>>2]|0;p=n;o=n+q|0;while(1){if(!k)k=0;else{l=o;n=0;while(1){c[F+(l<<2)>>2]=1;n=n+1|0;k=c[v>>2]|0;if(n>>>0>=k>>>0)break;else l=l+E|0}l=c[u>>2]|0}p=p+1|0;if(p>>>0>=l>>>0)break;else o=o+1|0}k=c[s>>2]|0}m=m+1|0;if(m>>>0>=k>>>0)break;else q=q+C|0}}if(A>>>0>1){z=1;do{k=w;w=w+148|0;v=c[k+8>>2]|0;u=k+156|0;n=c[u>>2]|0;v=n>>>0>v>>>0?v:0;o=c[w>>2]|0;x=k+160|0;l=c[x>>2]|0;if(o>>>0>>0){q=_(o,C)|0;y=k+152|0;s=k+164|0;t=_(v,E)|0;m=c[s>>2]|0;k=n;while(1){n=c[y>>2]|0;if(n>>>0>>0){p=n;n=n+q|0;while(1){if(v>>>0>>0){l=n+t|0;m=v;while(1){c[F+(l<<2)>>2]=1;m=m+1|0;k=c[u>>2]|0;if(m>>>0>=k>>>0)break;else l=l+E|0}m=c[s>>2]|0}p=p+1|0;if(p>>>0>=m>>>0)break;else n=n+1|0}l=c[x>>2]|0}o=o+1|0;if(o>>>0>=l>>>0)break;else q=q+C|0}}z=z+1|0}while((z|0)!=(A|0))}if((D|0)!=0?(V=(C|0)==0,(B|0)!=0):0){l=0;q=0;k=0;do{if(!V){p=l;o=0;while(1){m=0;n=p;while(1){k=(c[F+(n<<2)>>2]|0)!=1|k;m=m+1|0;if((m|0)==(C|0))break;else n=n+1|0}o=o+1|0;if((o|0)==(B|0))break;else p=p+C|0}l=E+l|0}q=q+1|0}while((q|0)!=(D|0));if(k)Ub(j,1,7828,W)|0}Uc(F)}}while(0);e:do{if(_(c[aa>>2]|0,c[$>>2]|0)|0){w=e+4788|0;x=e+40|0;y=e+44|0;z=e+18690|0;A=f+16|0;l=e+18696|0;B=f+24|0;C=e+5596|0;D=e+5600|0;E=e+5604|0;F=e+5608|0;G=e+5612|0;H=e+5616|0;I=e+5620|0;J=0;f:while(1){q=c[L>>2]|0;s=q+(J*5640|0)|0;W=c[w>>2]|0;k=q+(J*5640|0)+8|0;c[k>>2]=W;if(W){m=((b[X>>1]|0)+-3&65535)<4;o=0;do{n=(a[N>>0]&4)==0;do{if(!m)if(n){c[q+(J*5640|0)+20+(o<<2)>>2]=c[e+4792+(o<<2)>>2];break}else{c[q+(J*5640|0)+5184+(o<<2)>>2]=c[e+5192+(o<<2)>>2];break}else{if(!n)c[q+(J*5640|0)+5184+(o<<2)>>2]=c[e+5192+(o<<2)>>2];c[q+(J*5640|0)+20+(o<<2)>>2]=c[e+4792+(o<<2)>>2]}}while(0);o=o+1|0}while(o>>>0<(c[k>>2]|0)>>>0)}c[s>>2]=c[x>>2];c[q+(J*5640|0)+4>>2]=c[y>>2];p=q+(J*5640|0)+16|0;c[p>>2]=a[z>>0];k=q+(J*5640|0)+5636|0;m=a[k>>0]|0;a[k>>0]=m&-5;if(!(c[K>>2]|0))c[q+(J*5640|0)+420>>2]=0;else{a[k>>0]=m|4;m=c[K>>2]|0;if(!m)k=0;else{n=J+1|0;o=0;k=0;do{if((n|0)==(c[e+48+(o*148|0)+48>>2]|0)){c[q+(J*5640|0)+424+(k*148|0)>>2]=c[e+48+(k*148|0)>>2];c[q+(J*5640|0)+424+(k*148|0)+4>>2]=c[e+48+(k*148|0)+4>>2];c[q+(J*5640|0)+424+(k*148|0)+8>>2]=c[e+48+(k*148|0)+8>>2];c[q+(J*5640|0)+424+(k*148|0)+12>>2]=c[e+48+(k*148|0)+12>>2];c[q+(J*5640|0)+424+(k*148|0)+16>>2]=c[e+48+(k*148|0)+16>>2];c[q+(J*5640|0)+424+(k*148|0)+32>>2]=c[e+48+(k*148|0)+32>>2];c[q+(J*5640|0)+424+(k*148|0)+48>>2]=c[e+48+(k*148|0)+48>>2];k=k+1|0}o=o+1|0}while(o>>>0>>0)}c[q+(J*5640|0)+420>>2]=k+-1}W=Qc(c[A>>2]|0,1080)|0;v=q+(J*5640|0)+5584|0;c[v>>2]=W;if(!W){Z=149;break}do{if(!(c[l>>2]|0)){g:do{if((c[p>>2]|0)==1){k=c[A>>2]|0;if(k>>>0<=2){n=k;break}m=c[B>>2]|0;k=c[m>>2]|0;do{if((k|0)==(c[m+52>>2]|0)){if((k|0)!=(c[m+104>>2]|0))break;k=c[m+4>>2]|0;if((k|0)!=(c[m+56>>2]|0))break;if((k|0)==(c[m+108>>2]|0)){Z=175;break g}}}while(0);Ub(j,2,8224,fa)|0;c[p>>2]=0;Z=175}else Z=175}while(0);if((Z|0)==175){Z=0;n=c[A>>2]|0}if(!n)break;k=c[B>>2]|0;m=0;do{if(!(c[k+(m*52|0)+32>>2]|0))c[(c[v>>2]|0)+(m*1080|0)+1076>>2]=1<<(c[k+(m*52|0)+24>>2]|0)+-1;m=m+1|0}while(m>>>0>>0);Y=n;Z=166}else{n=c[A>>2]|0;n=_(n<<2,n)|0;k=Pc(n)|0;o=(c[l>>2]|0)+n|0;if(!k){Z=152;break f}c[p>>2]=2;m=Pc(n)|0;c[q+(J*5640|0)+5608>>2]=m;if(!m){Z=154;break f}Ui(m|0,c[l>>2]|0,n|0)|0;Ui(k|0,c[l>>2]|0,n|0)|0;m=Pc(n)|0;n=q+(J*5640|0)+5604|0;c[n>>2]=m;if(!m){Z=156;break f}if(!(Vg(k,m,c[A>>2]|0)|0)){Z=158;break f}m=Pc(c[A>>2]<<3)|0;c[q+(J*5640|0)+5600>>2]=m;if(!m){Z=160;break f}If(m,c[A>>2]|0,c[n>>2]|0);Uc(k);k=c[A>>2]|0;if(k){m=c[v>>2]|0;n=0;do{c[m+(n*1080|0)+1076>>2]=c[o+(n<<2)>>2];n=n+1|0}while(n>>>0>>0)}if(!(_c(s,f)|0)){Z=167;break f}Y=c[A>>2]|0;Z=166}}while(0);if((Z|0)==166?(Z=0,(Y|0)!=0):0){u=0;do{s=c[v>>2]|0;t=s+(u*1080|0)|0;c[t>>2]=c[x>>2]&1;n=c[ba>>2]|0;o=s+(u*1080|0)+4|0;c[o>>2]=n;k=c[C>>2]|0;if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+8>>2]=k;k=c[D>>2]|0;if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+12>>2]=k;c[s+(u*1080|0)+16>>2]=c[E>>2];W=c[F>>2]|0;c[s+(u*1080|0)+20>>2]=(W|0)==0&1;c[s+(u*1080|0)+24>>2]=(W|0)!=0?2:0;c[s+(u*1080|0)+804>>2]=2;if((u|0)==(c[G>>2]|0))k=c[H>>2]|0;else k=0;c[s+(u*1080|0)+808>>2]=k;do{if(!(c[x>>2]&1)){if(!n)break;else k=0;do{c[s+(u*1080|0)+812+(k<<2)>>2]=15;c[s+(u*1080|0)+944+(k<<2)>>2]=15;k=k+1|0}while(k>>>0<(c[o>>2]|0)>>>0)}else{if((n|0)>0){o=n;q=0}else break;while(1){p=o;o=o+-1|0;k=c[I>>2]|0;do{if((q|0)<(k|0)){k=c[e+5624+(q<<2)>>2]|0;if((k|0)<1)c[s+(u*1080|0)+812+(o<<2)>>2]=1;else{if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+812+(o<<2)>>2]=k}k=c[e+5756+(q<<2)>>2]|0;if((k|0)<1){c[s+(u*1080|0)+944+(o<<2)>>2]=1;break}if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+944+(o<<2)>>2]=k}else{W=k+-1|0;m=q-W|0;k=c[e+5624+(W<<2)>>2]>>m;m=c[e+5756+(W<<2)>>2]>>m;if((k|0)<1)c[s+(u*1080|0)+812+(o<<2)>>2]=1;else{if((k|0)>1){n=0;do{k=k>>1;n=n+1|0}while((k|0)>1);k=n}else k=0;c[s+(u*1080|0)+812+(o<<2)>>2]=k}if((m|0)<1){c[s+(u*1080|0)+944+(o<<2)>>2]=1;break}if((m|0)>1){k=0;do{m=m>>1;k=k+1|0}while((m|0)>1)}else k=0;c[s+(u*1080|0)+944+(o<<2)>>2]=k}}while(0);if((p|0)<=1)break;else q=q+1|0}}}while(0);Mg(t,c[(c[B>>2]|0)+(u*52|0)+24>>2]|0);u=u+1|0}while(u>>>0<(c[A>>2]|0)>>>0)}J=J+1|0;if(J>>>0>=(_(c[aa>>2]|0,c[$>>2]|0)|0)>>>0)break e}if((Z|0)==149){Ub(j,1,7867,ca)|0;j=0;i=ka;return j|0}else if((Z|0)==152){Ub(j,1,7931,da)|0;j=0;i=ka;return j|0}else if((Z|0)==154){Uc(k);Ub(j,1,7974,ga)|0;j=0;i=ka;return j|0}else if((Z|0)==156){Uc(k);Ub(j,1,8032,ha)|0;j=0;i=ka;return j|0}else if((Z|0)==158){Uc(k);Ub(j,1,8092,ia)|0;j=0;i=ka;return j|0}else if((Z|0)==160){Uc(k);Ub(j,1,8140,ja)|0;j=0;i=ka;return j|0}else if((Z|0)==167){Ub(j,1,8190,ea)|0;j=0;i=ka;return j|0}}else l=e+18696|0}while(0);k=c[l>>2]|0;if(!k){j=1;i=ka;return j|0}Uc(k);c[l>>2]=0;j=1;i=ka;return j|0}function _c(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((c[b+16>>2]|0)!=2){b=1;return b|0}m=b+5604|0;r=b+5616|0;e=c[r>>2]|0;n=b+5620|0;do{if(c[m>>2]|0){do{if((e|0)==(c[n>>2]|0)){e=e+10|0;c[n>>2]=e;f=b+5612|0;e=Tc(c[f>>2]|0,e*20|0)|0;if(e){c[f>>2]=e;q=c[r>>2]|0;Qi(e+(q*20|0)|0,0,((c[n>>2]|0)-q|0)*20|0)|0;e=c[r>>2]|0;break}Uc(c[f>>2]|0);c[f>>2]=0;c[n>>2]=0;c[r>>2]=0;b=0;return b|0}else f=b+5612|0}while(0);k=c[f>>2]|0;i=k+(e*20|0)|0;l=k+(e*20|0)+12|0;f=c[l>>2]|0;if(f){Uc(f);c[l>>2]=0}c[k+(e*20|0)+8>>2]=1;c[k+(e*20|0)+4>>2]=1;c[i>>2]=2;f=c[d+16>>2]|0;f=_(f,f)|0;h=f<<2;j=Pc(h)|0;c[l>>2]=j;if(!j){b=0;return b|0}else{Xa[c[768+(c[i>>2]<<2)>>2]&15](c[m>>2]|0,j,f);c[k+(e*20|0)+16>>2]=h;e=(c[r>>2]|0)+1|0;c[r>>2]=e;j=2;break}}else{j=1;i=0}}while(0);do{if((e|0)==(c[n>>2]|0)){f=e+10|0;c[n>>2]=f;e=b+5612|0;f=Tc(c[e>>2]|0,f*20|0)|0;if(!f){Uc(c[e>>2]|0);c[e>>2]=0;c[n>>2]=0;c[r>>2]=0;b=0;return b|0}else{c[e>>2]=f;h=c[r>>2]|0;Qi(f+(h*20|0)|0,0,((c[n>>2]|0)-h|0)*20|0)|0;if(!i){i=0;break}i=f+((h+-1|0)*20|0)|0;break}}else e=b+5612|0}while(0);m=c[e>>2]|0;n=c[r>>2]|0;q=m+(n*20|0)|0;o=m+(n*20|0)+12|0;e=c[o>>2]|0;if(e){Uc(e);c[o>>2]=0}p=j+1|0;c[m+(n*20|0)+8>>2]=j;c[m+(n*20|0)+4>>2]=2;c[q>>2]=2;d=d+16|0;e=c[d>>2]|0;f=e<<2;l=Pc(f)|0;c[o>>2]=l;if(!l){b=0;return b|0}h=Pc(f)|0;if(!h){Uc(c[o>>2]|0);c[o>>2]=0;b=0;return b|0}if(e){j=0;k=h;l=c[b+5584>>2]|0;while(1){g[k>>2]=+(c[l+1076>>2]|0);j=j+1|0;if((j|0)==(e|0))break;else{k=k+4|0;l=l+1080|0}}}Xa[c[768+(c[q>>2]<<2)>>2]&15](h,c[o>>2]|0,e);Uc(h);c[m+(n*20|0)+16>>2]=f;c[r>>2]=(c[r>>2]|0)+1;j=b+5628|0;e=c[j>>2]|0;h=b+5632|0;do{if((e|0)==(c[h>>2]|0)){e=e+10|0;c[h>>2]=e;f=b+5624|0;e=Tc(c[f>>2]|0,e*20|0)|0;if(e){c[f>>2]=e;b=c[j>>2]|0;Qi(e+(b*20|0)|0,0,((c[h>>2]|0)-b|0)*20|0)|0;e=c[j>>2]|0;break}Uc(c[f>>2]|0);c[f>>2]=0;c[h>>2]=0;c[j>>2]=0;b=0;return b|0}else f=b+5624|0}while(0);b=c[f>>2]|0;c[b+(e*20|0)+8>>2]=i;r=b+(e*20|0)+16|0;a[r>>0]=a[r>>0]|1;c[b+(e*20|0)+4>>2]=c[d>>2];c[b+(e*20|0)>>2]=p;c[b+(e*20|0)+12>>2]=q;c[j>>2]=(c[j>>2]|0)+1;b=1;return b|0}function $c(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function ad(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=Xb()|0;k=b+80|0;c[k>>2]=j;if(!j){k=0;return k|0}f=b+192|0;if((sg(c[f>>2]|0,23,e)|0)!=0?(sg(c[f>>2]|0,24,e)|0)!=0:0){h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}}else vg(h);f=b+188|0;if((sg(c[f>>2]|0,25,e)|0)!=0?(sg(c[f>>2]|0,26,e)|0)!=0:0){h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}}else vg(h);f=Xb()|0;c[d>>2]=f;if(!f){k=0;return k|0}$b(c[k>>2]|0,f);f=_(c[b+116>>2]|0,c[b+112>>2]|0)|0;i=b+196|0;c[(c[i>>2]|0)+36>>2]=f;f=Qc(f,40)|0;g=c[i>>2]|0;c[g+40>>2]=f;if(!f){k=0;return k|0}if(!(c[g+36>>2]|0)){k=1;return k|0}h=0;while(1){c[f+(h*40|0)+28>>2]=100;c[f+(h*40|0)+20>>2]=0;k=Qc(100,24)|0;g=c[i>>2]|0;f=c[g+40>>2]|0;c[f+(h*40|0)+24>>2]=k;h=h+1|0;if(!k){f=0;g=30;break}if(h>>>0>=(c[g+36>>2]|0)>>>0){f=1;g=30;break}}if((g|0)==30)return f|0}Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}function bd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(!a)return;b=a+28|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}h=a+40|0;b=c[h>>2]|0;if(b){g=a+36|0;if(c[g>>2]|0){d=b;f=0;do{e=c[d+(f*40|0)+36>>2]|0;if(e){Uc(e);b=c[h>>2]|0;c[b+(f*40|0)+36>>2]=0;d=b}e=c[d+(f*40|0)+16>>2]|0;if(e){Uc(e);b=c[h>>2]|0;c[b+(f*40|0)+16>>2]=0;d=b}e=c[d+(f*40|0)+24>>2]|0;if(e){Uc(e);d=c[h>>2]|0;c[d+(f*40|0)+24>>2]=0;b=d}f=f+1|0}while(f>>>0<(c[g>>2]|0)>>>0)}Uc(b);c[h>>2]=0}Uc(a);return}function cd(d,e,f,g,h,j,k,l,m,n,o){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=i;i=i+256|0;Ca=Da+200|0;Ba=Da+192|0;za=Da+184|0;ya=Da+176|0;pa=Da+168|0;oa=Da+160|0;na=Da+152|0;ma=Da+144|0;la=Da+136|0;ka=Da+128|0;ia=Da+120|0;ha=Da+112|0;wa=Da+104|0;ua=Da+96|0;ga=Da+88|0;fa=Da+80|0;ea=Da+72|0;va=Da+64|0;da=Da+56|0;ca=Da+48|0;sa=Da+40|0;ra=Da+32|0;qa=Da+24|0;ja=Da+16|0;ba=Da+8|0;aa=Da;V=Da+240|0;T=Da+236|0;X=Da+232|0;Z=Da+228|0;$=Da+224|0;U=Da+220|0;Y=Da+216|0;S=Da+212|0;W=Da+208|0;c[S>>2]=65424;Aa=d+8|0;a:do{switch(c[Aa>>2]|0){case 256:{c[S>>2]=65497;p=d+76|0;xa=117;break}case 8:{ta=d+76|0;if(!(a[ta>>0]&1)){O=d+200|0;P=d+164|0;Q=d+72|0;R=d+24|0;B=d+196|0;D=d+112|0;E=d+116|0;G=V+2|0;H=V+6|0;I=V+7|0;J=d+16|0;K=d+20|0;L=d+64|0;p=65424;b:while(1){c:do{if((p|0)!=65427){while(1){A=Qb(n)|0;if((A|0)==0&(C|0)==0){xa=7;break}if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=9;break b}qb(c[J>>2]|0,W,2);if((c[W>>2]|0)>>>0<2){xa=11;break b}if((c[S>>2]|0)==32896?(A=Qb(n)|0,(A|0)==0&(C|0)==0):0){xa=14;break}s=c[Aa>>2]|0;p=c[W>>2]|0;if(s&16)c[R>>2]=-2-p+(c[R>>2]|0);q=p+-2|0;c[W>>2]=q;p=c[S>>2]|0;r=784;while(1){A=c[r>>2]|0;if((A|0)==0|(A|0)==(p|0)){y=r;break}else r=r+12|0}if(!(c[r+4>>2]&s)){xa=20;break b}if(q>>>0>(c[K>>2]|0)>>>0){A=Qb(n)|0;z=C;if(0>(z|0)|0==(z|0)&q>>>0>A>>>0){xa=24;break b}p=Tc(c[J>>2]|0,c[W>>2]|0)|0;if(!p){xa=26;break b}c[J>>2]=p;q=c[W>>2]|0;c[K>>2]=q}else p=c[J>>2]|0;q=Mb(n,p,q,o)|0;if((q|0)!=(c[W>>2]|0)){xa=29;break b}p=c[r+8>>2]|0;if(!p){xa=31;break b}if(!(Za[p&63](d,c[J>>2]|0,q,o)|0)){xa=33;break b}r=c[O>>2]|0;q=c[B>>2]|0;v=c[y>>2]|0;w=Pb(n)|0;x=c[W>>2]|0;w=w-x+-4|0;x=x+4|0;q=q+40|0;u=c[q>>2]|0;p=c[u+(r*40|0)+20>>2]|0;s=u+(r*40|0)+28|0;t=c[s>>2]|0;if((p+1|0)>>>0>t>>>0){t=~~(+(t>>>0)+100.0)>>>0;c[s>>2]=t;s=Tc(c[u+(r*40|0)+24>>2]|0,t*24|0)|0;t=c[q>>2]|0;p=t+(r*40|0)+24|0;if(!s){xa=41;break b}c[p>>2]=s;q=t;p=c[t+(r*40|0)+20>>2]|0}else{q=u;s=c[u+(r*40|0)+24>>2]|0}b[s+(p*24|0)>>1]=v;A=s+(p*24|0)+8|0;c[A>>2]=w;c[A+4>>2]=((w|0)<0)<<31>>31;c[s+(p*24|0)+16>>2]=x;c[q+(r*40|0)+20>>2]=p+1;if((v|0)==65424?(F=c[q+(r*40|0)+16>>2]|0,(F|0)!=0):0){A=F+((c[q+(r*40|0)+12>>2]|0)*24|0)|0;c[A>>2]=w;c[A+4>>2]=0}do{if((c[y>>2]|0)==65424){p=Pb(n)|0;p=-4-(c[W>>2]|0)+p|0;A=L;z=c[A+4>>2]|0;if(!(0>(z|0)|(0==(z|0)?p>>>0>(c[A>>2]|0)>>>0:0)))break;A=L;c[A>>2]=p;c[A+4>>2]=0}}while(0);if(a[ta>>0]&4){xa=46;break}if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=50;break b}qb(c[J>>2]|0,S,2);if((c[S>>2]|0)==65427)break c}if((xa|0)==7){xa=0;c[Aa>>2]=64;break}else if((xa|0)==14){xa=0;c[Aa>>2]=64;break}else if((xa|0)==46){xa=0;A=Rb(n,c[R>>2]|0,0,o)|0;if(!((C|0)==0?(A|0)==(c[R>>2]|0):0)){xa=47;break b}c[S>>2]=65427;break}}}while(0);A=Qb(n)|0;if((A|0)==0&(C|0)==0?(c[Aa>>2]|0)==64:0){xa=115;break}p=a[ta>>0]|0;if(!(p&4)){q=c[O>>2]|0;r=c[P>>2]|0;if(!(c[Q>>2]|0)){p=c[R>>2]|0;if(p>>>0>1){s=p+-2|0;c[R>>2]=s}else s=p}else{s=Qb(n)|0;s=Si(s|0,C|0,-2,0)|0;c[R>>2]=s}p=r+(q*5640|0)+5592|0;A=r+(q*5640|0)+5596|0;do{if(!s)z=1;else{z=Qb(n)|0;y=C;if(0>(y|0)|0==(y|0)&s>>>0>z>>>0)Ub(o,2,8573,ga)|0;q=c[p>>2]|0;if(!q){z=Pc(c[R>>2]|0)|0;c[p>>2]=z;if(!z)break b;else{z=0;break}}q=Tc(q,(c[R>>2]|0)+(c[A>>2]|0)|0)|0;if(!q){xa=65;break b}c[p>>2]=q;z=0}}while(0);q=c[B>>2]|0;if(q){w=Pb(n)|0;s=C;y=Si(w|0,s|0,-2,-1)|0;r=c[O>>2]|0;q=q+40|0;u=c[q>>2]|0;v=c[u+(r*40|0)+12>>2]|0;t=c[u+(r*40|0)+16>>2]|0;x=t+(v*24|0)+8|0;c[x>>2]=y;c[x+4>>2]=C;x=c[R>>2]|0;s=Si(x|0,0,w|0,s|0)|0;v=t+(v*24|0)+16|0;c[v>>2]=s;c[v+4>>2]=C;x=x+2|0;v=c[u+(r*40|0)+20>>2]|0;s=u+(r*40|0)+28|0;t=c[s>>2]|0;if((v+1|0)>>>0>t>>>0){t=~~(+(t>>>0)+100.0)>>>0;c[s>>2]=t;s=Tc(c[u+(r*40|0)+24>>2]|0,t*24|0)|0;t=c[q>>2]|0;u=t+(r*40|0)+24|0;if(!s){p=u;xa=74;break}c[u>>2]=s;w=t;q=c[t+(r*40|0)+20>>2]|0}else{w=u;s=c[u+(r*40|0)+24>>2]|0;q=v}b[s+(q*24|0)>>1]=-109;v=Pi(0,y|0,32)|0;y=s+(q*24|0)+8|0;c[y>>2]=v;c[y+4>>2]=C;c[s+(q*24|0)+16>>2]=x;c[w+(r*40|0)+20>>2]=q+1}if(!z)p=Mb(n,(c[p>>2]|0)+(c[A>>2]|0)|0,c[R>>2]|0,o)|0;else p=0;c[Aa>>2]=(p|0)==(c[R>>2]|0)?8:64;c[A>>2]=(c[A>>2]|0)+p;p=a[ta>>0]|0;if((p&9)==1){a[ta>>0]=p|8;q=c[O>>2]|0;do{if((Tb(n)|0)!=0?(M=Pb(n)|0,N=C,!((M|0)==-1&(N|0)==-1)):0){while(1){if((Mb(n,V,2,o)|0)!=2){xa=81;break}qb(V,T,2);if((c[T>>2]|0)!=65424){xa=83;break}if((Mb(n,V,2,o)|0)!=2){xa=85;break}qb(V,X,2);if((c[X>>2]|0)!=10){xa=87;break}c[X>>2]=8;p=Mb(n,V,8,o)|0;if((p|0)!=(c[X>>2]|0)){xa=89;break}if((p|0)!=8){xa=91;break}qb(V,Z,2);qb(G,$,4);qb(H,U,1);qb(I,Y,1);if((c[Z>>2]|0)==(q|0)){xa=97;break}p=c[$>>2]|0;if(p>>>0<14){xa=94;break}xa=p+-12|0;c[$>>2]=xa;xa=Rb(n,xa,0,o)|0;if(!((C|0)==0?(xa|0)==(c[$>>2]|0):0)){xa=96;break}}if((xa|0)==81){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==83){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==85){xa=0;Ub(o,1,8295,ha)|0;p=0;q=0;break}else if((xa|0)==87){xa=0;Ub(o,1,8313,ia)|0;p=0;q=0;break}else if((xa|0)==89){xa=0;Ub(o,1,8295,ka)|0;p=0;q=0;break}else if((xa|0)==91){xa=0;Ub(o,1,8662,la)|0;p=0;q=0;break}else if((xa|0)==94){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==96){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==97){xa=0;q=(c[U>>2]|0)==(c[Y>>2]|0)&1;p=(Sb(n,M,N,o)|0)!=0&1;break}}else{p=1;q=0}}while(0);if(!p){xa=99;break}if(q){p=_(c[E>>2]|0,c[D>>2]|0)|0;a[ta>>0]=a[ta>>0]&-18|16;if(p){q=c[P>>2]|0;t=0;do{r=q+(t*5640|0)+5588|0;s=c[r>>2]|0;if(s)c[r>>2]=s+1;t=t+1|0}while((t|0)!=(p|0))}Ub(o,2,8734,na)|0}}if(!(a[ta>>0]&1)){if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=109;break}qb(c[J>>2]|0,S,2)}}else{a[ta>>0]=p&-6;c[Aa>>2]=8;if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=113;break}qb(c[J>>2]|0,S,2)}p=c[S>>2]|0;if(!((p|0)!=65497&(a[ta>>0]&1)==0)){xa=116;break}}switch(xa|0){case 9:{Ub(o,1,8295,aa)|0;o=0;i=Da;return o|0}case 11:{Ub(o,1,8313,ba)|0;o=0;i=Da;return o|0}case 20:{Ub(o,1,8339,ja)|0;o=0;i=Da;return o|0}case 24:{Ub(o,1,8382,qa)|0;o=0;i=Da;return o|0}case 26:{Uc(c[J>>2]|0);c[J>>2]=0;c[K>>2]=0;Ub(o,1,8427,ra)|0;o=0;i=Da;return o|0}case 29:{Ub(o,1,8295,sa)|0;o=0;i=Da;return o|0}case 31:{Ub(o,1,8461,ca)|0;o=0;i=Da;return o|0}case 33:{c[da>>2]=c[S>>2];Ub(o,1,8490,da)|0;o=0;i=Da;return o|0}case 41:{Uc(c[p>>2]|0);Ca=c[q>>2]|0;c[Ca+(r*40|0)+24>>2]=0;c[Ca+(r*40|0)+28>>2]=0;c[Ca+(r*40|0)+20>>2]=0;Ub(o,1,8537,va)|0;o=0;i=Da;return o|0}case 47:{Ub(o,1,8295,ea)|0;o=0;i=Da;return o|0}case 50:{Ub(o,1,8295,fa)|0;o=0;i=Da;return o|0}case 65:{Uc(c[p>>2]|0);c[p>>2]=0;break}case 74:{Uc(c[p>>2]|0);Ca=c[q>>2]|0;c[Ca+(r*40|0)+24>>2]=0;c[Ca+(r*40|0)+28>>2]=0;c[Ca+(r*40|0)+20>>2]=0;Ub(o,1,8537,wa)|0;o=0;i=Da;return o|0}case 99:{Ub(o,1,8688,ma)|0;o=0;i=Da;return o|0}case 109:{Ub(o,1,8295,oa)|0;o=0;i=Da;return o|0}case 113:{Ub(o,1,8295,pa)|0;o=0;i=Da;return o|0}case 115:{p=c[S>>2]|0;xa=116;break}}if((xa|0)==116)if((p|0)==65497){p=ta;xa=117;break a}else{p=ta;break a}Ub(o,1,8628,ua)|0;o=0;i=Da;return o|0}else p=ta;break}default:{o=0;i=Da;return o|0}}}while(0);if((xa|0)==117)if((c[Aa>>2]|0)!=256){c[d+200>>2]=0;c[Aa>>2]=256}if(!(a[p>>0]&1)){s=_(c[d+112>>2]|0,c[d+116>>2]|0)|0;t=d+200|0;q=c[t>>2]|0;d:do{if(q>>>0>>0){p=q;r=(c[d+164>>2]|0)+(q*5640|0)|0;while(1){if(c[r+5592>>2]|0){q=p;break d}q=p+1|0;c[t>>2]=q;if(q>>>0>>0){p=q;r=r+5640|0}else break}}}while(0);if((q|0)==(s|0)){c[m>>2]=0;o=1;i=Da;return o|0}}else{q=d+200|0;t=q;q=c[q>>2]|0}A=c[d+164>>2]|0;if(a[A+(q*5640|0)+5636>>0]&2){B=A+(q*5640|0)+5160|0;r=c[B>>2]|0;if(!r)p=0;else{s=c[A+(q*5640|0)+5164>>2]|0;u=0;p=0;do{p=(c[s+(u<<3)+4>>2]|0)+p|0;u=u+1|0}while((u|0)!=(r|0))}xa=Pc(p)|0;z=A+(q*5640|0)+5172|0;c[z>>2]=xa;if(!xa){Ub(o,1,8775,ya)|0;Ub(o,1,8813,za)|0;o=0;i=Da;return o|0}y=A+(q*5640|0)+5180|0;c[y>>2]=p;r=c[B>>2]|0;x=A+(q*5640|0)+5164|0;if(!r)p=c[x>>2]|0;else{p=c[x>>2]|0;v=p;w=0;u=0;while(1){s=c[v+(w<<3)>>2]|0;if(!s)s=v;else{Ui((c[z>>2]|0)+u|0,s|0,c[v+(w<<3)+4>>2]|0)|0;s=c[x>>2]|0;u=(c[s+(w<<3)+4>>2]|0)+u|0;Uc(c[s+(w<<3)>>2]|0);s=c[x>>2]|0;c[s+(w<<3)>>2]=0;c[s+(w<<3)+4>>2]=0;r=c[B>>2]|0;p=s}w=w+1|0;if(w>>>0>=r>>>0)break;else v=s}}c[B>>2]=0;Uc(p);c[x>>2]=0;c[A+(q*5640|0)+5168>>2]=c[z>>2];c[A+(q*5640|0)+5176>>2]=c[y>>2];q=c[t>>2]|0}p=d+204|0;if(!($f(c[p>>2]|0,q,o)|0)){Ub(o,1,8839,Ba)|0;o=0;i=Da;return o|0}else{Ba=_(c[d+112>>2]|0,c[d+116>>2]|0)|0;c[Ca>>2]=(c[t>>2]|0)+1;c[Ca+4>>2]=Ba;Ub(o,4,8873,Ca)|0;c[e>>2]=c[t>>2];c[m>>2]=1;c[f>>2]=ag(c[p>>2]|0)|0;o=c[c[(c[p>>2]|0)+20>>2]>>2]|0;c[g>>2]=c[o>>2];c[h>>2]=c[o+4>>2];c[j>>2]=c[o+8>>2];c[k>>2]=c[o+12>>2];c[l>>2]=c[o+16>>2];c[Aa>>2]=c[Aa>>2]|128;o=1;i=Da;return o|0}return 0}function dd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;r=t+28|0;s=t+32|0;o=b+8|0;if(!(c[o>>2]&128)){g=0;i=t;return g|0}q=b+200|0;if((c[q>>2]|0)!=(d|0)){g=0;i=t;return g|0}j=c[b+164>>2]|0;n=j+(d*5640|0)|0;p=j+(d*5640|0)+5592|0;k=c[p>>2]|0;if(!k){sd(n);g=0;i=t;return g|0}l=b+204|0;m=j+(d*5640|0)+5596|0;if(!(cg(c[l>>2]|0,k,c[m>>2]|0,d,c[b+196>>2]|0,h)|0)){sd(n);c[o>>2]=c[o>>2]|32768;Ub(h,1,8912,t)|0;g=0;i=t;return g|0}if(!(dg(c[l>>2]|0,e,f)|0)){g=0;i=t;return g|0}j=c[p>>2]|0;if(j){Uc(j);c[p>>2]=0;c[m>>2]=0}p=b+76|0;a[p>>0]=a[p>>0]&-2;c[o>>2]=c[o>>2]&-129;p=Qb(g)|0;b=c[o>>2]|0;if((b|0)==256|(p|0)==0&(C|0)==0&(b|0)==64){g=1;i=t;return g|0}if((Mb(g,s,2,h)|0)!=2){Ub(h,2,8931,t+8|0)|0;g=1;i=t;return g|0}qb(s,r,2);switch(c[r>>2]|0){case 65497:{c[q>>2]=0;c[o>>2]=256;g=1;i=t;return g|0}case 65424:{g=1;i=t;return g|0}default:if((Qb(g)|0)==0&(C|0)==0){c[o>>2]=64;Ub(h,2,8975,t+16|0)|0;g=1;i=t;return g|0}else{Ub(h,1,9005,t+24|0)|0;g=0;i=t;return g|0}}return 0}function ed(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;y=z+96|0;x=z+88|0;w=z+80|0;v=z+72|0;u=z+64|0;s=z+56|0;r=z+48|0;o=z+40|0;n=z+32|0;m=z+24|0;l=z+16|0;p=c[b+80>>2]|0;if((c[b+8>>2]|0)!=8){Ub(j,1,9037,z)|0;j=0;i=z;return j|0}if(!(f|e|g|h)){Ub(j,4,9116,z+8|0)|0;c[b+28>>2]=0;c[b+32>>2]=0;c[b+36>>2]=c[b+112>>2];c[b+40>>2]=c[b+116>>2];j=1;i=z;return j|0}t=p+8|0;k=c[t>>2]|0;if(k>>>0>>0){c[l>>2]=e;c[l+4>>2]=k;Ub(j,1,9185,l)|0;j=0;i=z;return j|0}k=c[p>>2]|0;if(k>>>0>e>>>0){c[m>>2]=e;c[m+4>>2]=k;Ub(j,2,9272,m)|0;k=0;e=c[p>>2]|0}else k=((e-(c[b+92>>2]|0)|0)>>>0)/((c[b+100>>2]|0)>>>0)|0;c[b+28>>2]=k;c[d>>2]=e;q=p+12|0;e=c[q>>2]|0;if(e>>>0>>0){c[n>>2]=f;c[n+4>>2]=e;Ub(j,1,9360,n)|0;j=0;i=z;return j|0}l=p+4|0;e=c[l>>2]|0;if(e>>>0>f>>>0){c[o>>2]=f;c[o+4>>2]=e;Ub(j,2,9445,o)|0;e=0;f=c[l>>2]|0}else e=((f-(c[b+96>>2]|0)|0)>>>0)/((c[b+104>>2]|0)>>>0)|0;c[b+32>>2]=e;m=d+4|0;c[m>>2]=f;e=c[p>>2]|0;if(e>>>0>g>>>0){c[r>>2]=g;c[r+4>>2]=e;Ub(j,1,9531,r)|0;j=0;i=z;return j|0}e=c[t>>2]|0;if(e>>>0>>0){c[s>>2]=g;c[s+4>>2]=e;Ub(j,2,9620,s)|0;e=c[b+112>>2]|0;g=c[t>>2]|0}else{e=c[b+100>>2]|0;e=(g+-1-(c[b+92>>2]|0)+e|0)/(e|0)|0}c[b+36>>2]=e;k=d+8|0;c[k>>2]=g;g=c[l>>2]|0;if(g>>>0>h>>>0){c[u>>2]=h;c[u+4>>2]=g;Ub(j,1,9708,u)|0;j=0;i=z;return j|0}g=c[q>>2]|0;if(g>>>0>>0){c[v>>2]=h;c[v+4>>2]=g;Ub(j,2,9798,v)|0;e=c[q>>2]|0;g=c[b+116>>2]|0}else{g=c[b+104>>2]|0;e=h;g=(h+-1-(c[b+96>>2]|0)+g|0)/(g|0)|0}c[b+40>>2]=g;h=d+12|0;c[h>>2]=e;v=b+76|0;a[v>>0]=a[v>>0]|2;v=c[d+16>>2]|0;b=c[d>>2]|0;a:do{if(v){f=c[m>>2]|0;t=f+-1|0;u=c[k>>2]|0;q=u+-1|0;r=b+-1|0;g=0;p=c[d+24>>2]|0;while(1){d=c[p>>2]|0;e=(r+d|0)/(d|0)|0;c[p+16>>2]=e;o=c[p+4>>2]|0;k=(t+o|0)/(o|0)|0;c[p+20>>2]=k;d=(q+d|0)/(d|0)|0;l=c[p+40>>2]|0;m=Ri(1,0,l|0)|0;n=C;d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;d=Si(d|0,C|0,m|0,n|0)|0;d=Pi(d|0,C|0,l|0)|0;e=Si(e|0,((e|0)<0)<<31>>31|0,-1,-1)|0;e=Si(e|0,C|0,m|0,n|0)|0;e=Pi(e|0,C|0,l|0)|0;e=d-e|0;if((e|0)<0){k=29;break}s=c[h>>2]|0;d=(o+-1+s|0)/(o|0)|0;c[p+8>>2]=e;d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;d=Si(d|0,C|0,m|0,n|0)|0;d=Pi(d|0,C|0,l|0)|0;e=Si(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;e=Si(e|0,C|0,m|0,n|0)|0;e=Pi(e|0,C|0,l|0)|0;e=d-e|0;if((e|0)<0){k=31;break}c[p+12>>2]=e;g=g+1|0;if(g>>>0>=v>>>0){e=u;g=s;break a}else p=p+52|0}if((k|0)==29){c[w>>2]=g;c[w+4>>2]=e;Ub(j,1,9887,w)|0;j=0;i=z;return j|0}else if((k|0)==31){c[x>>2]=g;c[x+4>>2]=e;Ub(j,1,9956,x)|0;j=0;i=z;return j|0}}else{f=c[m>>2]|0;e=c[k>>2]|0;g=c[h>>2]|0}}while(0);c[y>>2]=b;c[y+4>>2]=f;c[y+8>>2]=e;c[y+12>>2]=g;Ub(j,4,10025,y)|0;j=1;i=z;return j|0}function fd(){var b=0,d=0,e=0;b=Qc(1,208)|0;if(!b){d=0;return d|0}c[b>>2]=1;d=b+184|0;a[d>>0]=a[d>>0]|2;d=Qc(1,5640)|0;c[b+12>>2]=d;if(!d){Yc(b);d=0;return d|0}d=Qc(1,1e3)|0;c[b+16>>2]=d;if(!d){Yc(b);d=0;return d|0}c[b+20>>2]=1e3;c[b+60>>2]=-1;d=b+64|0;c[d>>2]=0;c[d+4>>2]=0;d=Qc(1,48)|0;do{if(d){c[d+32>>2]=100;c[d+24>>2]=0;e=Qc(100,24)|0;c[d+28>>2]=e;if(!e){Uc(d);break}c[d+40>>2]=0;c[b+196>>2]=d;e=qg()|0;c[b+192>>2]=e;if(!e){Yc(b);e=0;return e|0}e=qg()|0;c[b+188>>2]=e;if(e){e=b;return e|0}Yc(b);e=0;return e|0}}while(0);c[b+196>>2]=0;Yc(b);e=0;return e|0}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+128|0;s=t+104|0;r=t+72|0;q=t+64|0;n=t+40|0;l=t+24|0;j=t+16|0;h=t+8|0;g=t;if(b&384){ki(10063,11,1,d)|0;i=t;return}if((b&1|0)!=0?(f=c[a+80>>2]|0,(f|0)!=0):0)hd(f,0,d);if(b&2){ki(10075,36,1,d)|0;f=c[a+96>>2]|0;c[g>>2]=c[a+92>>2];c[g+4>>2]=f;$h(d,10112,g)|0;g=c[a+104>>2]|0;c[h>>2]=c[a+100>>2];c[h+4>>2]=g;$h(d,10130,h)|0;h=c[a+116>>2]|0;c[j>>2]=c[a+112>>2];c[j+4>>2]=h;$h(d,10148,j)|0;xd(c[a+12>>2]|0,c[(c[a+80>>2]|0)+16>>2]|0,d);ki(10164,2,1,d)|0}if((b&8|0)!=0?(k=_(c[a+112>>2]|0,c[a+116>>2]|0)|0,(k|0)!=0):0){f=a+80|0;g=0;h=c[a+164>>2]|0;while(1){xd(h,c[(c[f>>2]|0)+16>>2]|0,d);g=g+1|0;if((g|0)==(k|0))break;else h=h+5640|0}}if(!(b&16)){i=t;return}j=c[a+196>>2]|0;ki(10167,37,1,d)|0;k=j;b=c[k+4>>2]|0;f=j+8|0;a=c[f>>2]|0;f=c[f+4>>2]|0;h=l;c[h>>2]=c[k>>2];c[h+4>>2]=b;h=l+8|0;c[h>>2]=a;c[h+4>>2]=f;$h(d,10205,l)|0;ki(10272,17,1,d)|0;h=j+28|0;f=c[h>>2]|0;a:do{if((f|0)!=0?(m=j+24|0,(c[m>>2]|0)!=0):0){g=0;while(1){b=f+(g*24|0)+8|0;k=c[b>>2]|0;b=c[b+4>>2]|0;l=c[f+(g*24|0)+16>>2]|0;c[n>>2]=e[f+(g*24|0)>>1];a=n+8|0;c[a>>2]=k;c[a+4>>2]=b;c[n+16>>2]=l;$h(d,10290,n)|0;g=g+1|0;if(g>>>0>=(c[m>>2]|0)>>>0)break a;f=c[h>>2]|0}}}while(0);ki(10321,4,1,d)|0;b=j+40|0;h=c[b>>2]|0;if((h|0)!=0?(p=j+36|0,o=c[p>>2]|0,(o|0)!=0):0){g=0;f=0;do{f=(c[h+(g*40|0)+4>>2]|0)+f|0;g=g+1|0}while((g|0)!=(o|0));if(f){ki(10326,16,1,d)|0;if(c[p>>2]|0){f=c[b>>2]|0;k=0;do{j=c[f+(k*40|0)+4>>2]|0;c[q>>2]=k;c[q+4>>2]=j;$h(d,10343,q)|0;f=c[b>>2]|0;g=c[f+(k*40|0)+16>>2]|0;b:do{if(!((j|0)==0|(g|0)==0)){f=0;while(1){a=g+(f*24|0)|0;u=c[a>>2]|0;a=c[a+4>>2]|0;m=g+(f*24|0)+8|0;l=c[m>>2]|0;m=c[m+4>>2]|0;o=g+(f*24|0)+16|0;n=c[o>>2]|0;o=c[o+4>>2]|0;c[r>>2]=f;h=r+8|0;c[h>>2]=u;c[h+4>>2]=a;h=r+16|0;c[h>>2]=l;c[h+4>>2]=m;h=r+24|0;c[h>>2]=n;c[h+4>>2]=o;$h(d,10379,r)|0;h=f+1|0;f=c[b>>2]|0;if((h|0)==(j|0))break b;g=c[f+(k*40|0)+16>>2]|0;f=h}}}while(0);g=c[f+(k*40|0)+24>>2]|0;c:do{if((g|0)!=0?(c[f+(k*40|0)+20>>2]|0)!=0:0){f=0;while(1){o=g+(f*24|0)+8|0;n=c[o>>2]|0;o=c[o+4>>2]|0;h=c[g+(f*24|0)+16>>2]|0;c[s>>2]=e[g+(f*24|0)>>1];u=s+8|0;c[u>>2]=n;c[u+4>>2]=o;c[s+16>>2]=h;$h(d,10290,s)|0;h=f+1|0;f=c[b>>2]|0;if(h>>>0>=(c[f+(k*40|0)+20>>2]|0)>>>0)break c;g=c[f+(k*40|0)+24>>2]|0;f=h}}}while(0);k=k+1|0}while(k>>>0<(c[p>>2]|0)>>>0)}ki(10321,4,1,d)|0}}ki(10164,2,1,d)|0;i=t;return}function hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;h=n+16|0;g=n;k=n+52|0;if(!d){ki(10482,13,1,e)|0;a[k+1>>0]=0;f=9}else{ki(10445,36,1,c[676]|0)|0;f=0}a[k>>0]=f;o=c[b>>2]|0;f=c[b+4>>2]|0;c[g>>2]=k;c[g+4>>2]=o;c[g+8>>2]=f;$h(e,10496,g)|0;g=c[b+8>>2]|0;f=c[b+12>>2]|0;c[h>>2]=k;c[h+4>>2]=g;c[h+8>>2]=f;$h(e,10513,h)|0;h=b+16|0;f=c[h>>2]|0;c[j>>2]=k;c[j+4>>2]=f;$h(e,10530,j)|0;f=b+24|0;if(!(c[f>>2]|0)){ki(10164,2,1,e)|0;i=n;return}if(!(c[h>>2]|0)){ki(10164,2,1,e)|0;i=n;return}else g=0;do{c[l>>2]=k;c[l+4>>2]=g;$h(e,10546,l)|0;id((c[f>>2]|0)+(g*52|0)|0,d,e);c[m>>2]=k;$h(e,10566,m)|0;g=g+1|0}while(g>>>0<(c[h>>2]|0)>>>0);ki(10164,2,1,e)|0;i=n;return}function id(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;k=l+24|0;j=l+16|0;h=l;g=l+32|0;f=(d|0)!=0;if(f){ki(10571,41,1,c[676]|0)|0;d=0}else{a[g+1>>0]=9;a[g+2>>0]=0;d=9}a[g>>0]=d;m=c[b>>2]|0;d=c[b+4>>2]|0;c[h>>2]=g;c[h+4>>2]=m;c[h+8>>2]=d;$h(e,10613,h)|0;h=c[b+24>>2]|0;c[j>>2]=g;c[j+4>>2]=h;$h(e,10630,j)|0;j=c[b+32>>2]|0;c[k>>2]=g;c[k+4>>2]=j;$h(e,10642,k)|0;if(!f){i=l;return}ki(10164,2,1,e)|0;i=l;return}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;e=m;b=a+80|0;k=c[(c[b>>2]|0)+16>>2]|0;d=Qc(1,56)|0;c[e>>2]=d;if(!d){l=0;i=m;return l|0}c[d+24>>2]=c[(c[b>>2]|0)+16>>2];c[d>>2]=c[a+92>>2];c[d+4>>2]=c[a+96>>2];c[d+8>>2]=c[a+100>>2];c[d+12>>2]=c[a+104>>2];c[d+16>>2]=c[a+112>>2];c[d+20>>2]=c[a+116>>2];c[d+52>>2]=0;d=c[a+12>>2]|0;b=c[e>>2]|0;c[b+32>>2]=c[d>>2];c[b+36>>2]=c[d+4>>2];c[b+40>>2]=c[d+8>>2];c[b+44>>2]=c[d+16>>2];c[b+48>>2]=Qc(c[b+24>>2]|0,1080)|0;b=c[e>>2]|0;j=b+48|0;a=c[j>>2]|0;if(!a){Cc(e);l=0;i=m;return l|0}if(!k){l=b;i=m;return l|0}h=d+5584|0;d=0;while(1){g=c[h>>2]|0;c[a+(d*1080|0)+4>>2]=c[g+(d*1080|0)>>2];e=g+(d*1080|0)+4|0;f=c[e>>2]|0;c[a+(d*1080|0)+8>>2]=f;c[a+(d*1080|0)+12>>2]=c[g+(d*1080|0)+8>>2];c[a+(d*1080|0)+16>>2]=c[g+(d*1080|0)+12>>2];c[a+(d*1080|0)+20>>2]=c[g+(d*1080|0)+16>>2];c[a+(d*1080|0)+24>>2]=c[g+(d*1080|0)+20>>2];if(f>>>0<33){Ui(a+(d*1080|0)+948|0,g+(d*1080|0)+944|0,f|0)|0;Ui(a+(d*1080|0)+816|0,g+(d*1080|0)+812|0,c[e>>2]|0)|0}f=c[g+(d*1080|0)+24>>2]|0;c[a+(d*1080|0)+28>>2]=f;c[a+(d*1080|0)+808>>2]=c[g+(d*1080|0)+804>>2];if((f|0)!=1){f=(c[e>>2]|0)*3|0;e=f+-2|0;if((e|0)<97&(f|0)>2)l=10}else{e=1;l=10}if((l|0)==10){l=0;f=0;do{c[a+(d*1080|0)+32+(f<<2)>>2]=c[g+(d*1080|0)+28+(f<<3)+4>>2];c[a+(d*1080|0)+420+(f<<2)>>2]=c[g+(d*1080|0)+28+(f<<3)>>2];f=f+1|0}while((f|0)!=(e|0))}c[a+(d*1080|0)+812>>2]=c[g+(d*1080|0)+808>>2];d=d+1|0;if((d|0)==(k|0))break;a=c[j>>2]|0}i=m;return b|0}function kd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Qc(1,48)|0;if(!b){k=0;return k|0}h=a+196|0;d=c[h>>2]|0;i=d;k=c[i+4>>2]|0;a=b;c[a>>2]=c[i>>2];c[a+4>>2]=k;a=d+8|0;k=c[a+4>>2]|0;i=b+8|0;c[i>>2]=c[a>>2];c[i+4>>2]=k;i=d+16|0;k=c[i+4>>2]|0;a=b+16|0;c[a>>2]=c[i>>2];c[a+4>>2]=k;d=c[d+24>>2]|0;a=b+24|0;c[a>>2]=d;d=Pc(d*24|0)|0;k=b+28|0;c[k>>2]=d;if(!d){Uc(b);k=0;return k|0}e=c[(c[h>>2]|0)+28>>2]|0;if(!e){Uc(d);c[k>>2]=0}else Ui(d|0,e|0,(c[a>>2]|0)*24|0)|0;a=c[(c[h>>2]|0)+36>>2]|0;g=b+36|0;c[g>>2]=a;a=Qc(a,40)|0;i=b+40|0;c[i>>2]=a;if(!a){Uc(c[k>>2]|0);Uc(b);k=0;return k|0}d=c[(c[h>>2]|0)+40>>2]|0;if(!d){Uc(a);c[i>>2]=0;k=b;return k|0}if(!(c[g>>2]|0)){k=b;return k|0}d=c[d+20>>2]|0;c[a+20>>2]=d;d=Pc(d*24|0)|0;a=c[i>>2]|0;c[a+24>>2]=d;a:do{if(!d)d=0;else{f=d;d=0;while(1){e=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+24>>2]|0;if(!e){Uc(f);a=c[i>>2]|0;c[a+(d*40|0)+24>>2]=0}else{Ui(f|0,e|0,(c[a+(d*40|0)+20>>2]|0)*24|0)|0;a=c[i>>2]|0}e=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+4>>2]|0;c[a+(d*40|0)+4>>2]=e;e=Pc(e*24|0)|0;a=c[i>>2]|0;c[a+(d*40|0)+16>>2]=e;if(!e)break;f=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+16>>2]|0;if(!f){Uc(e);a=c[i>>2]|0;c[a+(d*40|0)+16>>2]=0}else{Ui(e|0,f|0,(c[a+(d*40|0)+4>>2]|0)*24|0)|0;a=c[i>>2]|0}c[a+(d*40|0)+32>>2]=0;c[a+(d*40|0)+36>>2]=0;d=d+1|0;if(d>>>0>=(c[g>>2]|0)>>>0){j=32;break}f=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+20>>2]|0;c[a+(d*40|0)+20>>2]=f;f=Pc(f*24|0)|0;a=c[i>>2]|0;c[a+(d*40|0)+24>>2]=f;if(!f)break a}if((j|0)==32)return b|0;if(d){Uc(c[a+24>>2]|0);Uc(c[(c[i>>2]|0)+16>>2]|0);if((d|0)!=1){a=1;do{Uc(c[(c[i>>2]|0)+(a*40|0)+24>>2]|0);Uc(c[(c[i>>2]|0)+(a*40|0)+16>>2]|0);a=a+1|0}while((a|0)!=(d|0))}a=c[i>>2]|0}Uc(a);Uc(c[k>>2]|0);Uc(b);k=0;return k|0}}while(0);if(d){Uc(c[a+24>>2]|0);if((d|0)!=1){a=1;do{Uc(c[(c[i>>2]|0)+(a*40|0)+24>>2]|0);a=a+1|0}while((a|0)!=(d|0))}a=c[i>>2]|0}Uc(a);Uc(c[k>>2]|0);Uc(b);k=0;return k|0}function ld(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if(!d){d=0;return d|0}f=Xb()|0;k=a+84|0;c[k>>2]=f;if(!f){d=0;return d|0}$b(d,f);h=a+188|0;sg(c[h>>2]|0,27,e)|0;h=c[h>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){d=a+80|0;Zb(c[d>>2]|0);c[d>>2]=0;d=0;return d|0}}else vg(h);i=c[d+16>>2]|0;if(!i){d=1;return d|0}h=c[(c[k>>2]|0)+24>>2]|0;f=c[d+24>>2]|0;g=0;do{c[f+(g*52|0)+36>>2]=c[h+(g*52|0)+36>>2];d=h+(g*52|0)+44|0;c[f+(g*52|0)+44>>2]=c[d>>2];c[d>>2]=0;g=g+1|0}while(g>>>0>>0);f=1;return f|0}function md(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;t=i;i=i+16|0;j=t+8|0;if(!d){Ub(e,1,10654,t)|0;s=0;i=t;return s|0}g=c[a+112>>2]|0;h=_(c[a+116>>2]|0,g)|0;if(h>>>0<=f>>>0){c[j>>2]=f;c[j+4>>2]=h+-1;Ub(e,1,10692,j)|0;s=0;i=t;return s|0}s=(f>>>0)%(g>>>0)|0;r=(f>>>0)/(g>>>0)|0;j=c[a+100>>2]|0;h=_(j,s)|0;k=c[a+92>>2]|0;h=h+k|0;c[d>>2]=h;q=a+80|0;g=c[q>>2]|0;l=c[g>>2]|0;h=h>>>0>>0?l:h;c[d>>2]=h;k=(_(j,s+1|0)|0)+k|0;s=d+8|0;c[s>>2]=k;j=c[g+8>>2]|0;k=k>>>0>j>>>0?j:k;c[s>>2]=k;s=c[a+104>>2]|0;j=_(s,r)|0;l=c[a+96>>2]|0;j=j+l|0;p=d+4|0;c[p>>2]=j;o=c[g+4>>2]|0;j=j>>>0>>0?o:j;c[p>>2]=j;l=(_(s,r+1|0)|0)+l|0;r=d+12|0;c[r>>2]=l;s=c[g+12>>2]|0;l=l>>>0>s>>>0?s:l;c[r>>2]=l;r=d+24|0;s=d+16|0;p=c[s>>2]|0;if(p){o=c[g+24>>2]|0;n=h+-1|0;m=j+-1|0;k=k+-1|0;g=l+-1|0;h=0;j=c[r>>2]|0;while(1){l=c[o+(h*52|0)+40>>2]|0;c[j+40>>2]=l;z=c[j>>2]|0;y=(n+z|0)/(z|0)|0;c[j+16>>2]=y;u=c[j+4>>2]|0;x=(m+u|0)/(u|0)|0;c[j+20>>2]=x;z=(k+z|0)/(z|0)|0;u=(g+u|0)/(u|0)|0;w=Ri(1,0,l|0)|0;v=C;z=Si(z|0,((z|0)<0)<<31>>31|0,-1,-1)|0;z=Si(z|0,C|0,w|0,v|0)|0;z=Pi(z|0,C|0,l|0)|0;y=Si(y|0,((y|0)<0)<<31>>31|0,-1,-1)|0;y=Si(y|0,C|0,w|0,v|0)|0;y=Pi(y|0,C|0,l|0)|0;c[j+8>>2]=z-y;u=Si(u|0,((u|0)<0)<<31>>31|0,-1,-1)|0;u=Si(u|0,C|0,w|0,v|0)|0;u=Pi(u|0,C|0,l|0)|0;x=Si(x|0,((x|0)<0)<<31>>31|0,-1,-1)|0;v=Si(x|0,C|0,w|0,v|0)|0;l=Pi(v|0,C|0,l|0)|0;c[j+12>>2]=u-l;h=h+1|0;if(h>>>0>=p>>>0)break;else j=j+52|0}}m=a+84|0;g=c[m>>2]|0;if(g)Zb(g);g=Xb()|0;c[m>>2]=g;if(!g){z=0;i=t;return z|0}$b(d,g);c[a+60>>2]=f;j=a+188|0;sg(c[j>>2]|0,28,e)|0;j=c[j>>2]|0;k=tg(j)|0;g=ug(j)|0;if(k){l=0;h=1;while(1){if(!h)h=0;else h=(Ra[c[g>>2]&63](a,b,e)|0)!=0;l=l+1|0;if((l|0)==(k|0))break;else{g=g+4|0;h=h&1}}vg(j);if(!h){Zb(c[q>>2]|0);c[q>>2]=0;z=0;i=t;return z|0}}else vg(j);g=c[s>>2]|0;if(!g){z=1;i=t;return z|0}k=c[(c[m>>2]|0)+24>>2]|0;j=c[r>>2]|0;l=0;while(1){c[j+(l*52|0)+36>>2]=c[k+(l*52|0)+36>>2];h=c[j+(l*52|0)+44>>2]|0;if(!h)h=k;else{Uc(h);h=c[(c[m>>2]|0)+24>>2]|0;j=c[r>>2]|0;g=c[s>>2]|0}z=h+(l*52|0)+44|0;c[j+(l*52|0)+44>>2]=c[z>>2];c[z>>2]=0;l=l+1|0;if(l>>>0>=g>>>0){g=1;break}else k=h}i=t;return g|0}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;c[a+168>>2]=b;e=c[a+80>>2]|0;a:do{if((((e|0)!=0?(h=c[e+24>>2]|0,(h|0)!=0):0)?(f=c[a+12>>2]|0,(f|0)!=0):0)?(g=c[f+5584>>2]|0,(g|0)!=0):0){e=c[e+16>>2]|0;if(!e)e=1;else{f=0;while(1){if((c[g+(f*1080|0)+4>>2]|0)>>>0<=b>>>0)break;c[h+(f*52|0)+40>>2]=b;f=f+1|0;if(f>>>0>=e>>>0){e=1;break a}}Ub(d,1,10753,j)|0;e=0}}else e=0}while(0);i=k;return e|0}function od(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;Q=i;i=i+48|0;O=Q+32|0;N=Q+24|0;M=Q+16|0;K=Q+8|0;L=Q;A=d+204|0;g=c[A>>2]|0;F=d+116|0;G=d+112|0;H=_(c[G>>2]|0,c[F>>2]|0)|0;I=(H|0)==1;if(!H){P=1;i=Q;return P|0}J=d+200|0;B=d+12|0;C=d+164|0;D=d+8|0;E=g+20|0;y=g+24|0;z=0;g=0;l=0;a:while(1){if((c[J>>2]|0)!=(z|0)){P=5;break}w=z;z=z+1|0;x=_(c[F>>2]|0,c[G>>2]|0)|0;c[K>>2]=z;c[K+4>>2]=x;Ub(f,4,10866,K)|0;c[B>>2]=0;x=c[A>>2]|0;c[x+12>>2]=c[(c[C>>2]|0)+(w*5640|0)+5588>>2];c[D>>2]=0;if(!(_f(x,c[J>>2]|0,f)|0))break;h=c[A>>2]|0;if(c[(c[h+24>>2]|0)+16>>2]|0){k=0;do{j=c[(c[c[E>>2]>>2]|0)+20>>2]|0;if(I){c[j+(k*52|0)+32>>2]=c[(c[(c[y>>2]|0)+24>>2]|0)+(k*52|0)+44>>2];c[j+(k*52|0)+36>>2]=0}else{if(!(Zf(j+(k*52|0)|0)|0)){P=14;break a}h=c[A>>2]|0}k=k+1|0}while(k>>>0<(c[(c[h+24>>2]|0)+16>>2]|0)>>>0)}x=eg(h)|0;if(!I){if(x>>>0>l>>>0){h=Tc(g,x)|0;if(!h){P=20;break}else{g=h;h=x}}else h=l;j=c[A>>2]|0;w=j+24|0;k=c[w>>2]|0;if(c[k+16>>2]|0){v=j+20|0;j=g;u=0;do{r=c[(c[c[v>>2]>>2]|0)+20>>2]|0;m=c[k+24>>2]|0;q=c[m+(u*52|0)+24>>2]|0;q=((q&7|0)!=0&1)+(q>>>3)|0;n=c[r+(u*52|0)+8>>2]|0;o=c[r+(u*52|0)>>2]|0;t=n-o|0;p=c[r+(u*52|0)+12>>2]|0;r=c[r+(u*52|0)+4>>2]|0;T=c[k>>2]|0;S=c[m+(u*52|0)>>2]|0;l=c[m+(u*52|0)+4>>2]|0;R=(S+~T+(c[k+8>>2]|0)|0)/(S|0)|0;s=R-t|0;k=o-((T+-1+S|0)/(S|0)|0)+(_(R,r-(((c[k+4>>2]|0)+-1+l|0)/(l|0)|0)|0)|0)|0;k=(c[m+(u*52|0)+44>>2]|0)+(k<<2)|0;b:do{switch(((q|0)==3?4:q)|0){case 1:{l=(p|0)==(r|0);if(!(c[m+(u*52|0)+32>>2]|0)){if(l)break b;q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){a[m>>0]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+1|0;n=n+4|0}}j=j+t|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}else{if(l)break b;q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){a[m>>0]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+1|0;n=n+4|0}}j=j+t|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}case 2:{l=(p|0)==(r|0);if(!(c[m+(u*52|0)+32>>2]|0)){if(!l){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){b[m>>1]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+2|0;n=n+4|0}}j=j+(t<<1)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}}else if(!l){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){b[m>>1]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+2|0;n=n+4|0}}j=j+(t<<1)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}case 4:{if((p|0)!=(r|0)){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){c[m>>2]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+4|0;n=n+4|0}}j=j+(t<<2)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}default:{}}}while(0);u=u+1|0;k=c[w>>2]|0}while(u>>>0<(c[k+16>>2]|0)>>>0);j=c[A>>2]|0}if(!(fg(j,g,x)|0)){P=63;break}}else h=l;if(!(Ad(d,e,f)|0)){P=65;break}if(z>>>0>=H>>>0){P=67;break}else l=h}if((P|0)==5)Ub(f,1,10829,L)|0;else if((P|0)==14){Ub(f,1,10887,M)|0;if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}else if((P|0)==20){if(g)Uc(g);Ub(f,1,10925,N)|0;T=0;i=Q;return T|0}else if((P|0)==63){Ub(f,1,10964,O)|0;Uc(g);T=0;i=Q;return T|0}else if((P|0)==65){if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}else if((P|0)==67){if(!g){T=1;i=Q;return T|0}Uc(g);T=1;i=Q;return T|0}if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}function pd(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+188|0;if(!(sg(c[f>>2]|0,29,e)|0)){d=0;return d|0}if(((b[a+88>>1]|0)+-3&65535)<4?(sg(c[f>>2]|0,30,e)|0)==0:0){d=0;return d|0}if(!(sg(c[f>>2]|0,31,e)|0)){d=0;return d|0}if(!(sg(c[f>>2]|0,32,e)|0)){d=0;return d|0}if(!(sg(c[f>>2]|0,33,e)|0)){d=0;return d|0}j=c[f>>2]|0;h=tg(j)|0;f=ug(j)|0;if(!h)f=1;else{i=0;g=f;f=1;while(1){if(!f)f=0;else f=(Ra[c[g>>2]&63](a,d,e)|0)!=0;f=f&1;i=i+1|0;if((i|0)==(h|0))break;else g=g+4|0}}vg(j);d=f;return d|0}function qd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=Xb()|0;k=a+80|0;c[k>>2]=g;if(!g){Ub(f,1,11011,m)|0;d=0;i=m;return d|0}$b(e,g);j=c[e+24>>2]|0;if((j|0)!=0?(l=c[e+16>>2]|0,(l|0)!=0):0){h=0;do{e=j+(h*52|0)+44|0;g=c[e>>2]|0;if(g){c[(c[(c[k>>2]|0)+24>>2]|0)+(h*52|0)+44>>2]=g;c[e>>2]=0}h=h+1|0}while(h>>>0>>0)}g=a+192|0;if(!(sg(c[g>>2]|0,34,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,35,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,36,f)|0)){d=0;i=m;return d|0}h=c[g>>2]|0;j=tg(h)|0;g=ug(h)|0;if(j){k=0;e=1;while(1){if(!e)e=0;else e=(Ra[c[g>>2]&63](a,d,f)|0)!=0;k=k+1|0;if((k|0)==(j|0))break;else{g=g+4|0;e=e&1}}vg(h);if(!e){d=0;i=m;return d|0}}else vg(h);g=a+188|0;if(!(sg(c[g>>2]|0,37,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,38,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,39,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,40,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,41,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,42,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,43,f)|0)){d=0;i=m;return d|0}e=a+88|0;if(((b[e>>1]|0)+-3&65535)<4){if(!(sg(c[g>>2]|0,44,f)|0)){d=0;i=m;return d|0}if((b[e>>1]|0)==4?(sg(c[g>>2]|0,45,f)|0)==0:0){d=0;i=m;return d|0}}if(!(sg(c[g>>2]|0,46,f)|0)){d=0;i=m;return d|0}if((c[a+108>>2]|0)!=0?(sg(c[g>>2]|0,47,f)|0)==0:0){d=0;i=m;return d|0}if((b[e>>1]&256)!=0?(sg(c[g>>2]|0,48,f)|0)==0:0){d=0;i=m;return d|0}if((c[a+196>>2]|0)!=0?(sg(c[g>>2]|0,49,f)|0)==0:0){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,50,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,51,f)|0)){d=0;i=m;return d|0}k=c[g>>2]|0;h=tg(k)|0;g=ug(k)|0;if(!h)g=1;else{j=0;e=g;g=1;while(1){if(!g)g=0;else g=(Ra[c[e>>2]&63](a,d,f)|0)!=0;g=g&1;j=j+1|0;if((j|0)==(h|0))break;else e=e+4|0}}vg(k);d=g;i=m;return d|0}function rd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q+40|0;p=q+32|0;n=q+24|0;l=q+16|0;j=q+8|0;h=q;k=a+200|0;if((c[k>>2]|0)==(b|0)){m=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[j>>2]=b+1;c[j+4>>2]=m;Ub(g,4,10866,j)|0;c[a+12>>2]=0;m=a+204|0;j=c[m>>2]|0;c[j+12>>2]=c[(c[a+164>>2]|0)+(b*5640|0)+5588>>2];c[a+8>>2]=0;if(_f(j,c[k>>2]|0,g)|0){h=c[m>>2]|0;a:do{if(c[(c[h+24>>2]|0)+16>>2]|0){j=0;while(1){if(!(Zf((c[(c[c[h+20>>2]>>2]|0)+20>>2]|0)+(j*52|0)|0)|0))break;j=j+1|0;h=c[m>>2]|0;if(j>>>0>=(c[(c[h+24>>2]|0)+16>>2]|0)>>>0)break a}Ub(g,1,10887,n)|0;p=0;i=q;return p|0}}while(0);if(!(fg(h,d,e)|0)){Ub(g,1,10964,p)|0;p=0;i=q;return p|0}if(Ad(a,f,g)|0){p=1;i=q;return p|0}c[o>>2]=b;Ub(g,1,11101,o)|0;p=0;i=q;return p|0}}else Ub(g,1,10829,h)|0;c[l>>2]=b;Ub(g,1,11044,l)|0;p=0;i=q;return p|0}function sd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;f=a+5164|0;b=c[f>>2]|0;if(b){g=a+5160|0;d=c[g>>2]|0;if(d){e=0;while(1){b=c[b+(e<<3)>>2]|0;if(b){Uc(b);d=c[g>>2]|0}e=e+1|0;if(e>>>0>=d>>>0)break;b=c[f>>2]|0}b=c[f>>2]|0}c[g>>2]=0;Uc(b);c[f>>2]=0}b=a+5172|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5584|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5608|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5604|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5624|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0;c[a+5632>>2]=0;c[a+5628>>2]=0}i=a+5612|0;b=c[i>>2]|0;if(b){h=a+5616|0;d=c[h>>2]|0;if(d){g=0;while(1){e=b+12|0;f=c[e>>2]|0;if(f){Uc(f);c[e>>2]=0;d=c[h>>2]|0}g=g+1|0;if(g>>>0>=d>>>0)break;else b=b+20|0}b=c[i>>2]|0}Uc(b);c[i>>2]=0}b=a+5600|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5592|0;d=c[b>>2]|0;if(!d)return;Uc(d);c[b>>2]=0;c[a+5596>>2]=0;return}function td(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function ud(a,b,d){a=a|0;b=b|0;d=d|0;return(c[a+8>>2]|0)==0&(c[a+188>>2]|0)!=0&(c[a+192>>2]|0)!=0&1|0}function vd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+224|0;X=Y+200|0;U=Y+192|0;T=Y+184|0;Q=Y+176|0;P=Y+168|0;O=Y+160|0;M=Y+152|0;L=Y+144|0;K=Y+136|0;E=Y+128|0;J=Y+120|0;D=Y+112|0;B=Y+104|0;A=Y+96|0;z=Y+88|0;y=Y+80|0;I=Y+72|0;H=Y+64|0;x=Y+56|0;w=Y+48|0;v=Y+40|0;F=Y+32|0;p=Y+24|0;m=Y+16|0;l=Y+8|0;N=Y;S=Y+216|0;g=Y+204|0;G=Y+212|0;u=Y+208|0;W=d+8|0;c[W>>2]=1;a:do{if((Mb(e,S,2,f)|0)==2?(qb(S,g,2),(c[g>>2]|0)==65359):0){c[W>>2]=2;o=Pb(e)|0;o=Si(o|0,C|0,-2,-1)|0;n=C;V=d+196|0;h=c[V>>2]|0;c[h>>2]=o;c[h+4>>2]=n;h=N;c[h>>2]=o;c[h+4>>2]=n;Ub(f,4,15766,N)|0;h=c[V>>2]|0;n=c[h>>2]|0;o=h+24|0;g=c[o>>2]|0;k=h+32|0;j=c[k>>2]|0;do{if((g+1|0)>>>0>j>>>0){t=~~(+(j>>>0)+100.0)>>>0;c[k>>2]=t;g=h+28|0;h=Tc(c[g>>2]|0,t*24|0)|0;if(!h){Uc(c[g>>2]|0);c[g>>2]=0;c[k>>2]=0;c[o>>2]=0;Ub(f,1,15803,l)|0;break a}else{c[g>>2]=h;g=c[o>>2]|0;break}}else h=c[h+28>>2]|0}while(0);b[h+(g*24|0)>>1]=-177;s=Pi(0,n|0,32)|0;t=h+(g*24|0)+8|0;c[t>>2]=s;c[t+4>>2]=C;c[h+(g*24|0)+16>>2]=2;c[o>>2]=g+1;t=d+16|0;if((Mb(e,c[t>>2]|0,2,f)|0)!=2){Ub(f,1,8295,p)|0;f=0;i=Y;return f|0}qb(c[t>>2]|0,G,2);g=c[G>>2]|0;if((g|0)!=65424){s=d+20|0;q=0;j=0;r=0;b:while(1){if(g>>>0<65280){R=14;break}else l=784;while(1){h=c[l>>2]|0;k=(h|0)==0;if(k|(h|0)==(g|0))break;else l=l+12|0}if(k){Ub(f,2,15914,v)|0;m=2;c:while(1){do{if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=20;break b}qb(c[t>>2]|0,N,2);g=c[N>>2]|0}while(g>>>0<65280);l=784;while(1){h=c[l>>2]|0;if((h|0)==0|(h|0)==(g|0)){k=l;g=l;break}else l=l+12|0}if(!(c[g+4>>2]&c[W>>2])){R=25;break b}if((h|0)>=65424){R=100;break}switch(h|0){case 0:break;default:{p=k;o=m;break c}}m=m+2|0}if((R|0)==100){R=0;switch(h|0){case 65424:{h=q;g=r;R=27;break b}default:{p=k;o=m}}}l=c[V>>2]|0;n=Pb(e)|0;n=n-o|0;k=l+24|0;g=c[k>>2]|0;h=l+32|0;m=c[h>>2]|0;if((g+1|0)>>>0>m>>>0){g=~~(+(m>>>0)+100.0)>>>0;c[h>>2]=g;l=l+28|0;g=Tc(c[l>>2]|0,g*24|0)|0;if(!g){j=l;g=l;R=32;break}c[l>>2]=g;h=g;g=c[k>>2]|0}else h=c[l+28>>2]|0;b[h+(g*24|0)>>1]=0;m=h+(g*24|0)+8|0;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;c[h+(g*24|0)+16>>2]=o;c[k>>2]=g+1;g=c[p>>2]|0;c[G>>2]=g;if((g|0)==65424){h=q;g=r;break}else k=784;while(1){h=c[k>>2]|0;if((h|0)==0|(h|0)==(g|0))break;else k=k+12|0}}else k=l;r=(h|0)==65361?1:r;q=(h|0)==65362?1:q;j=(h|0)==65372?1:j;if(!(c[k+4>>2]&c[W>>2])){R=38;break}if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=40;break}qb(c[t>>2]|0,u,2);h=(c[u>>2]|0)+-2|0;c[u>>2]=h;g=c[t>>2]|0;if(h>>>0>(c[s>>2]|0)>>>0){g=Tc(g,h)|0;if(!g){R=43;break}c[t>>2]=g;h=c[u>>2]|0;c[s>>2]=h}g=Mb(e,g,h,f)|0;if((g|0)!=(c[u>>2]|0)){R=46;break}if(!(Za[c[k+8>>2]&63](d,c[t>>2]|0,g,f)|0)){R=48;break}m=c[V>>2]|0;n=c[k>>2]|0;o=Pb(e)|0;p=c[u>>2]|0;o=-4-p+o|0;p=p+4|0;k=m+24|0;g=c[k>>2]|0;h=m+32|0;l=c[h>>2]|0;if((g+1|0)>>>0>l>>>0){g=~~(+(l>>>0)+100.0)>>>0;c[h>>2]=g;l=m+28|0;g=Tc(c[l>>2]|0,g*24|0)|0;if(!g){j=l;g=l;R=53;break}c[l>>2]=g;h=g;g=c[k>>2]|0}else h=c[m+28>>2]|0;b[h+(g*24|0)>>1]=n;n=h+(g*24|0)+8|0;c[n>>2]=o;c[n+4>>2]=((o|0)<0)<<31>>31;c[h+(g*24|0)+16>>2]=p;c[k>>2]=g+1;if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=55;break}qb(c[t>>2]|0,G,2);g=c[G>>2]|0;if((g|0)==65424){h=q;g=r;break}}switch(R|0){case 14:{c[F>>2]=g;Ub(f,1,15863,F)|0;f=0;i=Y;return f|0}case 20:{Ub(f,1,8295,w)|0;R=34;break}case 25:{Ub(f,1,8339,x)|0;R=34;break}case 27:{c[G>>2]=65424;break}case 32:{Uc(c[g>>2]|0);c[j>>2]=0;c[h>>2]=0;c[k>>2]=0;Ub(f,1,15803,H)|0;R=34;break}case 38:{Ub(f,1,8339,y)|0;f=0;i=Y;return f|0}case 40:{Ub(f,1,8295,z)|0;f=0;i=Y;return f|0}case 43:{Uc(c[t>>2]|0);c[t>>2]=0;c[s>>2]=0;Ub(f,1,8427,A)|0;f=0;i=Y;return f|0}case 46:{Ub(f,1,8295,B)|0;f=0;i=Y;return f|0}case 48:{Ub(f,1,15985,D)|0;f=0;i=Y;return f|0}case 53:{Uc(c[g>>2]|0);c[j>>2]=0;c[h>>2]=0;c[k>>2]=0;Ub(f,1,15803,J)|0;f=0;i=Y;return f|0}case 55:{Ub(f,1,8295,E)|0;f=0;i=Y;return f|0}}if((R|0)==34){Ub(f,1,15930,I)|0;f=0;i=Y;return f|0}if(g){if(!h){Ub(f,1,16090,L)|0;f=0;i=Y;return f|0}if(!j){Ub(f,1,16136,M)|0;f=0;i=Y;return f|0}d:do{if(a[d+184>>0]&1){s=d+120|0;do{if(c[s>>2]|0){n=d+124|0;o=0;g=0;h=0;e:do{j=c[n>>2]|0;k=c[j+(o<<3)>>2]|0;f:do{if(k){l=c[j+(o<<3)+4>>2]|0;j=g>>>0>>0;m=j?0:g-l|0;if((l|0)==(g|0)|j^1)g=m;else{k=j?k+g|0:k;g=l-g|0;while(1){if(g>>>0<4){R=70;break e}qb(k,N,4);j=g+-4|0;g=c[N>>2]|0;h=g+h|0;if(j>>>0>>0)break;if((j|0)==(g|0)){g=m;break f}else{k=k+(g+4)|0;g=j-g|0}}g=g-j|0}}}while(0);o=o+1|0}while(o>>>0<(c[s>>2]|0)>>>0);if((R|0)==70){Ub(f,1,16182,O)|0;break}if(!g)R=77;else Ub(f,1,16213,P)|0}else{h=0;R=77}}while(0);g:do{if((R|0)==77){j=Pc(h)|0;p=d+144|0;c[p>>2]=j;if(!j){Ub(f,1,13302,Q)|0;break}q=d+132|0;c[q>>2]=h;k=c[s>>2]|0;r=d+124|0;do{if(k){g=c[r>>2]|0;j=g;o=0;n=0;h=0;h:while(1){l=c[j+(o<<3)>>2]|0;if(!l)l=n;else{j=c[j+(o<<3)+4>>2]|0;g=(c[p>>2]|0)+h|0;i:do{if(n>>>0>>0){Ui(g|0,l|0,n|0)|0;h=h+n|0;if((j|0)==(n|0)){l=0;break}m=l+n|0;g=j-n|0;while(1){if(g>>>0<4){R=88;break h}qb(m,S,4);l=m+4|0;k=g+-4|0;j=c[S>>2]|0;g=(c[p>>2]|0)+h|0;if(k>>>0>>0){j=l;break}Ui(g|0,l|0,j|0)|0;g=c[S>>2]|0;h=g+h|0;if((k|0)==(g|0)){l=0;break i}else{m=m+(g+4)|0;g=k-g|0}}Ui(g|0,j|0,k|0)|0;l=(c[S>>2]|0)-k|0;h=k+h|0}else{Ui(g|0,l|0,j|0)|0;l=n-j|0;h=j+h|0}}while(0);Uc(c[(c[r>>2]|0)+(o<<3)>>2]|0);j=c[r>>2]|0;c[j+(o<<3)>>2]=0;c[j+(o<<3)+4>>2]=0;k=c[s>>2]|0;g=j}o=o+1|0;if(o>>>0>=k>>>0){R=94;break}else n=l}if((R|0)==88){Ub(f,1,16182,T)|0;break g}else if((R|0)==94){j=c[p>>2]|0;h=c[q>>2]|0;break}}else g=c[r>>2]|0}while(0);c[d+128>>2]=j;c[d+152>>2]=h;c[s>>2]=0;Uc(g);c[r>>2]=0;break d}}while(0);Ub(f,1,16236,U)|0;f=0;i=Y;return f|0}}while(0);Ub(f,4,16262,X)|0;X=Pb(e)|0;f=(c[V>>2]|0)+8|0;c[f>>2]=X+-2;c[f+4>>2]=0;c[W>>2]=8;f=1;i=Y;return f|0}}Ub(f,1,16044,K)|0;f=0;i=Y;return f|0}}while(0);Ub(f,1,15839,m)|0;f=0;i=Y;return f|0}function wd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+16|0;F=G;D=c[b+80>>2]|0;E=b+88|0;A=_(c[b+112>>2]|0,c[b+116>>2]|0)|0;q=c[D+16>>2]|0;o=q*1080|0;p=c[b+12>>2]|0;q=_(q<<2,q)|0;a:do{if(A){r=p+5604|0;s=p+5620|0;t=p+5612|0;u=p+5616|0;v=p+5632|0;w=p+5624|0;x=p+5584|0;B=0;C=c[b+164>>2]|0;b:while(1){k=C+5584|0;y=c[k>>2]|0;Ui(C|0,p|0,5640)|0;d=C+5636|0;a[d>>0]=a[d>>0]&-4;c[C+5168>>2]=0;d=C+5604|0;c[d>>2]=0;l=C+5620|0;c[l>>2]=0;z=C+5612|0;c[z>>2]=0;m=C+5632|0;c[m>>2]=0;n=C+5624|0;c[n>>2]=0;c[k>>2]=y;if(c[r>>2]|0){f=Pc(q)|0;c[d>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[r>>2]|0,q|0)|0}d=(c[s>>2]|0)*20|0;f=Pc(d)|0;c[z>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[t>>2]|0,d|0)|0;d=c[u>>2]|0;if(d){h=0;j=c[z>>2]|0;k=c[t>>2]|0;while(1){g=k+12|0;if(c[g>>2]|0){d=k+16|0;f=Pc(c[d>>2]|0)|0;c[j+12>>2]=f;if(!f){d=0;f=25;break b}Ui(f|0,c[g>>2]|0,c[d>>2]|0)|0;d=c[u>>2]|0}c[l>>2]=(c[l>>2]|0)+1;h=h+1|0;if(h>>>0>=d>>>0)break;else{j=j+20|0;k=k+20|0}}}d=(c[v>>2]|0)*20|0;f=Pc(d)|0;c[n>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[w>>2]|0,d|0)|0;c[m>>2]=c[v>>2];h=c[v>>2]|0;if(h){j=0;f=c[n>>2]|0;g=c[w>>2]|0;while(1){d=c[g+8>>2]|0;if(d)c[f+8>>2]=(c[z>>2]|0)+(((d-(c[t>>2]|0)|0)/20|0)*20|0);d=c[g+12>>2]|0;if(d)c[f+12>>2]=(c[z>>2]|0)+(((d-(c[t>>2]|0)|0)/20|0)*20|0);j=j+1|0;if(j>>>0>=h>>>0)break;else{f=f+20|0;g=g+20|0}}}Ui(y|0,c[x>>2]|0,o|0)|0;B=B+1|0;if(B>>>0>=A>>>0)break a;else C=C+5640|0}if((f|0)==25){i=G;return d|0}}}while(0);f=Tf(1)|0;d=b+204|0;c[d>>2]=f;if(!f){e=0;i=G;return e|0}if(Xf(f,D,E)|0){e=1;i=G;return e|0}Yf(c[d>>2]|0);c[d>>2]=0;Ub(e,1,8839,F)|0;e=0;i=G;return e|0}function xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+128|0;u=w+120|0;t=w+112|0;s=w+104|0;r=w+96|0;q=w+88|0;p=w+80|0;o=w+72|0;n=w+64|0;m=w+56|0;l=w+48|0;k=w+40|0;j=w+32|0;h=w+24|0;g=w+16|0;f=w+8|0;e=w;if(!a){i=w;return}ki(12191,17,1,d)|0;c[e>>2]=c[a>>2];$h(d,12209,e)|0;c[f>>2]=c[a+4>>2];$h(d,12222,f)|0;c[g>>2]=c[a+8>>2];$h(d,12234,g)|0;c[h>>2]=c[a+16>>2];$h(d,12251,h)|0;if((b|0)>0){g=a+5584|0;h=0;do{f=c[g>>2]|0;c[j>>2]=h;$h(d,12262,j)|0;c[k>>2]=c[f+(h*1080|0)>>2];$h(d,12276,k)|0;a=f+(h*1080|0)+4|0;c[l>>2]=c[a>>2];$h(d,12290,l)|0;c[m>>2]=c[f+(h*1080|0)+8>>2];$h(d,12313,m)|0;c[n>>2]=c[f+(h*1080|0)+12>>2];$h(d,12329,n)|0;c[o>>2]=c[f+(h*1080|0)+16>>2];$h(d,12345,o)|0;c[p>>2]=c[f+(h*1080|0)+20>>2];$h(d,12362,p)|0;ki(12377,23,1,d)|0;if(c[a>>2]|0){e=0;do{x=c[f+(h*1080|0)+944+(e<<2)>>2]|0;c[q>>2]=c[f+(h*1080|0)+812+(e<<2)>>2];c[q+4>>2]=x;$h(d,12401,q)|0;e=e+1|0}while(e>>>0<(c[a>>2]|0)>>>0)}ai(10,d)|0;x=f+(h*1080|0)+24|0;c[r>>2]=c[x>>2];$h(d,12410,r)|0;c[s>>2]=c[f+(h*1080|0)+804>>2];$h(d,12425,s)|0;ki(12442,20,1,d)|0;if((c[x>>2]|0)!=1){a=(c[a>>2]|0)*3|0;if((a|0)>2){a=a+-2|0;v=8}}else{a=1;v=8}if((v|0)==8){v=0;e=0;do{x=c[f+(h*1080|0)+28+(e<<3)>>2]|0;c[t>>2]=c[f+(h*1080|0)+28+(e<<3)+4>>2];c[t+4>>2]=x;$h(d,12401,t)|0;e=e+1|0}while((e|0)!=(a|0))}ai(10,d)|0;c[u>>2]=c[f+(h*1080|0)+808>>2];$h(d,12463,u)|0;ki(12480,5,1,d)|0;h=h+1|0}while((h|0)!=(b|0))}ki(10321,4,1,d)|0;i=w;return}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;u=B+32|0;v=B+24|0;y=B+16|0;x=B+8|0;o=B+64|0;w=B+60|0;n=B+56|0;q=B+52|0;s=B+48|0;r=B+44|0;t=B+40|0;p=B+36|0;c[o>>2]=1;e=Pc(1e3)|0;if(!e){Ub(d,1,12127,B)|0;d=0;i=B;return d|0}z=a+116|0;A=a+112|0;k=a+204|0;l=a+84|0;m=a+8|0;f=1e3;j=0;while(1){if(!(cd(a,w,n,q,s,r,t,p,o,b,d)|0)){g=5;break}if(!(c[o>>2]|0)){g=17;break}h=c[n>>2]|0;if(h>>>0>f>>>0){f=Tc(e,h)|0;if(!f){g=9;break}else{e=f;g=h}}else g=f;f=c[w>>2]|0;if(!(dd(a,f,e,h,b,d)|0)){g=11;break}f=f+1|0;h=_(c[A>>2]|0,c[z>>2]|0)|0;c[v>>2]=f;c[v+4>>2]=h;Ub(d,4,11986,v)|0;h=c[k>>2]|0;if(!(ce(c[(c[c[h+20>>2]>>2]|0)+20>>2]|0,c[h+24>>2]|0,e,c[(c[l>>2]|0)+24>>2]|0)|0)){g=13;break}c[u>>2]=f;Ub(d,4,12016,u)|0;h=Qb(b)|0;if((h|0)==0&(C|0)==0?(c[m>>2]|0)==64:0){g=17;break}j=j+1|0;if((j|0)==(_(c[A>>2]|0,c[z>>2]|0)|0)){g=17;break}else f=g}if((g|0)==5){Uc(e);d=0;i=B;return d|0}else if((g|0)==9){Uc(e);A=_(c[A>>2]|0,c[z>>2]|0)|0;c[x>>2]=(c[w>>2]|0)+1;c[x+4>>2]=A;Ub(d,1,11946,x)|0;d=0;i=B;return d|0}else if((g|0)==11){Uc(e);A=_(c[A>>2]|0,c[z>>2]|0)|0;c[y>>2]=f+1;c[y+4>>2]=A;Ub(d,1,12162,y)|0;d=0;i=B;return d|0}else if((g|0)==13){Uc(e);d=0;i=B;return d|0}else if((g|0)==17){Uc(e);d=1;i=B;return d|0}return 0}function zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;y=G+56|0;D=G+48|0;x=G+40|0;z=G+32|0;E=G+24|0;k=G+16|0;j=G+8|0;r=G+92|0;B=G+88|0;q=G+84|0;t=G+80|0;v=G+76|0;u=G+72|0;w=G+68|0;s=G+64|0;c[r>>2]=1;e=Pc(1e3)|0;if(!e){Ub(d,1,11880,G)|0;F=0;i=G;return F|0}A=a+196|0;g=c[A>>2]|0;f=c[g+40>>2]|0;a:do{if(!f){f=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[g+36>>2]=f;f=Qc(f,40)|0;g=c[A>>2]|0;c[g+40>>2]=f;b:do{if(f){if(c[g+36>>2]|0){h=0;do{c[f+(h*40|0)+28>>2]=100;c[f+(h*40|0)+20>>2]=0;p=Qc(100,24)|0;g=c[A>>2]|0;f=c[g+40>>2]|0;c[f+(h*40|0)+24>>2]=p;h=h+1|0;if(!p)break b}while(h>>>0<(c[g+36>>2]|0)>>>0)}g=c[a+60>>2]|0;if(!f)break a;else{F=12;break a}}}while(0);Uc(e);F=0;i=G;return F|0}else{g=c[a+60>>2]|0;F=12}}while(0);if((F|0)==12)if(c[f+16>>2]|0){if(!(c[f+(g*40|0)+4>>2]|0)){p=a+64|0;p=Si(c[p>>2]|0,c[p+4>>2]|0,2,0)|0;if(!(xb(b,p,C,d)|0)){Ub(d,1,11918,j)|0;Uc(e);F=0;i=G;return F|0}}else{p=c[f+(g*40|0)+16>>2]|0;p=Si(c[p>>2]|0,c[p+4>>2]|0,2,0)|0;if(!(xb(b,p,C,d)|0)){Ub(d,1,11918,k)|0;Uc(e);F=0;i=G;return F|0}}f=a+8|0;if((c[f>>2]|0)==256)c[f>>2]=8}c:do{if(cd(a,B,q,t,v,u,w,s,r,b,d)|0){o=a+116|0;p=a+112|0;l=a+204|0;m=a+84|0;n=g+1|0;f=1e3;while(1){if(!(c[r>>2]|0))break;k=c[q>>2]|0;if(k>>>0>f>>>0){f=Tc(e,k)|0;if(!f){F=26;break}else{e=f;j=k}}else j=f;h=c[B>>2]|0;if(!(dd(a,h,e,k,b,d)|0)){F=28;break}f=h+1|0;k=_(c[p>>2]|0,c[o>>2]|0)|0;c[z>>2]=f;c[z+4>>2]=k;Ub(d,4,11986,z)|0;k=c[l>>2]|0;if(!(ce(c[(c[c[k+20>>2]>>2]|0)+20>>2]|0,c[k+24>>2]|0,e,c[(c[m>>2]|0)+24>>2]|0)|0)){F=30;break}c[x>>2]=f;Ub(d,4,12016,x)|0;if((h|0)==(g|0)){F=32;break}c[y>>2]=f;c[y+4>>2]=n;Ub(d,2,12060,y)|0;if(!(cd(a,B,q,t,v,u,w,s,r,b,d)|0))break c;else f=j}if((F|0)==26){Uc(e);F=_(c[p>>2]|0,c[o>>2]|0)|0;c[E>>2]=(c[B>>2]|0)+1;c[E+4>>2]=F;Ub(d,1,11946,E)|0;F=0;i=G;return F|0}else if((F|0)==28){Uc(e);F=0;i=G;return F|0}else if((F|0)==30){Uc(e);F=0;i=G;return F|0}else if((F|0)==32){F=(c[A>>2]|0)+8|0;F=Si(c[F>>2]|0,c[F+4>>2]|0,2,0)|0;if(!(xb(b,F,C,d)|0)){Ub(d,1,11918,D)|0;Uc(e);F=0;i=G;return F|0}}Uc(e);F=1;i=G;return F|0}}while(0);Uc(e);F=0;i=G;return F|0}function Ad(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;H=i;i=i+32|0;D=H+16|0;t=H+8|0;l=H;C=H+20|0;E=c[a+40>>2]|0;G=a+36|0;n=c[G>>2]|0;o=a+204|0;k=c[o>>2]|0;c[k+16>>2]=0;B=a+8|0;c[B>>2]=0;c[C>>2]=0;pb(n,65424,2);pb(n+2|0,10,2);F=a+200|0;pb(n+4|0,c[F>>2]|0,2);z=a+12|0;pb(n+10|0,c[z>>2]|0,1);A=a+164|0;pb(n+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=12;h=n+12|0;f=E+-12|0;m=a+88|0;if(((b[m>>1]|0)+-3&65535)>=4?(g=c[F>>2]|0,j=c[A>>2]|0,(c[j+(g*5640|0)+420>>2]|0)!=0):0){c[C>>2]=0;_d(c[(c[a+80>>2]|0)+16>>2]|0,j,g,h,C);y=c[C>>2]|0;g=y+12|0;h=n+g|0;f=f-y|0}else g=12;c[C>>2]=0;pb(h,65427,2);c[k+4>>2]=c[B>>2];y=c[z>>2]|0;c[k+8>>2]=y;if(!y)c[(c[c[k+20>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(k,c[F>>2]|0,h+2|0,C,f+-4|0,0)|0)){Ub(e,1,11860,l)|0;d=0;i=H;return d|0}f=(c[C>>2]|0)+2|0;c[C>>2]=f;f=f+g|0;pb(n+6|0,f,4);if(((b[m>>1]|0)+-3&65535)<4){y=a+28|0;pb(c[y>>2]|0,c[F>>2]|0,1);x=(c[y>>2]|0)+1|0;c[y>>2]=x;pb(x,f,4);c[y>>2]=(c[y>>2]|0)+4}g=n+f|0;y=E-f|0;v=c[o>>2]|0;w=a+88|0;r=c[A>>2]|0;s=c[F>>2]|0;m=be(w,0,s)|0;x=a+8|0;c[z>>2]=(c[z>>2]|0)+1;a:do{if(m>>>0>1){n=v+4|0;o=v+8|0;p=v+20|0;q=a+28|0;j=g;g=y;f=0;l=1;while(1){c[x>>2]=l;c[C>>2]=0;pb(j,65424,2);pb(j+2|0,10,2);pb(j+4|0,c[F>>2]|0,2);pb(j+10|0,c[z>>2]|0,1);pb(j+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=0;pb(j+12|0,65427,2);c[n>>2]=c[B>>2];k=c[z>>2]|0;c[o>>2]=k;if(!k)c[(c[c[p>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(v,c[F>>2]|0,j+14|0,C,g+-16|0,0)|0))break;I=c[C>>2]|0;J=I+2|0;c[C>>2]=J;k=I+14|0;h=j+k|0;f=f+12+J|0;g=g+-12+(-2-I)|0;pb(j+6|0,k,4);if(((b[w>>1]|0)+-3&65535)<4){pb(c[q>>2]|0,c[F>>2]|0,1);J=(c[q>>2]|0)+1|0;c[q>>2]=J;pb(J,k,4);c[q>>2]=(c[q>>2]|0)+4}c[z>>2]=(c[z>>2]|0)+1;l=l+1|0;if(l>>>0>=m>>>0){u=12;break a}else j=h}Ub(e,1,11860,t)|0}else{h=g;g=y;f=0;u=12}}while(0);b:do{if((u|0)==12){p=r+(s*5640|0)+420|0;c:do{if(c[p>>2]|0){q=v+16|0;r=v+4|0;s=v+8|0;t=v+20|0;o=a+28|0;n=1;d:while(1){c[q>>2]=n;m=be(w,n,c[F>>2]|0)|0;if(m){l=0;while(1){c[x>>2]=l;c[C>>2]=0;pb(h,65424,2);pb(h+2|0,10,2);pb(h+4|0,c[F>>2]|0,2);pb(h+10|0,c[z>>2]|0,1);pb(h+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=0;pb(h+12|0,65427,2);c[r>>2]=c[B>>2];J=c[z>>2]|0;c[s>>2]=J;if(!J)c[(c[c[t>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(v,c[F>>2]|0,h+14|0,C,g+-16|0,0)|0))break d;J=c[C>>2]|0;j=J+2|0;c[C>>2]=j;f=f+12+j|0;j=J+14|0;k=h+j|0;g=g+-12+(-2-J)|0;pb(h+6|0,j,4);if(((b[w>>1]|0)+-3&65535)<4){pb(c[o>>2]|0,c[F>>2]|0,1);J=(c[o>>2]|0)+1|0;c[o>>2]=J;pb(J,j,4);c[o>>2]=(c[o>>2]|0)+4}c[z>>2]=(c[z>>2]|0)+1;l=l+1|0;if(l>>>0>=m>>>0){h=k;break}else h=k}}n=n+1|0;if(n>>>0>(c[p>>2]|0)>>>0)break c}Ub(e,1,11860,D)|0;break b}}while(0);J=f-y+E|0;if((Nb(d,c[G>>2]|0,J,e)|0)!=(J|0)){J=0;i=H;return J|0}c[F>>2]=(c[F>>2]|0)+1;J=1;i=H;return J|0}}while(0);J=0;i=H;return J|0}function Bd(a,b,d){a=a|0;b=b|0;d=d|0;a=a+44|0;pb(c[a>>2]|0,65497,2);if((Nb(b,c[a>>2]|0,2,d)|0)!=2){b=0;return b|0}b=(Ob(b,d)|0)!=0&1;return b|0}function Cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=(c[a+32>>2]|0)*5|0;i=a+16|0;i=Si(c[i>>2]|0,c[i+4>>2]|0,6,0)|0;h=C;e=Pb(b)|0;f=C;if(!(Sb(b,i,h,d)|0)){i=0;return i|0}if((Nb(b,c[a+24>>2]|0,g,d)|0)!=(g|0)){i=0;return i|0}i=(Sb(b,e,f,d)|0)!=0&1;return i|0}function Dd(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+196>>2]|0;if(!a)return 1;b=Pb(b)|0;d=a;d=Oi(b|0,C|0,c[d>>2]|0,c[d+4>>2]|0)|0;b=a+16|0;c[b>>2]=d;c[b+4>>2]=C;return 1}function Ed(a,b,d){a=a|0;b=b|0;d=d|0;d=a+204|0;Yf(c[d>>2]|0);c[d>>2]=0;d=a+24|0;b=c[d>>2]|0;if(b){Uc(b);c[d>>2]=0;c[a+28>>2]=0}d=a+36|0;b=c[d>>2]|0;if(!b){a=a+40|0;c[a>>2]=0;return 1}Uc(b);c[d>>2]=0;a=a+40|0;c[a>>2]=0;return 1}function Fd(a,b,d){a=a|0;b=b|0;d=d|0;d=a+44|0;b=c[d>>2]|0;if(b){Uc(b);c[d>>2]=0}c[a+48>>2]=0;return 1}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=(c[a+8>>2]|0)==0&(c[a+188>>2]|0)!=0&(c[a+192>>2]|0)!=0&1;b=(c[(c[(c[a+164>>2]|0)+5584>>2]|0)+4>>2]|0)+-1|0;if(b>>>0>31){Ub(d,1,11790,f)|0;d=0;i=f;return d|0}b=1<>2]|0)>>>0>>0){Ub(d,1,11790,f+8|0)|0;d=0;i=f;return d|0}if((c[a+104>>2]|0)>>>0>=b>>>0){d=e;i=f;return d|0}Ub(d,1,11790,f+16|0)|0;d=0;i=f;return d|0}function Id(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if((b[a+88>>1]&-32256)<<16>>16!=-32256){j=1;return j|0}i=_(c[a+112>>2]|0,c[a+116>>2]|0)|0;if(!i){j=1;return j|0}h=a+80|0;j=0;e=1;g=c[a+164>>2]|0;while(1){if((c[g+16>>2]|0)==2){e=(c[g+5608>>2]|0)!=0&e;a=c[(c[h>>2]|0)+16>>2]|0;if(a){f=0;d=c[g+5584>>2]|0;while(1){e=(c[d+20>>2]&1^1)&e;f=f+1|0;if(f>>>0>=a>>>0)break;else d=d+1080|0}}}j=j+1|0;if((j|0)==(i|0))break;else g=g+5640|0}return e|0}function Jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+88|0;h=a+32|0;i=c[a+80>>2]|0;j=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[h>>2]=0;if(!j)return 1;e=c[a+164>>2]|0;f=0;while(1){Nf(i,g,f);b=e+420|0;d=0;a=0;do{k=be(g,a,f)|0;c[h>>2]=(c[h>>2]|0)+k;d=k+d|0;a=a+1|0}while(a>>>0<=(c[b>>2]|0)>>>0);c[e+5588>>2]=d;f=f+1|0;if((f|0)==(j|0))break;else e=e+5640|0}return 1}function Kd(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+44>>2]|0;pb(a,65359,2);return(Nb(b,a,2,d)|0)==2|0}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+16|0;j=p;k=c[a+80>>2]|0;n=k+16|0;l=(c[n>>2]|0)*3|0;o=l+40|0;f=c[k+24>>2]|0;h=a+48|0;m=a+44|0;g=c[m>>2]|0;do{if(o>>>0>(c[h>>2]|0)>>>0){g=Tc(g,o)|0;if(g){c[m>>2]=g;c[h>>2]=o;break}Uc(c[m>>2]|0);c[m>>2]=0;c[h>>2]=0;Ub(d,1,11752,j)|0;b=0;i=p;return b|0}}while(0);pb(g,65361,2);pb(g+2|0,l+38|0,2);pb(g+4|0,e[a+88>>1]|0,2);pb(g+6|0,c[k+8>>2]|0,4);pb(g+10|0,c[k+12>>2]|0,4);pb(g+14|0,c[k>>2]|0,4);pb(g+18|0,c[k+4>>2]|0,4);pb(g+22|0,c[a+100>>2]|0,4);pb(g+26|0,c[a+104>>2]|0,4);pb(g+30|0,c[a+92>>2]|0,4);pb(g+34|0,c[a+96>>2]|0,4);pb(g+38|0,c[n>>2]|0,2);if(c[n>>2]|0){h=0;g=g+40|0;while(1){pb(g,(c[f+24>>2]|0)+-1+(c[f+32>>2]<<7)|0,1);pb(g+1|0,c[f>>2]|0,1);pb(g+2|0,c[f+4>>2]|0,1);h=h+1|0;if(h>>>0>=(c[n>>2]|0)>>>0)break;else{g=g+3|0;f=f+52|0}}}b=(Nb(b,c[m>>2]|0,o,d)|0)==(o|0)&1;i=p;return b|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;q=r+16|0;p=r+8|0;j=r;o=r+20|0;k=a+200|0;l=c[k>>2]|0;m=a+164|0;n=c[m>>2]|0;e=c[n+(l*5640|0)+5584>>2]|0;if(!(c[e>>2]&1))g=5;else g=(c[e+4>>2]|0)+5|0;h=g+9|0;c[o>>2]=h;f=a+48|0;a=a+44|0;e=c[a>>2]|0;do{if(h>>>0>(c[f>>2]|0)>>>0){e=Tc(e,h)|0;if(e){c[a>>2]=e;c[f>>2]=h;break}Uc(c[a>>2]|0);c[a>>2]=0;c[f>>2]=0;Ub(d,1,11687,j)|0;q=0;i=r;return q|0}}while(0);pb(e,65362,2);pb(e+2|0,g+7|0,2);pb(e+4|0,c[n+(l*5640|0)>>2]|0,1);pb(e+5|0,c[n+(l*5640|0)+4>>2]|0,1);pb(e+6|0,c[n+(l*5640|0)+8>>2]|0,2);pb(e+8|0,c[n+(l*5640|0)+16>>2]|0,1);c[o>>2]=g;if(!(ae(c[m>>2]|0,c[k>>2]|0,e+9|0,o,d)|0)){Ub(d,1,11726,p)|0;q=0;i=r;return q|0}if(!(c[o>>2]|0)){q=(Nb(b,c[a>>2]|0,h,d)|0)==(h|0)&1;i=r;return q|0}else{Ub(d,1,11726,q)|0;q=0;i=r;return q|0}return 0}function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;o=p+16|0;n=p+8|0;j=p;l=p+20|0;k=a+200|0;m=a+164|0;e=c[(c[m>>2]|0)+((c[k>>2]|0)*5640|0)+5584>>2]|0;f=c[e+24>>2]|0;if((f|0)==1)e=1;else e=((c[e+4>>2]|0)*3|0)+-2|0;g=(f|0)==0?e+1|0:e<<1|1;h=g+4|0;c[l>>2]=h;f=a+48|0;a=a+44|0;e=c[a>>2]|0;do{if(h>>>0>(c[f>>2]|0)>>>0){e=Tc(e,h)|0;if(e){c[a>>2]=e;c[f>>2]=h;break}Uc(c[a>>2]|0);c[a>>2]=0;c[f>>2]=0;Ub(d,1,11622,j)|0;o=0;i=p;return o|0}}while(0);pb(e,65372,2);pb(e+2|0,g+2|0,2);c[l>>2]=g;if(!($d(c[m>>2]|0,c[k>>2]|0,0,e+4|0,l,d)|0)){Ub(d,1,11661,n)|0;o=0;i=p;return o|0}if(!(c[l>>2]|0)){o=(Nb(b,c[a>>2]|0,h,d)|0)==(h|0)&1;i=p;return o|0}else{Ub(d,1,11661,o)|0;o=0;i=p;return o|0}return 0}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+16|0;u=w;r=w+4|0;o=a+80|0;e=c[(c[o>>2]|0)+16>>2]|0;if(e>>>0<=1){v=1;i=w;return v|0}s=a+164|0;t=a+200|0;q=a+48|0;n=a+44|0;m=1;while(1){h=c[s>>2]|0;k=c[t>>2]|0;g=c[h+(k*5640|0)+5584>>2]|0;j=c[g+(m*1080|0)>>2]|0;a:do{if((((((c[g>>2]|0)==(j|0)?(p=c[g+4>>2]|0,(p|0)==(c[g+(m*1080|0)+4>>2]|0)):0)?(c[g+8>>2]|0)==(c[g+(m*1080|0)+8>>2]|0):0)?(c[g+12>>2]|0)==(c[g+(m*1080|0)+12>>2]|0):0)?(c[g+16>>2]|0)==(c[g+(m*1080|0)+16>>2]|0):0)?(c[g+20>>2]|0)==(c[g+(m*1080|0)+20>>2]|0):0){if(p){a=0;do{if((c[g+812+(a<<2)>>2]|0)!=(c[g+(m*1080|0)+812+(a<<2)>>2]|0)){v=13;break a}if((c[g+944+(a<<2)>>2]|0)!=(c[g+(m*1080|0)+944+(a<<2)>>2]|0)){v=13;break a}a=a+1|0}while(a>>>0

>>0)}}else v=13}while(0);if((v|0)==13){v=0;if(!(j&1))a=5;else a=(c[g+(m*1080|0)+4>>2]|0)+5|0;l=a+(e>>>0<257?6:7)|0;f=c[n>>2]|0;if(l>>>0>(c[q>>2]|0)>>>0){a=Tc(f,l)|0;if(!a){v=17;break}c[n>>2]=a;c[q>>2]=l;k=c[t>>2]|0;h=c[s>>2]|0;g=c[h+(k*5640|0)+5584>>2]|0;e=c[(c[o>>2]|0)+16>>2]|0;j=c[g+(m*1080|0)>>2]|0;f=a}e=e>>>0<257?1:2;if(!(j&1))a=5;else a=(c[g+(m*1080|0)+4>>2]|0)+5|0;pb(f,65363,2);pb(f+2|0,e+3+a|0,2);pb(f+4|0,m,e);j=e|4;pb(f+j|0,c[(c[h+(k*5640|0)+5584>>2]|0)+(m*1080|0)>>2]|0,1);c[r>>2]=a;ae(c[s>>2]|0,c[t>>2]|0,f+(j+1)|0,r,d)|0;if((Nb(b,c[n>>2]|0,l,d)|0)!=(l|0)){a=0;v=24;break}e=c[(c[o>>2]|0)+16>>2]|0}m=m+1|0;if(m>>>0>=e>>>0){a=1;v=24;break}}if((v|0)==17){Uc(c[n>>2]|0);c[n>>2]=0;c[q>>2]=0;Ub(d,1,11548,u)|0;v=0;i=w;return v|0}else if((v|0)==24){i=w;return a|0}return 0}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+16|0;r=t;o=t+4|0;m=a+80|0;e=c[(c[m>>2]|0)+16>>2]|0;if(e>>>0<=1){s=1;i=t;return s|0}p=a+164|0;q=a+200|0;n=a+48|0;l=a+44|0;k=1;while(1){j=c[(c[p>>2]|0)+((c[q>>2]|0)*5640|0)+5584>>2]|0;g=c[j+24>>2]|0;h=c[j+(k*1080|0)+24>>2]|0;a:do{if((g|0)==(h|0)?(c[j+804>>2]|0)==(c[j+(k*1080|0)+804>>2]|0):0){if((g|0)!=1){f=(c[j+4>>2]|0)*3|0;a=f+-2|0;if((f|0)!=((c[j+(k*1080|0)+4>>2]|0)*3|0)){s=14;break}if(!a)break}else a=1;f=0;do{if((c[j+28+(f<<3)>>2]|0)!=(c[j+(k*1080|0)+28+(f<<3)>>2]|0)){s=14;break a}f=f+1|0}while(f>>>0>>0);if(g){f=0;do{if((c[j+28+(f<<3)+4>>2]|0)!=(c[j+(k*1080|0)+28+(f<<3)+4>>2]|0)){s=14;break a}f=f+1|0}while(f>>>0>>0)}}else s=14}while(0);if((s|0)==14){s=0;if((h|0)==1)a=1;else a=((c[j+(k*1080|0)+4>>2]|0)*3|0)+-2|0;g=((h|0)==0?a+1|0:a<<1|1)+5+(e>>>0>256&1)|0;a=c[l>>2]|0;if(g>>>0>(c[n>>2]|0)>>>0){a=Tc(a,g)|0;if(!a){s=18;break}c[l>>2]=a;c[n>>2]=g;e=c[(c[p>>2]|0)+((c[q>>2]|0)*5640|0)+5584>>2]|0;f=c[e+(k*1080|0)+24>>2]|0}else{f=h;e=j}if((f|0)==1)e=1;else e=((c[e+(k*1080|0)+4>>2]|0)*3|0)+-2|0;f=(f|0)==0?e+1|0:e<<1|1;c[o>>2]=f+6;pb(a,65373,2);e=a+2|0;if((c[(c[m>>2]|0)+16>>2]|0)>>>0<257){pb(e,f+3|0,2);pb(a+4|0,k,1);a=a+5|0}else{pb(e,f+4|0,2);pb(a+4|0,k,2);a=a+6|0}c[o>>2]=f;$d(c[p>>2]|0,c[q>>2]|0,k,a,o,d)|0;if((Nb(b,c[l>>2]|0,g,d)|0)!=(g|0)){a=0;s=28;break}e=c[(c[m>>2]|0)+16>>2]|0}k=k+1|0;if(k>>>0>=e>>>0){a=1;s=28;break}}if((s|0)==18){Uc(c[l>>2]|0);c[l>>2]=0;c[n>>2]=0;Ub(d,1,11476,r)|0;s=0;i=t;return s|0}else if((s|0)==28){i=t;return a|0}return 0}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l;h=(c[a+32>>2]|0)*5|0;j=h+6|0;f=a+48|0;k=a+44|0;e=c[k>>2]|0;do{if(j>>>0>(c[f>>2]|0)>>>0){e=Tc(e,j)|0;if(e){c[k>>2]=e;c[f>>2]=j;break}Uc(c[k>>2]|0);c[k>>2]=0;c[f>>2]=0;Ub(d,1,11437,g)|0;b=0;i=l;return b|0}}while(0);g=Pb(b)|0;a=a+16|0;c[a>>2]=g;c[a+4>>2]=C;pb(e,65365,2);pb(e+2|0,h+4|0,2);pb(e+4|0,0,1);pb(e+5|0,80,1);b=(Nb(b,c[k>>2]|0,j,d)|0)==(j|0)&1;i=l;return b|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+16|0;j=q;p=q+4|0;c[p>>2]=0;m=a+200|0;e=c[m>>2]|0;l=a+164|0;f=c[l>>2]|0;k=a+80|0;h=c[(c[k>>2]|0)+16>>2]|0;o=(_(h>>>0<257?7:9,(c[f+(e*5640|0)+420>>2]|0)+1|0)|0)+4|0;g=a+48|0;n=a+44|0;a=c[n>>2]|0;do{if(o>>>0>(c[g>>2]|0)>>>0){e=Tc(a,o)|0;if(e){c[n>>2]=e;c[g>>2]=o;g=e;a=c[(c[k>>2]|0)+16>>2]|0;f=c[l>>2]|0;e=c[m>>2]|0;break}Uc(c[n>>2]|0);c[n>>2]=0;c[g>>2]=0;Ub(d,1,11398,j)|0;b=0;i=q;return b|0}else{g=a;a=h}}while(0);_d(a,f,e,g,p);b=(Nb(b,c[n>>2]|0,o,d)|0)==(o|0)&1;i=q;return b|0}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+164|0;j=a+80|0;f=c[j>>2]|0;e=c[f+16>>2]|0;if(!e){b=1;return b|0}h=a+44|0;a=0;g=c[(c[i>>2]|0)+5584>>2]|0;while(1){if(c[g+808>>2]|0){k=c[(c[i>>2]|0)+5584>>2]|0;m=e>>>0<257?1:2;f=m+6|0;l=c[h>>2]|0;pb(l,65374,2);e=m|4;pb(l+2|0,e,2);pb(l+4|0,a,m);pb(l+e|0,0,1);pb(l+(e+1)|0,c[k+(a*1080|0)+808>>2]|0,1);if((Nb(b,c[h>>2]|0,f,d)|0)!=(f|0)){a=0;e=7;break}f=c[j>>2]|0}a=a+1|0;e=c[f+16>>2]|0;if(a>>>0>=e>>>0){a=1;e=7;break}else g=g+1080|0}if((e|0)==7)return a|0;return 0}function Td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l;h=c[a+108>>2]|0;j=wi(h)|0;k=j+6|0;e=a+48|0;f=a+44|0;a=c[f>>2]|0;do{if(k>>>0>(c[e>>2]|0)>>>0){a=Tc(a,k)|0;if(a){c[f>>2]=a;c[e>>2]=k;break}Uc(c[f>>2]|0);c[f>>2]=0;c[e>>2]=0;Ub(d,1,11355,g)|0;b=0;i=l;return b|0}}while(0);pb(a,65380,2);pb(a+2|0,j+4|0,2);pb(a+4|0,1,2);Ui(a+6|0,h|0,j|0)|0;b=(Nb(b,c[f>>2]|0,k,d)|0)==(k|0)&1;i=l;return b|0}function Ud(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+32|0;w=A+24|0;t=A+16|0;o=A+8|0;g=A;j=c[b+80>>2]|0;k=j+16|0;h=c[k>>2]|0;l=h+6|0;v=b+48|0;z=b+44|0;f=c[z>>2]|0;do{if(l>>>0>(c[v>>2]|0)>>>0){f=Tc(f,l)|0;if(f){c[z>>2]=f;c[v>>2]=l;break}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11199,g)|0;d=0;i=A;return d|0}}while(0);pb(f,65400,2);pb(f+2|0,h+4|0,2);pb(f+4|0,c[k>>2]|0,2);if(c[k>>2]|0){h=0;g=c[j+24>>2]|0;f=f+6|0;while(1){pb(f,(c[g+24>>2]|0)+-1|c[g+32>>2]<<7,1);h=h+1|0;if(h>>>0>=(c[k>>2]|0)>>>0)break;else{g=g+52|0;f=f+1|0}}}if((Nb(d,c[z>>2]|0,l,e)|0)!=(l|0)){d=0;i=A;return d|0}q=b+200|0;n=c[q>>2]|0;r=b+164|0;m=c[r>>2]|0;g=m+(n*5640|0)+5616|0;a:do{if(c[g>>2]|0){l=0;b=c[m+(n*5640|0)+5612>>2]|0;while(1){h=b+16|0;j=c[h>>2]|0;k=j+10|0;f=c[z>>2]|0;if(k>>>0>(c[v>>2]|0)>>>0){f=Tc(f,k)|0;if(!f)break;c[z>>2]=f;c[v>>2]=k}pb(f,65396,2);pb(f+2|0,j+8|0,2);pb(f+4|0,0,2);pb(f+6|0,c[b+4>>2]<<8|c[b+8>>2]&255|c[b>>2]<<10,2);pb(f+8|0,0,2);Ui(f+10|0,c[b+12>>2]|0,c[h>>2]|0)|0;if((Nb(d,c[z>>2]|0,k,e)|0)!=(k|0)){s=0;x=42;break}l=l+1|0;if(l>>>0>=(c[g>>2]|0)>>>0)break a;else b=b+20|0}if((x|0)==42){i=A;return s|0}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11238,o)|0;d=0;i=A;return d|0}}while(0);o=m+(n*5640|0)+5628|0;b:do{if(c[o>>2]|0){p=0;m=c[m+(n*5640|0)+5624>>2]|0;while(1){l=m+4|0;g=c[l>>2]|0;j=g>>>0>255;k=j?2:1;j=j?32768:0;g=_(k,g<<1)|0;b=g+19|0;f=c[z>>2]|0;if(b>>>0>(c[v>>2]|0)>>>0){f=Tc(f,b)|0;if(!f)break;c[z>>2]=f;c[v>>2]=b}pb(f,65397,2);pb(f+2|0,g+17|0,2);pb(f+4|0,0,2);pb(f+6|0,c[m>>2]|0,1);pb(f+7|0,0,2);pb(f+9|0,1,2);pb(f+11|0,1,1);pb(f+12|0,c[l>>2]|j,2);f=f+14|0;if(!(c[l>>2]|0))g=0;else{h=0;do{pb(f,h,k);f=f+k|0;h=h+1|0;g=c[l>>2]|0}while(h>>>0>>0)}pb(f,g|j,2);f=f+2|0;if(!(c[l>>2]|0))h=f;else{g=0;do{pb(f,g,k);f=f+k|0;g=g+1|0}while(g>>>0<(c[l>>2]|0)>>>0);h=f}f=((a[m+16>>0]^1)&255)<<16&65536;g=c[m+8>>2]|0;if(g)f=c[g+8>>2]|f;g=c[m+12>>2]|0;if(g)f=c[g+8>>2]<<8|f;pb(h,f,3);if((Nb(d,c[z>>2]|0,b,e)|0)!=(b|0)){s=0;x=42;break}p=p+1|0;if(p>>>0>=(c[o>>2]|0)>>>0)break b;else m=m+20|0}if((x|0)==42){i=A;return s|0}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11277,t)|0;d=0;i=A;return d|0}}while(0);k=c[q>>2]|0;j=c[r>>2]|0;l=j+(k*5640|0)+5628|0;g=c[l>>2]|0;b=g+5|0;f=c[z>>2]|0;do{if(b>>>0>(c[v>>2]|0)>>>0){f=Tc(f,b)|0;if(!f){Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11316,w)|0;u=1;break}else{c[z>>2]=f;c[v>>2]=b;y=f;x=37;break}}else{y=f;x=37}}while(0);if((x|0)==37){pb(y,65399,2);pb(y+2|0,g+3|0,2);pb(y+4|0,c[l>>2]|0,1);if(c[l>>2]|0){h=0;g=y+5|0;f=c[j+(k*5640|0)+5624>>2]|0;while(1){pb(g,c[f>>2]|0,1);h=h+1|0;if(h>>>0>=(c[l>>2]|0)>>>0)break;else{g=g+1|0;f=f+20|0}}}u=(Nb(d,c[z>>2]|0,b,e)|0)!=(b|0)}d=u&1^1;i=A;return d|0}function Vd(a,b,d){a=a|0;b=b|0;d=d|0;d=Pb(b)|0;b=(c[a+196>>2]|0)+8|0;c[b>>2]=d;c[b+4>>2]=C;return 1}function Wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;b=Tf(0)|0;e=a+204|0;c[e>>2]=b;if(!b){Ub(d,1,11159,f)|0;d=0;i=f;return d|0}if(Xf(b,c[a+80>>2]|0,a+88|0)|0){d=1;i=f;return d|0}Yf(c[e>>2]|0);c[e>>2]=0;d=0;i=f;return d|0}function Xd(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;O=d+80|0;E=c[O>>2]|0;P=d+164|0;i=c[P>>2]|0;N=E+24|0;F=c[N>>2]|0;f=c[F>>2]|0;h=c[F+4>>2]|0;M=E+16|0;F=_(c[F+24>>2]|0,c[M>>2]|0)|0;D=Pb(e)|0;q=d+116|0;l=c[q>>2]|0;r=d+112|0;e=c[r>>2]|0;G=(+(D>>>0)+4294967296.0*+(C|0))/+((_(e,l)|0)>>>0);D=(a[d+181>>0]&8)==0?1:2;if(l){s=d+92|0;u=d+100|0;v=d+96|0;y=d+104|0;z=E+4|0;A=E+8|0;B=E+12|0;x=+((_(f<<3,h)|0)>>>0);m=e;f=e;p=0;e=i;do{o=p;p=p+1|0;if(!f)f=0;else{m=0;do{w=+Sa[D&3](e);l=c[e+8>>2]|0;w=w/+(l>>>0);Q=c[s>>2]|0;i=c[u>>2]|0;k=(_(i,m)|0)+Q|0;f=c[E>>2]|0;f=(k|0)>(f|0)?k:f;k=c[v>>2]|0;j=c[y>>2]|0;R=(_(j,o)|0)+k|0;h=c[z>>2]|0;h=(R|0)>(h|0)?R:h;m=m+1|0;Q=(_(i,m)|0)+Q|0;i=c[A>>2]|0;i=(Q|0)<(i|0)?Q:i;k=(_(j,p)|0)+k|0;j=c[B>>2]|0;j=(k|0)<(j|0)?k:j;k=e+20|0;n=+g[k>>2];if(n!=0.0)g[k>>2]=+((_(_(i-f|0,F)|0,j-h|0)|0)>>>0)/(x*n)-w;if(l>>>0>1){n=+((_(_(i-f|0,F)|0,j-h|0)|0)>>>0);f=1;h=e+24|0;while(1){t=+g[h>>2];if(t!=0.0)g[h>>2]=n/(x*t)-w;f=f+1|0;if(f>>>0>=l>>>0)break;else h=h+4|0}}e=e+5640|0;f=c[r>>2]|0}while(m>>>0>>0);l=c[q>>2]|0;m=f}}while(p>>>0>>0);if(!l)l=0;else{s=(m|0)==0;t=G+2.0;v=m>>>0>1?m:1;u=0;f=c[P>>2]|0;do{if(!s){p=f+16|0;q=0;r=f;while(1){e=r+20|0;n=+g[e>>2];if(n!=0.0?(x=n-G,g[e>>2]=x,x<30.0):0)g[e>>2]=30.0;j=r+24|0;e=c[r+8>>2]|0;o=e+-1|0;n=+g[j>>2];h=n!=0.0;if(o>>>0>1){k=p+(e<<2)|0;i=1;e=j;do{if(h?(x=n-G,g[e>>2]=x,I=+g[e+-4>>2],x>2]=I+20.0;e=e+4|0;i=i+1|0;n=+g[e>>2];h=n!=0.0}while((i|0)!=(o|0));if(h){H=n;K=k;L=29}}else if(h){H=n;K=j;L=29}if((L|0)==29?(L=0,x=H-t,g[K>>2]=x,J=+g[K+-4>>2],x>2]=J+20.0;q=q+1|0;if(q>>>0>=m>>>0)break;else{p=p+5640|0;r=r+5640|0}}f=f+(v*5640|0)|0}u=u+1|0}while(u>>>0>>0)}}else{m=e;l=0}h=c[M>>2]|0;if(!h)u=0;else{i=(c[d+100>>2]|0)+-1|0;j=(c[d+104>>2]|0)+-1|0;k=0;e=c[N>>2]|0;f=0;while(1){R=c[e>>2]|0;Q=c[e+4>>2]|0;R=_(((j+Q|0)>>>0)/(Q>>>0)|0,((i+R|0)>>>0)/(R>>>0)|0)|0;f=(_(R,c[e+24>>2]|0)|0)+f|0;k=k+1|0;if(k>>>0>=h>>>0)break;else e=e+52|0}u=~~(+(f>>>0)*.1625)>>>0}o=c[(c[O>>2]|0)+16>>2]|0;q=o+-1|0;s=_(l,m)|0;p=(s|0)==0;if(p)i=0;else{e=0;f=0;h=c[P>>2]|0;while(1){R=c[h+5588>>2]|0;f=f>>>0>R>>>0?f:R;e=e+1|0;if((e|0)==(s|0))break;else h=h+5640|0}i=f*12|0}r=d+88|0;if(((b[r>>1]|0)+-3&65535)>=4){if(p){e=0;f=0}else{m=(o|0)==0;k=0;f=0;do{if(!m){h=c[(c[P>>2]|0)+(k*5640|0)+5584>>2]|0;j=0;do{if(!(c[h+(j*1080|0)>>2]&1))e=5;else e=(c[h+(j*1080|0)+4>>2]|0)+5|0;f=f>>>0>e>>>0?f:e;j=j+1|0}while((j|0)!=(o|0))}k=k+1|0}while((k|0)!=(s|0));l=0;e=0;do{if(!m){j=c[(c[P>>2]|0)+(l*5640|0)+5584>>2]|0;k=0;do{if(!(c[j+(k*1080|0)>>2]&1))h=5;else h=(c[j+(k*1080|0)+4>>2]|0)+5|0;e=e>>>0>h>>>0?e:h;k=k+1|0}while((k|0)!=(o|0))}l=l+1|0}while((l|0)!=(s|0))}i=(_(f+12+e|0,q)|0)+i|0}if(p)f=13;else{h=0;f=0;e=c[P>>2]|0;while(1){R=c[e+420>>2]|0;f=f>>>0>R>>>0?f:R;h=h+1|0;if((h|0)==(s|0))break;else e=e+5640|0}f=(f*9|0)+13|0}R=i+u+f|0;c[d+40>>2]=R;R=Pc(R)|0;c[d+36>>2]=R;if(!R){R=0;return R|0}if(((b[r>>1]|0)+-3&65535)>=4){R=1;return R|0}f=Pc((c[d+32>>2]|0)*5|0)|0;c[d+24>>2]=f;if(!f){R=0;return R|0}c[d+28>>2]=f;R=1;return R|0}function Yd(a){a=a|0;return 0.0}function Zd(a){a=a|0;return+ +((((c[a+5588>>2]|0)*14|0)+-14|0)>>>0)}function _d(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=c[b+(d*5640|0)+5584>>2]|0;q=(c[b+(d*5640|0)+420>>2]|0)+1|0;j=a>>>0<257?1:2;p=_(q,(j<<1)+5|0)|0;r=p+4|0;pb(e,65375,2);pb(e+2|0,p+2|0,2);if(!q){c[f>>2]=r;return}k=j+1|0;l=j+3|0;m=j|4;n=m+j|0;o=n+1|0;p=b+(d*5640|0)+8|0;h=g+4|0;i=0;e=e+4|0;g=b+(d*5640|0)+424|0;while(1){pb(e,c[g>>2]|0,1);pb(e+1|0,c[g+4>>2]|0,j);t=g+8|0;pb(e+k|0,c[t>>2]|0,2);b=g+12|0;pb(e+l|0,c[b>>2]|0,1);d=g+16|0;pb(e+m|0,c[d>>2]|0,j);pb(e+n|0,c[g+36>>2]|0,1);u=c[t>>2]|0;s=c[p>>2]|0;c[t>>2]=(u|0)<(s|0)?u:s;t=c[b>>2]|0;s=c[h>>2]|0;c[b>>2]=(t|0)<(s|0)?t:s;b=c[d>>2]|0;c[d>>2]=(b|0)<(a|0)?b:a;i=i+1|0;if((i|0)==(q|0))break;else{e=e+o|0;g=g+148|0}}c[f>>2]=r;return}function $d(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+8|0;j=n;l=c[a+(b*5640|0)+5584>>2]|0;b=c[l+(d*1080|0)+24>>2]|0;do{if((b|0)!=1){a=(c[l+(d*1080|0)+4>>2]|0)*3|0;h=a+-2|0;if(!b){a=a+-1|0;if((c[f>>2]|0)>>>0>>0){Ub(g,1,11515,j)|0;f=0;i=n;return f|0}else{pb(e,c[l+(d*1080|0)+804>>2]<<5,1);if(!h)break;else b=0;do{e=e+1|0;pb(e,c[l+(d*1080|0)+28+(b<<3)>>2]<<3,1);b=b+1|0}while((b|0)!=(h|0))}}else m=7}else{h=1;b=1;m=7}}while(0);if((m|0)==7){a=h<<1|1;if((c[f>>2]|0)>>>0>>0){Ub(g,1,11515,k)|0;f=0;i=n;return f|0}pb(e,(c[l+(d*1080|0)+804>>2]<<5)+b|0,1);if(h){e=e+1|0;b=0;while(1){pb(e,(c[l+(d*1080|0)+28+(b<<3)>>2]<<11)+(c[l+(d*1080|0)+28+(b<<3)+4>>2]|0)|0,2);b=b+1|0;if((b|0)==(h|0))break;else e=e+2|0}}}c[f>>2]=(c[f>>2]|0)-a;f=1;i=n;return f|0}function ae(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=c[a+(b*5640|0)+5584>>2]|0;if((c[e>>2]|0)>>>0<5){Ub(f,1,11587,j)|0;e=0;i=j;return e|0}h=g+4|0;pb(d,(c[h>>2]|0)+-1|0,1);pb(d+1|0,(c[g+8>>2]|0)+-2|0,1);pb(d+2|0,(c[g+12>>2]|0)+-2|0,1);pb(d+3|0,c[g+16>>2]|0,1);pb(d+4|0,c[g+20>>2]|0,1);b=(c[e>>2]|0)+-5|0;c[e>>2]=b;if(!(c[g>>2]&1)){e=1;i=j;return e|0}a=c[h>>2]|0;if(b>>>0>>0){Ub(f,1,11587,j+8|0)|0;e=0;i=j;return e|0}if(!a)a=0;else{b=d+5|0;d=0;while(1){pb(b,(c[g+944+(d<<2)>>2]<<4)+(c[g+812+(d<<2)>>2]|0)|0,1);d=d+1|0;a=c[h>>2]|0;if(d>>>0>=a>>>0)break;else b=b+1|0}b=c[e>>2]|0}c[e>>2]=b-a;e=1;i=j;return e|0}function be(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=c[b+76>>2]|0;g=c[i+(f*5640|0)+4>>2]|0;h=696;while(1){m=c[h>>2]|0;if((m|0)==-1|(m|0)==(g|0))break;else h=h+12|0}if(!(a[b+93>>0]&8)){b=1;return b|0}m=d[b+92>>0]|0;j=i+(f*5640|0)+424+(e*148|0)+92|0;k=i+(f*5640|0)+424+(e*148|0)+88|0;l=i+(f*5640|0)+424+(e*148|0)+96|0;e=i+(f*5640|0)+424+(e*148|0)+84|0;i=a[h+4>>0]|0;switch(i|0){case 67:{g=c[j>>2]|0;break}case 82:{g=c[k>>2]|0;break}case 80:{g=c[l>>2]|0;break}case 76:{g=c[e>>2]|0;break}default:g=1}if((m|0)!=(i|0)){i=a[h+5>>0]|0;switch(i|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)!=(i|0)){i=a[h+6>>0]|0;switch(i|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)!=(i|0)){h=a[h+7>>0]|0;switch(h|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)==(h|0))h=3;else{b=g;return b|0}}else h=2}else h=1}else h=0;c[b+84>>2]=h;b=g;return b|0}function ce(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=g+16|0;if(!(c[B>>2]|0)){B=1;return B|0}A=0;z=c[g+24>>2]|0;while(1){k=i+44|0;j=c[k>>2]|0;l=i+8|0;if(!j){g=i+12|0;j=Qc(_(c[g>>2]|0,c[l>>2]|0)|0,4)|0;c[k>>2]=j;if(!j){h=0;i=61;break}}else g=i+12|0;q=z+36|0;c[i+36>>2]=c[q>>2];x=c[z+24>>2]|0;t=c[f+24>>2]|0;q=c[q>>2]|0;x=((x&7|0)!=0&1)+(x>>>3)|0;x=(x|0)==3?4:x;n=c[t+(q*136|0)+8>>2]|0;m=c[t+(q*136|0)>>2]|0;v=n-m|0;s=c[t+(q*136|0)+12>>2]|0;q=c[t+(q*136|0)+4>>2]|0;t=s-q|0;k=c[i+16>>2]|0;p=c[i+40>>2]|0;o=Ri(1,0,p|0)|0;w=C;k=Si(k|0,0,-1,-1)|0;k=Si(k|0,C|0,o|0,w|0)|0;k=Ti(k|0,C|0,p|0)|0;r=Si(c[i+20>>2]|0,0,-1,-1)|0;w=Si(r|0,C|0,o|0,w|0)|0;p=Ti(w|0,C|0,p|0)|0;w=c[l>>2]|0;l=k+w|0;o=c[g>>2]|0;r=p+o|0;do{if(k>>>0>>0){g=m-k|0;if(n>>>0>l>>>0){y=l-m|0;u=0;m=v-y|0;n=g}else{u=0;m=0;n=g;y=v}}else{g=k-m|0;if(n>>>0>l>>>0){u=g;m=n-l|0;n=0;y=w;break}else{u=g;m=0;n=0;y=v-g|0;break}}}while(0);do{if(p>>>0>>0){l=q-p|0;if(s>>>0>r>>>0){k=r-q|0;o=k;g=0;k=t-k|0}else{o=t;g=0;k=0}}else{g=p-q|0;if(s>>>0>r>>>0){k=s-r|0;l=0;break}else{o=t-g|0;k=0;l=0;break}}}while(0);if((u|m|y|k|g|o|0)<0){h=0;i=61;break}g=(_(g,v)|0)+u|0;q=u+m|0;r=(_(k,v)|0)-u|0;p=w-y|0;j=j+((_(w,l)|0)+n<<2)|0;switch(x|0){case 1:{h=h+g|0;g=(o|0)==0;if(!(c[z+32>>2]|0)){if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=d[j>>0];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+1|0}}g=l;h=h+y|0}h=h+q|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}}else if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=a[j>>0];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+1|0}}g=l;h=h+y|0}h=h+q|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+r|0;break}case 2:{h=h+(g<<1)|0;g=(o|0)==0;if(!(c[z+32>>2]|0)){if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=e[j>>1];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+2|0}}g=l;h=h+(y<<1)|0}h=h+(q<<1)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}}else if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=b[j>>1];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+2|0}}g=l;h=h+(y<<1)|0}h=h+(q<<1)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+(r<<1)|0;break}case 4:{h=h+(g<<2)|0;if(o){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=c[j>>2];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+4|0}}g=l;h=h+(y<<2)|0}h=h+(q<<2)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+(r<<2)|0;break}default:{}}A=A+1|0;if(A>>>0>=(c[B>>2]|0)>>>0){h=1;i=61;break}else{i=i+52|0;z=z+52|0;f=f+52|0}}if((i|0)==61)return h|0;return 0}function de(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;x=z+88|0;u=z+80|0;v=z+72|0;t=z+64|0;q=z+56|0;p=z+48|0;m=z+40|0;k=z+32|0;j=z+24|0;h=z+16|0;r=z+100|0;s=z+96|0;w=z+92|0;c[s>>2]=0;y=b+200|0;if((f|0)!=8){Ub(g,1,8662,z)|0;Ub(g,1,8662,z+8|0)|0;g=0;i=z;return g|0}qb(e,y,2);qb(e+2|0,r,4);qb(e+6|0,w,1);qb(e+7|0,s,1);l=c[y>>2]|0;e=c[b+112>>2]|0;if(l>>>0>=(_(c[b+116>>2]|0,e)|0)>>>0){c[h>>2]=l;Ub(g,1,15258,h)|0;g=0;i=z;return g|0}f=c[b+164>>2]|0;o=(l>>>0)%(e>>>0)|0;n=(l>>>0)/(e>>>0)|0;e=c[r>>2]|0;do{if((e+-1|0)>>>0<13){if((e|0)==12){c[j>>2]=12;Ub(g,2,15282,j)|0;e=c[r>>2]|0;break}c[k>>2]=e;Ub(g,1,15319,k)|0;g=0;i=z;return g|0}}while(0);if(!e){Ub(g,4,15380,m)|0;c[b+72>>2]=1}e=c[s>>2]|0;do{if(!e)e=c[f+(l*5640|0)+5588>>2]|0;else{e=((d[b+76>>0]|0)>>>4&1)+e|0;c[s>>2]=e;h=f+(l*5640|0)+5588|0;j=c[h>>2]|0;f=c[w>>2]|0;if((j+-1|0)>>>0>>0){c[p>>2]=f;c[p+4>>2]=j;Ub(g,1,15491,p)|0;c[b+72>>2]=1;g=0;i=z;return g|0}if(f>>>0>>0){c[h>>2]=e;break}c[q>>2]=f;c[q+4>>2]=e;Ub(g,1,15590,q)|0;c[b+72>>2]=1;g=0;i=z;return g|0}}while(0);if((e|0)!=0?(e|0)==((c[w>>2]|0)+1|0):0){q=b+76|0;a[q>>0]=a[q>>0]|1}c[b+24>>2]=(c[b+72>>2]|0)==0?(c[r>>2]|0)+-12|0:0;c[b+8>>2]=16;e=c[b+60>>2]|0;if((e|0)==-1){if((o>>>0>=(c[b+28>>2]|0)>>>0?o>>>0<(c[b+36>>2]|0)>>>0:0)?n>>>0>=(c[b+32>>2]|0)>>>0:0)e=(n>>>0>=(c[b+40>>2]|0)>>>0&1)<<2&255;else e=4;r=b+76|0;a[r>>0]=a[r>>0]&-5|e}else{r=b+76|0;a[r>>0]=((c[y>>2]|0)!=(e|0)&1)<<2&255|a[r>>0]&-5}k=b+196|0;e=c[k>>2]|0;if(!e){g=1;i=z;return g|0}j=c[y>>2]|0;e=c[e+40>>2]|0;c[e+(j*40|0)>>2]=j;c[e+(j*40|0)+12>>2]=c[w>>2];f=c[s>>2]|0;if(f){c[e+(j*40|0)+4>>2]=f;c[e+(j*40|0)+8>>2]=c[s>>2];e=c[e+(j*40|0)+16>>2]|0;if(!e){x=Qc(c[s>>2]|0,24)|0;c[(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16>>2]=x;if(x){g=1;i=z;return g|0}Ub(g,1,15698,t)|0;g=0;i=z;return g|0}e=Tc(e,(c[s>>2]|0)*24|0)|0;f=(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16|0;if(!e){Uc(c[f>>2]|0);c[(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16>>2]=0;Ub(g,1,15698,v)|0;g=0;i=z;return g|0}else{c[f>>2]=e;g=1;i=z;return g|0}}if(!(c[e+(j*40|0)+16>>2]|0)){c[e+(j*40|0)+8>>2]=10;v=Qc(10,24)|0;f=c[y>>2]|0;e=c[(c[k>>2]|0)+40>>2]|0;c[e+(f*40|0)+16>>2]=v;if(!v){c[e+(f*40|0)+8>>2]=0;Ub(g,1,15698,u)|0;g=0;i=z;return g|0}else j=f}f=c[w>>2]|0;h=e+(j*40|0)+8|0;if(f>>>0<(c[h>>2]|0)>>>0){g=1;i=z;return g|0}f=f+1|0;c[h>>2]=f;e=Tc(c[e+(j*40|0)+16>>2]|0,f*24|0)|0;f=(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16|0;if(!e){Uc(c[f>>2]|0);y=c[y>>2]|0;w=c[(c[k>>2]|0)+40>>2]|0;c[w+(y*40|0)+16>>2]=0;c[w+(y*40|0)+8>>2]=0;Ub(g,1,15698,x)|0;g=0;i=z;return g|0}else{c[f>>2]=e;g=1;i=z;return g|0}return 0}function ee(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;p=s+48|0;q=s+40|0;k=s+32|0;n=s+56|0;j=s+52|0;c[n>>2]=e;r=b+80|0;l=c[r>>2]|0;o=b+8|0;if((c[o>>2]|0)==16)m=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else m=c[b+12>>2]|0;g=m+5636|0;h=a[g>>0]|0;if(h&1){Ub(f,1,15025,s)|0;r=0;i=s;return r|0}a[g>>0]=h|1;if(e>>>0<5){Ub(f,1,15089,s+8|0)|0;r=0;i=s;return r|0}qb(d,m,1);if((c[m>>2]|0)>>>0>7){Ub(f,1,15115,s+16|0)|0;r=0;i=s;return r|0}qb(d+1|0,j,1);j=c[j>>2]|0;g=m+4|0;c[g>>2]=j;if((j|0)>4){Ub(f,1,15149,s+24|0)|0;c[g>>2]=-1}g=m+8|0;qb(d+2|0,g,2);g=c[g>>2]|0;if((g+-1|0)>>>0>65534){c[k>>2]=g;Ub(f,1,15190,k)|0;r=0;i=s;return r|0}k=c[b+172>>2]|0;c[m+12>>2]=(k|0)==0?g:k;qb(d+4|0,m+16|0,1);k=d+5|0;c[n>>2]=e+-5;j=c[l+16>>2]|0;if(j){d=c[m>>2]&1;g=c[m+5584>>2]|0;h=0;do{c[g+(h*1080|0)>>2]=d;h=h+1|0}while(h>>>0>>0)}if(!(Fe(b,0,k,n,f)|0)){Ub(f,1,15089,q)|0;r=0;i=s;return r|0}if(c[n>>2]|0){Ub(f,1,15089,p)|0;r=0;i=s;return r|0}if((c[o>>2]|0)==16)g=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else g=c[b+12>>2]|0;g=c[g+5584>>2]|0;e=g+4|0;h=c[e>>2]|0;m=h<<2;if((c[(c[r>>2]|0)+16>>2]|0)>>>0<=1){r=1;i=s;return r|0}n=g+8|0;o=g+12|0;b=g+16|0;f=g+20|0;p=g+812|0;q=g+944|0;c[g+1084>>2]=h;j=c[n>>2]|0;c[g+1088>>2]=j;d=c[o>>2]|0;c[g+1092>>2]=d;k=c[b>>2]|0;c[g+1096>>2]=k;l=c[f>>2]|0;c[g+1100>>2]=l;Ui(g+1892|0,p|0,m|0)|0;Ui(g+2024|0,q|0,m|0)|0;if((c[(c[r>>2]|0)+16>>2]|0)>>>0<=2){r=1;i=s;return r|0}c[g+2164>>2]=h;c[g+2168>>2]=j;c[g+2172>>2]=d;c[g+2176>>2]=k;c[g+2180>>2]=l;Ui(g+2972|0,p|0,m|0)|0;Ui(g+3104|0,q|0,m|0)|0;if((c[(c[r>>2]|0)+16>>2]|0)>>>0>3)h=3;else{r=1;i=s;return r|0}while(1){j=c[n>>2]|0;d=c[o>>2]|0;k=c[b>>2]|0;l=c[f>>2]|0;c[g+3244>>2]=c[e>>2];c[g+3248>>2]=j;c[g+3252>>2]=d;c[g+3256>>2]=k;c[g+3260>>2]=l;Ui(g+4052|0,p|0,m|0)|0;Ui(g+4184|0,q|0,m|0)|0;h=h+1|0;if(h>>>0>=(c[(c[r>>2]|0)+16>>2]|0)>>>0){g=1;break}else g=g+1080|0}i=s;return g|0}function lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+272|0;n=u;s=u+136|0;t=u+8|0;if(!a){t=0;i=u;return t|0}m=a+4|0;if((c[a>>2]|0)==(b|0)?(c[m>>2]|0)==(d|0):0)f=a+8|0;else{c[a>>2]=b;c[m>>2]=d;c[s>>2]=b;c[t>>2]=d;f=a+8|0;c[f>>2]=0;g=0;j=d;k=b;l=0;while(1){r=_(j,k)|0;k=(k+1|0)/2|0;h=l+1|0;c[s+(h<<2)>>2]=k;j=(j+1|0)/2|0;c[t+(h<<2)>>2]=j;g=g+r|0;if(r>>>0<=1)break;else l=h}c[f>>2]=g;if(!g){f=a+12|0;g=c[f>>2]|0;if(g){Uc(g);c[f>>2]=0}Uc(a);t=0;i=u;return t|0}h=g<<4;j=a+16|0;k=a+12|0;do{if(h>>>0>(c[j>>2]|0)>>>0){g=Tc(c[k>>2]|0,h)|0;if(g){c[k>>2]=g;d=c[j>>2]|0;Qi(g+d|0,0,h-d|0)|0;c[j>>2]=h;d=c[m>>2]|0;b=c[a>>2]|0;break}Ub(e,1,20166,n)|0;f=c[k>>2]|0;if(f){Uc(f);c[k>>2]=0}Uc(a);t=0;i=u;return t|0}}while(0);g=c[k>>2]|0;b=g+((_(d,b)|0)<<4)|0;if(l){r=0;d=b;do{p=c[t+(r<<2)>>2]|0;a:do{if((p|0)>0){q=c[s+(r<<2)>>2]|0;if((q|0)<=0){h=p+-1|0;j=0;while(1){o=(j&1|0)!=0|(j|0)==(h|0);k=o?d:b+(q<<4)|0;d=o?d:b;j=j+1|0;if((j|0)>=(p|0)){b=k;break a}else b=k}}o=((q+2+((q|0)<2?~q:-3)|0)>>>1)+1|0;e=p+-1|0;n=0;while(1){m=q;k=d;while(1){c[g>>2]=k;h=g+16|0;j=m;m=m+-2|0;if((m|0)>-1){c[h>>2]=k;g=g+32|0}else g=h;if((j|0)<=2)break;else k=k+16|0}d=d+(o<<4)|0;m=(n&1|0)!=0|(n|0)==(e|0);h=m?d:b+(q<<4)|0;d=m?d:b;n=n+1|0;if((n|0)>=(p|0)){b=h;break}else b=h}}}while(0);r=r+1|0}while((r|0)!=(l|0))}c[g>>2]=0}f=c[f>>2]|0;if(!f){t=a;i=u;return t|0}g=0;b=c[a+12>>2]|0;while(1){c[b+4>>2]=999;c[b+8>>2]=0;c[b+12>>2]=0;g=g+1|0;if((g|0)==(f|0))break;else b=b+16|0}i=u;return a|0}function mg(a){a=a|0;var b=0,d=0;if(!a)return;b=a+12|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}Uc(a);return}function ng(a,b,d){a=a|0;b=b|0;d=d|0;b=(c[a+12>>2]|0)+(b<<4)|0;if(!b)return;while(1){a=b+4|0;if((c[a>>2]|0)<=(d|0)){b=4;break}c[a>>2]=d;b=c[b>>2]|0;if(!b){b=4;break}}if((b|0)==4)return}function og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+128|0;j=k;d=(c[b+12>>2]|0)+(d<<4)|0;if(!(c[d>>2]|0)){f=0;g=j}else{f=d;b=j;while(1){g=b+4|0;c[b>>2]=d;d=c[f>>2]|0;if(!(c[d>>2]|0)){f=0;break}else{f=d;b=g}}}while(1){h=d+8|0;b=c[h>>2]|0;if((f|0)>(b|0)){c[h>>2]=f;b=f}a:do{if((b|0)<(e|0)){f=d+4|0;while(1){if((b|0)>=(c[f>>2]|0))break;Bg(a,0,1);b=b+1|0;if((b|0)>=(e|0)){d=b;break a}}d=d+12|0;if(!(c[d>>2]|0)){Bg(a,1,1);c[d>>2]=1;d=b}else d=b}else d=b}while(0);c[h>>2]=d;if((g|0)==(j|0))break;h=g+-4|0;f=d;d=c[h>>2]|0;g=h}i=k;return}function pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+128|0;j=k;d=(c[b+12>>2]|0)+(d<<4)|0;if(!(c[d>>2]|0)){b=0;g=j}else{f=d;b=j;while(1){g=b+4|0;c[b>>2]=d;d=c[f>>2]|0;if(!(c[d>>2]|0)){b=0;break}else{f=d;b=g}}}while(1){h=d+8|0;f=c[h>>2]|0;if((b|0)>(f|0))c[h>>2]=b;else b=f;d=d+4|0;a:do{if((b|0)<(e|0)){while(1){if((b|0)>=(c[d>>2]|0))break a;if(Cg(a,1)|0)break;b=b+1|0;if((b|0)>=(e|0))break a}c[d>>2]=b}}while(0);c[h>>2]=b;if((g|0)==(j|0))break;h=g+-4|0;d=c[h>>2]|0;g=h}i=k;return(c[d>>2]|0)<(e|0)|0}function qg(){var a=0,b=0;a=Qc(1,12)|0;if(!a){a=0;return a|0}c[a+4>>2]=10;b=Qc(10,4)|0;c[a+8>>2]=b;if(b){b=a;return b|0}Uc(a);b=0;return b|0}function rg(a){a=a|0;var b=0;if(!a)return;b=c[a+8>>2]|0;if(b)Uc(b);Uc(a);return}function sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=a+4|0;f=c[g>>2]|0;e=c[a>>2]|0;do{if((f|0)==(e|0)){f=f+10|0;c[g>>2]=f;e=a+8|0;f=Tc(c[e>>2]|0,f<<2)|0;if(f){c[e>>2]=f;e=c[a>>2]|0;break}Uc(c[e>>2]|0);c[g>>2]=0;c[a>>2]=0;Ub(d,1,20214,h)|0;a=0;i=j;return a|0}else f=c[a+8>>2]|0}while(0);c[f+(e<<2)>>2]=b;c[a>>2]=e+1;a=1;i=j;return a|0}function tg(a){a=a|0;return c[a>>2]|0}function ug(a){a=a|0;return c[a+8>>2]|0}function vg(a){a=a|0;c[a>>2]=0;return}function wg(){return Pc(20)|0}function xg(a){a=a|0;if(!a)return;Uc(a);return}function yg(a){a=a|0;return(c[a+8>>2]|0)-(c[a>>2]|0)|0}function zg(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=b+d;c[a+8>>2]=b;c[a+12>>2]=0;c[a+16>>2]=8;return}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=b+d;c[a+8>>2]=b;c[a+12>>2]=0;c[a+16>>2]=0;return}function Bg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!e)return;k=b+16|0;l=b+12|0;m=b+8|0;h=b+4|0;b=c[k>>2]|0;j=e+-1|0;do{i=d>>>j&1;if(!b){g=c[l>>2]|0;b=g<<8&65280;c[l>>2]=b;b=(b|0)==65280?7:8;c[k>>2]=b;f=c[m>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[m>>2]=f+1;a[f>>0]=g;b=c[k>>2]|0}}b=b+-1|0;c[k>>2]=b;c[l>>2]=i<>2];j=j+-1|0}while(j>>>0>>0);return}function Cg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!b){b=0;return b|0}j=a+16|0;k=a+12|0;l=a+8|0;h=a+4|0;e=c[j>>2]|0;f=c[k>>2]|0;i=b+-1|0;a=0;do{if(!e){g=f<<8&65280;c[k>>2]=g;e=(g|0)==65280?7:8;c[j>>2]=e;f=c[l>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[l>>2]=f+1;f=d[f>>0]|0|g;c[k>>2]=f}else f=g}e=e+-1|0;c[j>>2]=e;a=((f>>>e&1)<>>0>>0);return a|0}function Dg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=b+12|0;d=c[f>>2]|0;i=d<<8&65280;c[f>>2]=i;g=b+16|0;c[g>>2]=(i|0)==65280?7:8;i=b+8|0;e=c[i>>2]|0;h=b+4|0;if(e>>>0>=(c[h>>2]|0)>>>0){i=0;return i|0}c[i>>2]=e+1;a[e>>0]=d;if((c[g>>2]|0)!=7){i=1;return i|0}d=c[f>>2]|0;b=d<<8&65280;c[f>>2]=b;c[g>>2]=(b|0)==65280?7:8;b=c[i>>2]|0;if(b>>>0>=(c[h>>2]|0)>>>0){i=0;return i|0}c[i>>2]=b+1;a[b>>0]=d;i=1;return i|0}function Eg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=a+12|0;b=c[h>>2]|0;do{if((b&255|0)==255){f=b<<8&65280;c[h>>2]=f;b=a+16|0;c[b>>2]=(f|0)==65280?7:8;g=a+8|0;e=c[g>>2]|0;if(e>>>0<(c[a+4>>2]|0)>>>0){c[g>>2]=e+1;c[h>>2]=d[e>>0]|0|f;break}else{a=0;return a|0}}else b=a+16|0}while(0);c[b>>2]=0;a=1;return a|0}function Fg(a){a=a|0;return Pg(a,1)|0}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+32|0;B=D+16|0;C=D;k=c[a+24>>2]|0;j=(c[k+8>>2]|0)-(c[k>>2]|0)|0;h=(c[k+12>>2]|0)-(c[k+4>>2]|0)|0;A=(c[a+8>>2]|0)-(c[a>>2]|0)|0;if((b|0)==1){C=1;i=D;return C|0}g=b+-1|0;f=(g|0)==0;if(f)b=0;else{d=k;e=g;b=0;do{z=d;d=d+136|0;y=(c[z+144>>2]|0)-(c[d>>2]|0)|0;b=b>>>0>>0?y:b;z=(c[z+148>>2]|0)-(c[z+140>>2]|0)|0;b=b>>>0>>0?z:b;e=e+-1|0}while((e|0)!=0);b=b<<2}z=Rc(b)|0;c[B>>2]=z;if(!z){C=0;i=D;return C|0}c[C>>2]=z;if(!f){s=a+32|0;t=B+8|0;u=C+8|0;v=B+4|0;w=B+12|0;x=C+4|0;y=C+12|0;do{q=c[s>>2]|0;n=k;k=k+136|0;c[t>>2]=j;c[u>>2]=h;o=c[n+144>>2]|0;p=c[k>>2]|0;e=j;j=o-p|0;b=c[n+148>>2]|0;n=n+140|0;r=c[n>>2]|0;d=h;h=b-r|0;c[v>>2]=j-e;c[w>>2]=(p|0)%2|0;r=(b|0)==(r|0);if(!r){m=j<<2;b=0;while(1){a=_(b,A)|0;l=q+(a<<2)|0;if(e){d=l;f=z+(c[w>>2]<<2)|0;while(1){e=e+-1|0;c[f>>2]=c[d>>2];if(!e)break;else{d=d+4|0;f=f+8|0}}}d=c[v>>2]|0;if(d){e=q+((c[t>>2]|0)+a<<2)|0;f=z+(1-(c[w>>2]|0)<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+4|0;f=f+8|0}}}Qg(B);Ui(l|0,z|0,m|0)|0;b=b+1|0;if((b|0)==(h|0))break;e=c[t>>2]|0}d=c[u>>2]|0;b=c[n>>2]|0}c[x>>2]=h-d;c[y>>2]=(b|0)%2|0;a:do{if((o|0)!=(p|0)){b=0;while(1){if(d){e=q+(b<<2)|0;f=z+(c[y>>2]<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+(A<<2)|0;f=f+8|0}}}d=c[x>>2]|0;if(d){e=q+((_(c[u>>2]|0,A)|0)+b<<2)|0;f=z+(1-(c[y>>2]|0)<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+(A<<2)|0;f=f+8|0}}}Qg(C);if(!r){d=0;do{c[q+((_(d,A)|0)+b<<2)>>2]=c[z+(d<<2)>>2];d=d+1|0}while((d|0)!=(h|0))}b=b+1|0;if((b|0)==(j|0))break a;d=c[u>>2]|0}}}while(0);g=g+-1|0}while((g|0)!=0)}Sc(z);C=1;i=D;return C|0}function Hg(a){a=a|0;if(!a){a=0;return a|0}a=(a+-1|0)>>>0<2?1:2;return a|0}function Ig(a,b){a=a|0;b=b|0;return+ +h[56+(b*80|0)+(a<<3)>>3]}function Jg(a){a=a|0;return Pg(a,2)|0}function Kg(a){a=a|0;return 0}function Lg(a,b){a=a|0;b=b|0;return+ +h[376+(b*80|0)+(a<<3)>>3]}function Mg(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+4|0;l=((c[k>>2]|0)*3|0)+-2|0;if(!l)return;m=a+20|0;n=a+24|0;o=0;do{if(!o){e=0;f=0}else{f=o+-1|0;e=((f>>>0)/3|0)+1|0;f=((f>>>0)%3|0)+1|0}if((f|0)==0|(c[m>>2]|0)==0)g=0;else g=(f+-1|0)>>>0<2?1:2;if(!(c[n>>2]|0))d=1.0;else d=+(1<>2]|0)+~e<<3)>>3];j=~~+M(+(d*8192.0));i=g+b|0;if((j|0)>1){e=j;f=0;while(1){e=e>>1;if((e|0)<=1)break;else f=f+1|0}g=j;e=0;do{g=g>>1;e=e+1|0}while((g|0)>1);f=f+-12|0}else{f=-13;e=0}g=11-e|0;c[a+28+(o<<3)+4>>2]=((g|0)<0?j>>0-g:j<>2]=i-f;o=o+1|0}while((o|0)!=(l|0));return}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=i;i=i+32|0;Q=T+16|0;R=T;m=c[a+24>>2]|0;n=c[m+8>>2]|0;o=c[m>>2]|0;k=c[m+12>>2]|0;l=c[m+4>>2]|0;P=a+8|0;h=c[P>>2]|0;j=c[a>>2]|0;O=h-j|0;g=b+-1|0;f=(g|0)==0;if(f)b=80;else{d=m;e=g;b=0;do{N=d;d=d+136|0;M=(c[N+144>>2]|0)-(c[d>>2]|0)|0;b=b>>>0>>0?M:b;N=(c[N+148>>2]|0)-(c[N+140>>2]|0)|0;b=b>>>0>>0?N:b;e=e+-1|0}while((e|0)!=0);b=(b<<4)+80|0}N=Rc(b)|0;c[Q>>2]=N;if(!N){S=0;i=T;return S|0}c[R>>2]=N;a:do{if(!f){y=a+32|0;z=a+12|0;A=a+4|0;B=Q+8|0;C=R+8|0;D=Q+4|0;E=Q+12|0;F=R+4|0;G=R+12|0;H=O<<1;I=O<<2;J=O*3|0;L=j<<2;M=h<<2;K=L-M|0;L=M-L|0;M=h-j<<2;b=g;d=N;g=h;e=j;r=k-l|0;f=m;h=n-o|0;while(1){s=c[y>>2]|0;e=_((c[z>>2]|0)-(c[A>>2]|0)|0,g-e|0)|0;c[B>>2]=h;c[C>>2]=r;w=f+136|0;p=c[f+144>>2]|0;q=c[w>>2]|0;x=p-q|0;u=c[f+148>>2]|0;n=f+140|0;t=c[n>>2]|0;v=u-t|0;c[D>>2]=x-h;c[E>>2]=(q|0)%2|0;if((v|0)>3){g=(x|0)>0;h=(u+-4-t|0)>>>2;m=_(K,h)|0;h=s+(L+(_(M,h)|0)<<2)|0;j=s;k=e;l=v;while(1){Sg(Q,j,O,k);Tg(Q);if(g){f=x;do{o=f;f=f+-1|0;c[j+(f<<2)>>2]=c[N+(f<<4)>>2];c[j+(f+O<<2)>>2]=c[N+(f<<4)+4>>2];c[j+(f+H<<2)>>2]=c[N+(f<<4)+8>>2];c[j+(f+J<<2)>>2]=c[N+(f<<4)+12>>2]}while((o|0)>1)}l=l+-4|0;if((l|0)<=3)break;else{j=j+(I<<2)|0;k=k-I|0}}e=K+e+m|0}else h=s;g=v&3;b:do{if(!g)S=21;else{Sg(Q,h,O,e);Tg(Q);if((x|0)>0)e=x;else{k=v-r|0;c[F>>2]=k;g=(c[n>>2]|0)%2|0;c[G>>2]=g;l=r;j=s;break}while(1){f=e;e=e+-1|0;switch(g|0){case 3:{c[h+(e+H<<2)>>2]=c[N+(e<<4)+8>>2];S=18;break}case 2:{S=18;break}case 1:{S=19;break}default:{}}if((S|0)==18){c[h+(e+O<<2)>>2]=c[N+(e<<4)+4>>2];S=19}if((S|0)==19){S=0;c[h+(e<<2)>>2]=c[N+(e<<4)>>2]}if((f|0)<=1){S=21;break b}}}}while(0);if((S|0)==21){S=0;k=v-r|0;c[F>>2]=k;g=(c[n>>2]|0)%2|0;c[G>>2]=g;if((x|0)>3){o=(u|0)==(t|0);p=p+-4-q|0;n=c[C>>2]|0;l=(n|0)>0;j=1-g|0;m=(k|0)>0;f=s;h=x;while(1){if(l){e=0;do{r=d+((e<<1)+g<<4)|0;q=f+((_(e,O)|0)<<2)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(n|0))}if(m){e=0;do{r=d+(j+(e<<1)<<4)|0;q=f+((_(e+n|0,O)|0)<<2)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(k|0))}Tg(R);if(!o){d=c[R>>2]|0;e=0;do{r=f+((_(e,O)|0)<<2)|0;q=d+(e<<4)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(v|0))}h=h+-4|0;if((h|0)<=3)break;else f=f+16|0}l=n;j=s+((p+4&-4)<<2)|0}else{l=r;j=s}}h=x&3;if(h){d=c[R>>2]|0;if((l|0)>0){e=h<<2;f=0;do{Ui(d+((f<<1)+g<<4)|0,j+((_(f,O)|0)<<2)|0,e|0)|0;f=f+1|0}while((f|0)!=(l|0))}e=1-g|0;if((k|0)>0){f=h<<2;g=0;do{Ui(d+(e+(g<<1)<<4)|0,j+((_(g+l|0,O)|0)<<2)|0,f|0)|0;g=g+1|0}while((g|0)!=(k|0))}Tg(R);if((u|0)!=(t|0)){e=h<<2;f=0;do{Ui(j+((_(f,O)|0)<<2)|0,d+(f<<4)|0,e|0)|0;f=f+1|0}while((f|0)!=(v|0))}}b=b+-1|0;if(!b)break a;g=c[P>>2]|0;e=c[a>>2]|0;r=v;f=w;h=x}}}while(0);Sc(N);S=1;i=T;return S|0}function Og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if(!e){e=(b|0)>0;if(!(e|(d|0)>1))return;if(e){e=a+((d<<1)+-2<<2)|0;f=0;do{j=f;f=f+1|0;k=a+((j<<1|1)<<2)|0;c[k>>2]=(c[k>>2]|0)-((c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((j|0)<(d|0)?a+(j<<1<<2)|0:e)>>2]|0)>>1)}while((f|0)!=(b|0))}if((d|0)<=0)return;f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;k=a+(h<<1<<2)|0;c[k>>2]=((c[e>>2]|0)+2+(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)>>2)+(c[k>>2]|0);h=h+1|0}while((h|0)!=(d|0));return}if((b|0)==1&(d|0)==0){c[a>>2]=c[a>>2]<<1;return}if((b|0)>0){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;i=a+(i<<2)|0;c[i>>2]=(c[i>>2]|0)-((c[e>>2]|0)+j>>1);k=k+1|0}while((k|0)!=(b|0))}if((d|0)<=0)return;e=a+((b<<1)+-2<<2)|0;f=0;do{j=f;f=f+1|0;k=a+((j<<1|1)<<2)|0;c[k>>2]=((c[((j|0)<(b|0)?a+(j<<1<<2)|0:e)>>2]|0)+2+(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)>>2)+(c[k>>2]|0)}while((f|0)!=(d|0));return}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=(c[a+8>>2]|0)-(c[a>>2]|0)|0;g=c[a+16>>2]|0;i=g+-1|0;x=c[a+32>>2]|0;h=c[a+24>>2]|0;f=(i|0)==0;if(f)a=0;else{d=h;e=i;a=0;do{v=d;d=d+136|0;u=(c[v+144>>2]|0)-(c[d>>2]|0)|0;a=a>>>0>>0?u:a;v=(c[v+148>>2]|0)-(c[v+140>>2]|0)|0;a=a>>>0>>0?v:a;e=e+-1|0}while((e|0)!=0);a=a<<2}v=Pc(a)|0;if(!((a|0)==0|(v|0)!=0)){b=0;return b|0}if(!f){t=g+-2|0;u=t;a=h+(i*136|0)|0;t=h+(t*136|0)|0;while(1){q=c[a>>2]|0;s=(c[a+8>>2]|0)-q|0;m=c[a+4>>2]|0;o=(c[a+12>>2]|0)-m|0;p=(c[t+8>>2]|0)-(c[t>>2]|0)|0;a=c[t+12>>2]|0;d=c[t+4>>2]|0;l=a-d|0;q=q&1;m=m&1;n=o-l|0;r=(s|0)>0;a:do{if(r){f=(a|0)==(d|0);i=(o|0)==(l|0);j=v+((m^1)<<2)|0;k=_(l,w)|0;h=v+(m<<2)|0;if((o|0)>0){g=0;while(1){d=x+(g<<2)|0;a=0;do{c[v+(a<<2)>>2]=c[x+((_(a,w)|0)+g<<2)>>2];a=a+1|0}while((a|0)!=(o|0));ab[b&3](v,n,l,m);if(!f){e=l;a=h;while(1){e=e+-1|0;c[d>>2]=c[a>>2];if(!e)break;else{d=d+(w<<2)|0;a=a+8|0}}}if(!i){a=n;d=x+(g+k<<2)|0;e=j;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}}g=g+1|0;if((g|0)==(s|0))break a}}if(f){d=0;while(1){ab[b&3](v,n,l,m);if(!i){a=n;e=x+(d+k<<2)|0;f=j;while(1){a=a+-1|0;c[e>>2]=c[f>>2];if(!a)break;else{e=e+(w<<2)|0;f=f+8|0}}}d=d+1|0;if((d|0)==(s|0))break a}}else f=0;do{ab[b&3](v,n,l,m);a=l;d=x+(f<<2)|0;e=h;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}if(!i){a=n;d=x+(f+k<<2)|0;e=j;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}}f=f+1|0}while((f|0)!=(s|0))}}while(0);g=s-p|0;if((o|0)>0){h=(p|0)>0;i=v+(q<<2)|0;j=(g|0)>0;k=v+((q^1)<<2)|0;l=0;do{f=_(l,w)|0;d=x+(f<<2)|0;if(r){a=0;do{c[v+(a<<2)>>2]=c[x+(a+f<<2)>>2];a=a+1|0}while((a|0)!=(s|0))}ab[b&3](v,g,p,q);if(h){e=0;a=i;while(1){c[d>>2]=c[a>>2];e=e+1|0;if((e|0)==(p|0))break;else{d=d+4|0;a=a+8|0}}}if(j){e=0;a=x+(f+p<<2)|0;d=k;while(1){c[a>>2]=c[d>>2];e=e+1|0;if((e|0)==(g|0))break;else{a=a+4|0;d=d+8|0}}}l=l+1|0}while((l|0)!=(o|0))}if(!u)break;else{a=t;u=u+-1|0;t=t+-136|0}}}Uc(v);b=1;return b|0}function Qg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=c[a+4>>2]|0;k=c[a+8>>2]|0;if(!(c[a+12>>2]|0)){e=(j|0)>0;if(!(e|(k|0)>1))return;if((k|0)>0){b=i+4|0;d=(j<<1)+-1|0;f=0;do{if((f|0)<1)a=b;else a=i+((((f|0)>(j|0)?j:f)<<1)+-1<<2)|0;g=f<<1;h=i+(g<<2)|0;c[h>>2]=(c[h>>2]|0)-((c[a>>2]|0)+2+(c[i+(((f|0)<(j|0)?g|1:d)<<2)>>2]|0)>>2);f=f+1|0}while((f|0)!=(k|0))}if(!e)return;a=i+((k<<1)+-2<<2)|0;b=0;do{g=b<<1;f=b;b=b+1|0;h=i+((g|1)<<2)|0;c[h>>2]=((c[((b|0)<(k|0)?i+(b<<1<<2)|0:a)>>2]|0)+(c[((f|0)<(k|0)?i+(g<<2)|0:a)>>2]|0)>>1)+(c[h>>2]|0)}while((b|0)!=(j|0));return}if((j|0)==1&(k|0)==0){c[i>>2]=(c[i>>2]|0)/2|0;return}if((k|0)>0){a=i+((j<<1)+-2<<2)|0;b=0;do{g=b<<1;f=b;b=b+1|0;h=i+((g|1)<<2)|0;c[h>>2]=(c[h>>2]|0)-((c[((f|0)<(j|0)?i+(g<<2)|0:a)>>2]|0)+2+(c[((b|0)<(j|0)?i+(b<<1<<2)|0:a)>>2]|0)>>2)}while((b|0)!=(k|0))}if((j|0)<=0)return;b=i+4|0;d=(k<<1)+-1|0;e=i+(d<<2)|0;h=0;do{f=h<<1;g=c[i+(((h|0)<(k|0)?f|1:d)<<2)>>2]|0;if((h|0)>=1)if((h|0)>(k|0))a=e;else a=i+(f+-1<<2)|0;else a=b;f=i+(f<<2)|0;c[f>>2]=((c[a>>2]|0)+g>>1)+(c[f>>2]|0);h=h+1|0}while((h|0)!=(j|0));return}function Rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!e){j=(b|0)>0;if(!(j|(d|0)>1))return;if(j){e=a+((d<<1)+-2<<2)|0;f=0;do{m=f;f=f+1|0;l=(c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((m|0)<(d|0)?a+(m<<1<<2)|0:e)>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,12993,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+((m<<1|1)<<2)|0;c[m>>2]=(c[m>>2]|0)-l}while((f|0)!=(b|0))}i=(d|0)>0;if(i){f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;l=(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)+(c[e>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,434,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+(h<<1<<2)|0;c[m>>2]=(c[m>>2]|0)-l;h=h+1|0}while((h|0)!=(d|0))}if(j){e=a+((d<<1)+-2<<2)|0;f=0;do{m=f;f=f+1|0;l=(c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((m|0)<(d|0)?a+(m<<1<<2)|0:e)>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,7233,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+((m<<1|1)<<2)|0;c[m>>2]=l+(c[m>>2]|0)}while((f|0)!=(b|0))}if(i){f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;l=(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)+(c[e>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,3633,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+(h<<1<<2)|0;c[m>>2]=l+(c[m>>2]|0);h=h+1|0}while((h|0)!=(d|0))}if(j){e=0;do{m=a+((e<<1|1)<<2)|0;l=c[m>>2]|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,5038,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;c[m>>2]=l;e=e+1|0}while((e|0)!=(b|0))}if(i)e=0;else return;do{b=a+(e<<1<<2)|0;m=c[b>>2]|0;m=Zi(m|0,((m|0)<0)<<31>>31|0,6659,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;c[b>>2]=m;e=e+1|0}while((e|0)!=(d|0));return}m=(d|0)>0;if(!((b|0)>1|m))return;l=(b|0)>0;if(l){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;e=(c[e>>2]|0)+j|0;e=Zi(e|0,((e|0)<0)<<31>>31|0,12993,0)|0;e=Si(e|0,C|0,4096,0)|0;e=Ti(e|0,C|0,13)|0;j=a+(i<<2)|0;c[j>>2]=(c[j>>2]|0)-e;k=k+1|0}while((k|0)!=(b|0))}if(m){e=a+((b<<1)+-2<<2)|0;f=0;do{k=f;f=f+1|0;j=(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((k|0)<(b|0)?a+(k<<1<<2)|0:e)>>2]|0)|0;j=Zi(j|0,((j|0)<0)<<31>>31|0,434,0)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;k=a+((k<<1|1)<<2)|0;c[k>>2]=(c[k>>2]|0)-j}while((f|0)!=(d|0))}if(l){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;e=(c[e>>2]|0)+j|0;e=Zi(e|0,((e|0)<0)<<31>>31|0,7233,0)|0;e=Si(e|0,C|0,4096,0)|0;e=Ti(e|0,C|0,13)|0;j=a+(i<<2)|0;c[j>>2]=e+(c[j>>2]|0);k=k+1|0}while((k|0)!=(b|0))}if(m){e=a+((b<<1)+-2<<2)|0;f=0;do{k=f;f=f+1|0;j=(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((k|0)<(b|0)?a+(k<<1<<2)|0:e)>>2]|0)|0;j=Zi(j|0,((j|0)<0)<<31>>31|0,3633,0)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;k=a+((k<<1|1)<<2)|0;c[k>>2]=j+(c[k>>2]|0)}while((f|0)!=(d|0))}if(l){e=0;do{l=a+(e<<1<<2)|0;k=c[l>>2]|0;k=Zi(k|0,((k|0)<0)<<31>>31|0,5038,0)|0;k=Si(k|0,C|0,4096,0)|0;k=Ti(k|0,C|0,13)|0;c[l>>2]=k;e=e+1|0}while((e|0)!=(b|0))}if(m)e=0;else return;do{b=a+((e<<1|1)<<2)|0;m=c[b>>2]|0;m=Zi(m|0,((m|0)<0)<<31>>31|0,6659,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;c[b>>2]=m;e=e+1|0}while((e|0)!=(d|0));return}function Sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=c[a>>2]|0;i=c[a+12>>2]|0;q=c[a+8>>2]|0;n=d*3|0;l=1-i|0;k=a+4|0;j=q;a=0;while(1){h=m+(i<<4)|0;if(((j+n|0)<(e|0)?(b&15|0)==0:0)?((h|d)&15|0)==0:0){if((j|0)>0){f=0;do{h=f<<3;c[m+(i<<4)+(h<<2)>>2]=c[b+(f<<2)>>2];g=f+d|0;c[m+(i<<4)+((h|1)<<2)>>2]=c[b+(g<<2)>>2];g=g+d|0;c[m+(i<<4)+((h|2)<<2)>>2]=c[b+(g<<2)>>2];c[m+(i<<4)+((h|3)<<2)>>2]=c[b+(g+d<<2)>>2];f=f+1|0}while((f|0)!=(j|0))}}else r=3;if((r|0)==3?(r=0,(j|0)>0):0){h=0;do{f=h<<3;c[m+(i<<4)+(f<<2)>>2]=c[b+(h<<2)>>2];g=h+d|0;if(((g|0)<(e|0)?(c[m+(i<<4)+((f|1)<<2)>>2]=c[b+(g<<2)>>2],o=g+d|0,(o|0)<(e|0)):0)?(c[m+(i<<4)+((f|2)<<2)>>2]=c[b+(o<<2)>>2],p=o+d|0,(p|0)<(e|0)):0)c[m+(i<<4)+((f|3)<<2)>>2]=c[b+(p<<2)>>2];h=h+1|0}while((h|0)!=(j|0))}a=a+1|0;if((a|0)==2)break;else{b=b+(q<<2)|0;e=e-q|0;i=l;j=c[k>>2]|0}}return}function Tg(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0;do{if(!(c[a+12>>2]|0)){d=c[a+8>>2]|0;if((c[a+4>>2]|0)>0){b=c[a>>2]|0;if((d|0)>0){i=0;f=1;j=9;break}else{i=0;h=1;break}}if((d|0)>1){e=0;f=1;j=7}else return}else{d=c[a+8>>2]|0;if((d|0)<=0)if((c[a+4>>2]|0)>1){b=c[a>>2]|0;i=1;h=0;break}else return;else{e=1;f=0;j=7}}}while(0);if((j|0)==7){b=c[a>>2]|0;i=e;j=9}if((j|0)==9){e=0;do{j=e<<3;o=b+(i<<4)+(j<<2)|0;m=b+(i<<4)+((j|1)<<2)|0;n=+g[m>>2];h=b+(i<<4)+((j|2)<<2)|0;l=+g[h>>2];j=b+(i<<4)+((j|3)<<2)|0;k=+g[j>>2];g[o>>2]=+g[o>>2]*1.2301740646362305;g[m>>2]=n*1.2301740646362305;g[h>>2]=l*1.2301740646362305;g[j>>2]=k*1.2301740646362305;e=e+1|0}while((e|0)!=(d|0));h=f}e=c[a+4>>2]|0;if((e|0)>0){f=0;do{o=f<<3;j=b+(h<<4)+(o<<2)|0;a=b+(h<<4)+((o|1)<<2)|0;k=+g[a>>2];m=b+(h<<4)+((o|2)<<2)|0;l=+g[m>>2];o=b+(h<<4)+((o|3)<<2)|0;n=+g[o>>2];g[j>>2]=+g[j>>2]*1.625732421875;g[a>>2]=k*1.625732421875;g[m>>2]=l*1.625732421875;g[o>>2]=n*1.625732421875;f=f+1|0}while((f|0)!=(e|0))}p=b+(h<<4)|0;f=b+(i+1<<4)|0;j=e-i|0;j=(d|0)<(j|0)?d:j;Ug(p,f,d,j,-.4435068666934967);a=b+(i<<4)|0;m=b+(h+1<<4)|0;o=d-h|0;o=(e|0)<(o|0)?e:o;Ug(a,m,e,o,-.8829110860824585);Ug(p,f,d,j,.05298011749982834);Ug(a,m,e,o,1.5861343145370483);return}function Ug(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0.0;if((d|0)>0){m=d<<1;l=m+-2|0;h=+g[a>>2];i=+g[a+4>>2];j=+g[a+8>>2];f=+g[a+12>>2];a=b;k=0;while(1){w=a+-16|0;t=a+-12|0;v=+g[t>>2];q=a+-8|0;s=+g[q>>2];n=a+-4|0;p=+g[n>>2];x=h;h=+g[a>>2];u=i;i=+g[a+4>>2];r=j;j=+g[a+8>>2];o=f;f=+g[a+12>>2];g[w>>2]=+g[w>>2]+(x+h)*e;g[t>>2]=v+(u+i)*e;g[q>>2]=s+(r+j)*e;g[n>>2]=p+(o+f)*e;k=k+1|0;if((k|0)==(d|0))break;else a=a+32|0}a=b+(l<<4)|0;b=b+(m<<4)|0}if((d|0)>=(c|0))return;f=e+e;h=f*+g[a>>2];i=f*+g[a+4>>2];j=f*+g[a+8>>2];f=f*+g[a+12>>2];while(1){n=b+-16|0;q=b+-12|0;u=+g[q>>2];t=b+-8|0;v=+g[t>>2];w=b+-4|0;x=+g[w>>2];g[n>>2]=h+ +g[n>>2];g[q>>2]=i+u;g[t>>2]=j+v;g[w>>2]=f+x;d=d+1|0;if((d|0)==(c|0))break;else b=b+32|0}return}function Vg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=d<<2;y=Pc(d<<4)|0;if(!y){a=0;return a|0}z=y+x|0;Qi(y|0,0,x|0)|0;v=d+-1|0;u=(d|0)==0;if(!u){e=0;f=y;while(1){c[f>>2]=e;e=e+1|0;if((e|0)==(d|0))break;else f=f+4|0}}a:do{if(v){q=v;j=0;e=0;r=a;s=1;t=y;while(1){k=r+(j<<2)|0;if(j>>>0>>0){i=j;f=k;h=0.0}else break;while(1){o=+g[f>>2];o=o>0.0?o:-o;w=o>h;e=w?i:e;h=w?o:h;i=i+1|0;if((i|0)==(d|0))break;else f=f+(d<<2)|0}if(h==0.0)break;if((e|0)!=(j|0)){w=e-j|0;p=t+(w<<2)|0;n=c[t>>2]|0;c[t>>2]=c[p>>2];c[p>>2]=n;w=r+((_(w,d)|0)<<2)|0;Ui(z|0,w|0,x|0)|0;Ui(w|0,r|0,x|0)|0;Ui(r|0,z|0,x|0)|0}f=j;p=j+1|0;o=+g[k>>2];if(s>>>0>>0){l=r+(p<<2)|0;n=p+q|0;m=s;i=r+(f+d<<2)|0;while(1){h=+g[i>>2]/o;g[i>>2]=h;f=s;j=i;k=l;while(1){j=j+4|0;g[j>>2]=+g[j>>2]-h*+g[k>>2];f=f+1|0;if((f|0)==(d|0))break;else k=k+4|0}m=m+1|0;if((m|0)==(d|0))break;else i=i+(n<<2)|0}}if(p>>>0>>0){q=q+-1|0;j=p;r=r+(d<<2)|0;s=s+1|0;t=t+4|0}else break a}Uc(y);a=0;return a|0}}while(0);e=d<<1;w=z+(e<<2)|0;if(!u){u=z+(v+d<<2)|0;q=z+(e+v<<2)|0;r=a+((_(d,d)|0)+-1<<2)|0;s=~d;t=0;p=b;while(1){Qi(z|0,0,x|0)|0;g[z+(t<<2)>>2]=1.0;j=0;k=1;l=y;m=w;n=a;while(1){if(!j)h=0.0;else{e=1;f=w;i=n;h=0.0;while(1){h=h+ +g[i>>2]*+g[f>>2];e=e+1|0;if((e|0)==(k|0))break;else{f=f+4|0;i=i+4|0}}}g[m>>2]=+g[z+(c[l>>2]<<2)>>2]-h;j=j+1|0;if((j|0)==(d|0)){j=d;k=u;l=w;m=q;n=r;break}else{k=k+1|0;l=l+4|0;m=m+4|0;n=n+(d<<2)|0}}while(1){e=j;j=j+-1|0;o=+g[n>>2];if(e>>>0>>0){f=l;i=n;h=0.0;while(1){i=i+4|0;h=h+ +g[i>>2]*+g[f>>2];e=e+1|0;if((e|0)==(d|0))break;else f=f+4|0}}else h=0.0;l=l+-4|0;g[k>>2]=(+g[m>>2]-h)/o;if(!j){e=0;f=p;break}else{k=k+-4|0;m=m+-4|0;n=n+(s<<2)|0}}while(1){c[f>>2]=c[z+(e+d<<2)>>2];e=e+1|0;if((e|0)==(d|0))break;else f=f+(d<<2)|0}t=t+1|0;if((t|0)==(d|0))break;else p=p+4|0}}Uc(y);a=1;return a|0}function Wg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=Qc(1,44)|0;if(!g){g=0;return g|0}h=hh()|0;c[g>>2]=h;if(!h){ih(0);c[g>>2]=0;h=g+4|0;yh(c[h>>2]|0);c[h>>2]=0;if((c[g+40>>2]|0)==0?(d=g+8|0,b=c[d>>2]|0,(b|0)!=0):0){Sc(b);c[d>>2]=0}b=g+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(g);h=0;return h|0}h=xh()|0;b=g+4|0;c[b>>2]=h;if(h){c[g+40>>2]=a;h=g;return h|0}ih(c[g>>2]|0);c[g>>2]=0;yh(c[b>>2]|0);c[b>>2]=0;if((c[g+40>>2]|0)==0?(e=g+8|0,f=c[e>>2]|0,(f|0)!=0):0){Sc(f);c[e>>2]=0}b=g+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(g);h=0;return h|0}function Xg(a){a=a|0;var b=0,d=0,e=0;if(!a)return;ih(c[a>>2]|0);c[a>>2]=0;e=a+4|0;yh(c[e>>2]|0);c[e>>2]=0;if((c[a+40>>2]|0)==0?(b=a+8|0,d=c[b>>2]|0,(d|0)!=0):0){Sc(d);c[b>>2]=0}b=a+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(a);return}function Yg(a,f,h){a=a|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;ya=(c[f+8>>2]|0)-(c[f>>2]|0)|0;za=f+20|0;i=c[za>>2]|0;if(!i){a=1;return a|0}Aa=f+24|0;Ba=h+808|0;Ca=h+16|0;ta=a+4|0;va=a+8|0;wa=a+16|0;xa=a+20|0;sa=h+20|0;pa=f+32|0;qa=a+32|0;ra=a+12|0;h=i;oa=0;a:while(1){ma=c[Aa>>2]|0;na=ma+(oa*136|0)+24|0;f=c[na>>2]|0;if(f){ja=ma+(oa*136|0)+16|0;ka=ma+(oa*136|0)+20|0;la=oa+-1|0;h=c[ka>>2]|0;i=c[ja>>2]|0;ia=0;do{if(_(h,i)|0){da=ma+(oa*136|0)+28+(ia*36|0)+20|0;ea=ma+(oa*136|0)+28+(ia*36|0)+16|0;fa=ma+(oa*136|0)+28+(ia*36|0)|0;ga=ma+(oa*136|0)+28+(ia*36|0)+4|0;ha=ma+(oa*136|0)+28+(ia*36|0)+32|0;ca=0;do{f=c[da>>2]|0;aa=f+(ca*40|0)+16|0;ba=f+(ca*40|0)+20|0;if(_(c[ba>>2]|0,c[aa>>2]|0)|0){Z=f+(ca*40|0)+24|0;$=0;do{h=c[Z>>2]|0;S=c[ea>>2]|0;j=c[Ba>>2]|0;f=c[Ca>>2]|0;T=c[ta>>2]|0;U=c[a>>2]|0;V=h+($*56|0)+8|0;Y=h+($*56|0)+12|0;if(!(_g(a,(c[h+($*56|0)+16>>2]|0)-(c[V>>2]|0)|0,(c[h+($*56|0)+20>>2]|0)-(c[Y>>2]|0)|0)|0)){h=0;G=201;break a}W=h+($*56|0)+24|0;k=c[W>>2]|0;qh(U);rh(U,18,0,46);rh(U,17,0,3);rh(U,0,0,4);X=h+($*56|0)+48|0;i=c[X>>2]|0;if(i){N=h+($*56|0)+4|0;O=(f&1|0)!=0;P=(f&2|0)==0;Q=(f&8|0)==0;R=S<<8;M=(f&32|0)==0;f=k+j|0;h=2;L=0;do{k=c[N>>2]|0;K=O&(h>>>0<2?(f|0)<=((c[W>>2]|0)+-4|0):0);j=c[k+(L<<5)>>2]|0;if(j){i=(c[j>>2]|0)+(c[k+(L<<5)+4>>2]|0)|0;j=c[k+(L<<5)+16>>2]|0;if(!K){if(!(vh(U,i,j)|0)){h=0;G=201;break a}}else zh(T,i,j);I=k+(L<<5)+12|0;b:do{if(c[I>>2]|0){J=P|K;H=0;while(1){c:do{switch(h|0){case 0:{if(K){w=1<>1|w;j=c[xa>>2]|0;if(!j)break c;v=0-w|0;i=c[wa>>2]|0;u=0;while(1){t=u;u=u+4|0;if(!i)i=0;else{q=(t|0)==-4;r=t|3;s=0;do{d:do{if(!q)if(Q){o=t;do{if(o>>>0>=(c[xa>>2]|0)>>>0)break d;m=o;o=o+1|0;i=(_(c[qa>>2]|0,o)|0)+s|0;j=i+1|0;k=c[ra>>2]|0;l=k+(j<<1)|0;m=(_(c[wa>>2]|0,m)|0)+s|0;m=(c[va>>2]|0)+(m<<2)|0;n=c[ta>>2]|0;G=b[l>>1]|0;if((G&255|0)!=0&(G&20480|0)==0){if(Ah(n)|0){D=Ah(n)|0;c[m>>2]=(D|0)!=0?v:w;F=c[qa>>2]|0;G=k+(j-F<<1)|0;E=k+(F+j<<1)|0;C=k+(j+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=i+2|0;C=k+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=k+(i<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[l>>1]=e[l>>1]|4096;C=k+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=k+(F+i<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=k+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[l>>1]=e[l>>1]|16384}}while(o>>>0>>0)}else{p=t;do{i=c[xa>>2]|0;if(p>>>0>=i>>>0)break d;F=p;p=p+1|0;j=(_(c[qa>>2]|0,p)|0)+s|0;k=j+1|0;l=c[ra>>2]|0;m=l+(k<<1)|0;n=(_(c[wa>>2]|0,F)|0)+s|0;n=(c[va>>2]|0)+(n<<2)|0;o=c[ta>>2]|0;G=b[m>>1]|0;G=(F|0)==(r|0)|(F|0)==(i+-1|0)?G&-1095:G;if((G&255|0)!=0&(G&20480|0)==0){if(Ah(o)|0){D=Ah(o)|0;c[n>>2]=(D|0)!=0?v:w;F=c[qa>>2]|0;G=l+(k-F<<1)|0;E=l+(F+k<<1)|0;C=l+(k+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=j+2|0;C=l+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=l+(j<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[m>>1]=e[m>>1]|4096;C=l+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=l+(F+j<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=l+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[m>>1]=e[m>>1]|16384}}while(p>>>0>>0)}}while(0);s=s+1|0;i=c[wa>>2]|0}while(s>>>0>>0);j=c[xa>>2]|0}if(u>>>0>=j>>>0){G=163;break c}}}if(Q){k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;r=1<>1|r;i=c[xa>>2]|0;j=c[wa>>2]|0;if(i>>>0>3){o=j;n=0;while(1){if(!j){j=o;m=0}else{j=0;do{G=(c[qa>>2]|0)+j|0;$g(a,l+(G<<1)|0,k+(j<<2)|0,S,r);i=(c[wa>>2]|0)+j|0;G=(c[qa>>2]|0)+G|0;$g(a,l+(G<<1)|0,k+(i<<2)|0,S,r);i=(c[wa>>2]|0)+i|0;G=(c[qa>>2]|0)+G|0;$g(a,l+(G<<1)|0,k+(i<<2)|0,S,r);$g(a,l+((c[qa>>2]|0)+G<<1)|0,k+((c[wa>>2]|0)+i<<2)|0,S,r);j=j+1|0;i=c[wa>>2]|0}while(j>>>0>>0);j=i;m=i;i=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=l+(c[qa>>2]<<2<<1)|0;n=n+4|0;if(n>>>0<(i&-4)>>>0){o=j;j=m}else{q=l;p=n;break}}}else{q=l;p=0}if(!j){G=163;break c}else o=0;while(1){if(p>>>0>>0){l=k+(o<<2)|0;m=q+(o<<1)|0;n=p;while(1){m=m+(c[qa>>2]<<1)|0;$g(a,m,l,S,r);j=c[wa>>2]|0;n=n+1|0;i=c[xa>>2]|0;if(n>>>0>=i>>>0)break;else l=l+(j<<2)|0}}o=o+1|0;if(o>>>0>=j>>>0){G=163;break c}}}w=1<>1|w;i=c[xa>>2]|0;if(!i){G=163;break c}x=0-w|0;j=c[wa>>2]|0;l=j;v=0;while(1){u=v;v=v+4|0;do{if(!j){k=l;j=0}else{t=u|3;if((u|0)==-4){k=l;j=l;break}else s=0;do{r=u;do{i=c[xa>>2]|0;if(r>>>0>=i>>>0)break;G=r;r=r+1|0;l=(_(c[qa>>2]|0,r)|0)+s|0;m=l+1|0;n=c[ra>>2]|0;o=n+(m<<1)|0;p=(_(c[wa>>2]|0,G)|0)+s|0;p=(c[va>>2]|0)+(p<<2)|0;q=c[a>>2]|0;j=b[o>>1]|0;i=(G|0)==(t|0)|(G|0)==(i+-1|0)?j&-1095:j;j=i&255;if((j|0)!=0&(i&20480|0)==0){k=q+100|0;c[k>>2]=q+24+(d[20267+(j|R)>>0]<<2);if(wh(q)|0){F=i>>>4&255;c[k>>2]=q+24+(d[21291+F>>0]<<2);G=wh(q)|0;F=d[21547+F>>0]|0;D=F^G;c[p>>2]=(G|0)!=(F|0)?x:w;F=c[qa>>2]|0;G=n+(m-F<<1)|0;E=n+(F+m<<1)|0;C=n+(m+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=l+2|0;C=n+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=n+(l<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[o>>1]=e[o>>1]|4096;C=n+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=n+(F+l<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=n+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[o>>1]=e[o>>1]|16384}}while(r>>>0>>0);s=s+1|0;i=c[wa>>2]|0}while(s>>>0>>0);k=i;j=i;i=c[xa>>2]|0}}while(0);if(v>>>0>=i>>>0){G=163;break}else l=k}break}case 1:{if(K){q=1<>1;r=(f|0)>0?0-q|0:-1;j=c[xa>>2]|0;if(!j)break c;k=c[wa>>2]|0;i=k;p=0;while(1){o=p;p=p+4|0;if(!k){l=i;k=0}else{n=(o|0)==-4;m=0;do{l=m;m=m+1|0;if(!n){k=o;do{if(k>>>0>=(c[xa>>2]|0)>>>0)break;j=k;k=k+1|0;i=(_(c[qa>>2]|0,k)|0)+m|0;i=(c[ra>>2]|0)+(i<<1)|0;j=(_(c[wa>>2]|0,j)|0)+l|0;j=(c[va>>2]|0)+(j<<2)|0;if((b[i>>1]&20480)==4096){F=(Ah(c[ta>>2]|0)|0)!=0;F=F?q:r;G=c[j>>2]|0;c[j>>2]=((G|0)<0?0-F|0:F)+G;b[i>>1]=e[i>>1]|8192}}while(k>>>0

>>0);i=c[wa>>2]|0}}while(m>>>0>>0);l=i;k=i;j=c[xa>>2]|0}if(p>>>0>=j>>>0){G=163;break c}else i=l}}if(!Q){t=1<>1;u=(f|0)>0?0-t|0:-1;i=c[xa>>2]|0;if(!i){G=163;break c}j=c[wa>>2]|0;k=j;s=0;while(1){r=s;s=s+4|0;if(!j)j=0;else{p=(r|0)==-4;q=r|3;i=k;o=0;do{n=o;o=o+1|0;if(!p){l=r;do{i=c[xa>>2]|0;if(l>>>0>=i>>>0)break;F=l;l=l+1|0;j=(_(c[qa>>2]|0,l)|0)+o|0;j=(c[ra>>2]|0)+(j<<1)|0;k=(_(c[wa>>2]|0,F)|0)+n|0;k=(c[va>>2]|0)+(k<<2)|0;m=c[a>>2]|0;G=b[j>>1]|0;i=(F|0)==(q|0)|(F|0)==(i+-1|0)?G&-1095:G;if((i&20480|0)==4096){c[m+100>>2]=m+24+(((i&8192|0)!=0?16:(i&255|0)!=0?15:14)<<2);F=(wh(m)|0)!=0;F=F?t:u;G=c[k>>2]|0;c[k>>2]=((G|0)<0?0-F|0:F)+G;b[j>>1]=e[j>>1]|8192}}while(l>>>0>>0);i=c[wa>>2]|0}}while(o>>>0>>0);k=i;j=i;i=c[xa>>2]|0}if(s>>>0>=i>>>0){G=163;break c}}}k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;v=1<>1;w=(f|0)>0?0-v|0:-1;i=c[xa>>2]|0;j=c[wa>>2]|0;if(i>>>0>3){n=j;t=l;u=0;while(1){if(!j){j=n;m=0}else{i=n;s=0;do{j=k+(s<<2)|0;n=c[qa>>2]|0;p=n+s|0;l=t+(p<<1)|0;o=c[a>>2]|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[o+100>>2]=o+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);n=(wh(o)|0)!=0;n=n?v:w;i=c[j>>2]|0;c[j>>2]=((i|0)<0?0-n|0:n)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}else{j=n;n=o}q=i+s|0;o=k+(q<<2)|0;r=j+p|0;l=t+(r<<1)|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);j=(wh(n)|0)!=0;j=j?v:w;i=c[o>>2]|0;c[o>>2]=((i|0)<0?0-j|0:j)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}p=i+q|0;o=k+(p<<2)|0;q=j+r|0;l=t+(q<<1)|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);j=(wh(n)|0)!=0;j=j?v:w;i=c[o>>2]|0;c[o>>2]=((i|0)<0?0-j|0:j)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}m=k+(i+p<<2)|0;j=t+(j+q<<1)|0;l=b[j>>1]|0;if((l&20480|0)==4096){c[n+100>>2]=n+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);G=(wh(n)|0)!=0;G=G?v:w;i=c[m>>2]|0;c[m>>2]=((i|0)<0?0-G|0:G)+i;b[j>>1]=e[j>>1]|8192;i=c[wa>>2]|0}s=s+1|0}while(s>>>0>>0);j=i;m=i;i=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=t+(c[qa>>2]<<2<<1)|0;o=u+4|0;if(o>>>0<(i&-4)>>>0){n=j;j=m;t=l;u=o}else{s=o;break}}}else s=0;if(!j){G=163;break c}else r=0;do{if(s>>>0>>0){o=k+(r<<2)|0;p=l+(r<<1)|0;q=s;while(1){p=p+(c[qa>>2]<<1)|0;n=c[a>>2]|0;m=b[p>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);i=(wh(n)|0)!=0;i=i?v:w;m=c[o>>2]|0;c[o>>2]=((m|0)<0?0-i|0:i)+m;b[p>>1]=e[p>>1]|8192;m=c[wa>>2]|0;i=c[xa>>2]|0}else m=j;q=q+1|0;if(q>>>0>=i>>>0){j=m;break}else{j=m;o=o+(m<<2)|0}}}r=r+1|0}while(r>>>0>>0);G=163;break}case 2:{E=c[a>>2]|0;F=1<>1|F;do{if(Q){k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;j=c[xa>>2]|0;if(j>>>0>3){w=E+92|0;x=E+100|0;y=E+96|0;z=0-F|0;m=c[wa>>2]|0;i=m;o=0;while(1){if(!m)m=0;else{r=o|1;s=r+1|0;t=o|3;u=r+3|0;v=0;do{i=c[qa>>2]|0;j=v;v=v+1|0;D=(_(i,r)|0)+v|0;G=c[ra>>2]|0;D=b[G+((_(i,s)|0)+v<<1)>>1]|b[G+(D<<1)>>1];D=D|b[G+((_(i,t)|0)+v<<1)>>1];e:do{if(!((D|b[G+((_(i,u)|0)+v<<1)>>1])&20735)){c[x>>2]=w;if(!(wh(E)|0))break;c[x>>2]=y;p=(wh(E)|0)<<1;p=p|(wh(E)|0);if(p>>>0>=4)break;q=k+((_(c[wa>>2]|0,p)|0)+j<<2)|0;j=l+((_(c[qa>>2]|0,p)|0)+j<<1)|0;n=p;while(1){if(n>>>0>=(c[xa>>2]|0)>>>0)break e;i=c[qa>>2]|0;m=j;j=j+(i<<1)|0;if((n|0)==(p|0)){G=c[a>>2]|0;D=(e[j>>1]|0)>>>4&255;c[G+100>>2]=G+24+(d[21291+D>>0]<<2);G=wh(G)|0;D=d[21547+D>>0]|0;B=D^G;c[q>>2]=(G|0)!=(D|0)?z:F;D=c[qa>>2]|0;G=m+(i-D<<1)|0;C=m+(D+i<<1)|0;A=m+(i+~D<<1)|0;b[A>>1]=e[A>>1]|2;b[G>>1]=b[G>>1]|b[3436+(B<<1)>>1];G=i+1|0;A=m+(G-D<<1)|0;b[A>>1]=e[A>>1]|4;A=i+-1|0;i=m+(A<<1)|0;b[i>>1]=b[i>>1]|b[3436+(B+2<<1)>>1];b[j>>1]=e[j>>1]|4096;i=m+(G<<1)|0;b[i>>1]=b[i>>1]|b[3436+(B+4<<1)>>1];A=m+(D+A<<1)|0;b[A>>1]=e[A>>1]|1;b[C>>1]=b[C>>1]|b[3436+(B+6<<1)>>1];G=m+(D+G<<1)|0;b[G>>1]=e[G>>1]|8;b[j>>1]=e[j>>1]&49151}else ah(a,j,q,S,F);n=n+1|0;if(n>>>0>=4)break;else q=q+(c[wa>>2]<<2)|0}}else{D=i+j|0;ah(a,l+(D<<1)|0,k+(j<<2)|0,S,F);G=(c[wa>>2]|0)+j|0;D=(c[qa>>2]|0)+D|0;ah(a,l+(D<<1)|0,k+(G<<2)|0,S,F);G=(c[wa>>2]|0)+G|0;D=(c[qa>>2]|0)+D|0;ah(a,l+(D<<1)|0,k+(G<<2)|0,S,F);ah(a,l+((c[qa>>2]|0)+D<<1)|0,k+((c[wa>>2]|0)+G<<2)|0,S,F)}}while(0);i=c[wa>>2]|0}while(v>>>0>>0);m=i;j=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=l+(c[qa>>2]<<2<<1)|0;o=o+4|0;if(o>>>0>=(j&-4)>>>0){q=k;p=l;break}}}else{i=c[wa>>2]|0;q=k;p=l;o=0}if(!i)break;else n=0;do{if(o>>>0>>0){k=q+(n<<2)|0;l=p+(n<<1)|0;m=o;while(1){l=l+(c[qa>>2]<<1)|0;ah(a,l,k,S,F);i=c[wa>>2]|0;m=m+1|0;j=c[xa>>2]|0;if(m>>>0>=j>>>0)break;else k=k+(i<<2)|0}}n=n+1|0}while(n>>>0>>0)}else{i=c[xa>>2]|0;if(!i)break;A=E+92|0;B=E+100|0;C=E+96|0;D=0-F|0;j=c[wa>>2]|0;z=0;while(1){if(!j){k=z+4|0;j=0}else{v=z|3;w=z|1;x=w+1|0;y=w+3|0;k=z+4|0;u=0;while(1){do{if(v>>>0>>0){i=c[qa>>2]|0;l=u+1|0;t=(_(i,w)|0)+l|0;j=c[ra>>2]|0;if(b[j+(t<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,x)|0)+l<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,v)|0)+l<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,y)|0)+l<<1)>>1]&20665){t=0;i=0;G=127;break}c[B>>2]=A;if(!(wh(E)|0))break;c[B>>2]=C;i=(wh(E)|0)<<1;t=1;i=i|(wh(E)|0);G=127}else{t=0;i=0;G=127}}while(0);if((G|0)==127){G=0;l=i+z|0;f:do{if(l>>>0>>0){s=l;do{i=c[xa>>2]|0;if(s>>>0>=i>>>0)break f;Da=s;s=s+1|0;m=(_(c[qa>>2]|0,s)|0)+u|0;n=m+1|0;o=c[ra>>2]|0;p=o+(n<<1)|0;q=(_(c[wa>>2]|0,Da)|0)+u|0;q=(c[va>>2]|0)+(q<<2)|0;r=c[a>>2]|0;j=b[p>>1]|0;j=(Da|0)==(v|0)|(Da|0)==(i+-1|0)?j&-1095:j;do{if(!(t&(Da|0)==(l|0))){if(j&20480)break;i=r+100|0;c[i>>2]=r+24+(d[20267+(j&255|R)>>0]<<2);if(wh(r)|0)G=133}else{i=r+100|0;G=133}}while(0);if((G|0)==133){G=0;j=j>>>4&255;c[i>>2]=r+24+(d[21291+j>>0]<<2);Da=wh(r)|0;r=d[21547+j>>0]|0;j=r^Da;c[q>>2]=(Da|0)!=(r|0)?D:F;r=c[qa>>2]|0;Da=o+(n-r<<1)|0;q=o+(r+n<<1)|0;n=o+(n+~r<<1)|0;b[n>>1]=e[n>>1]|2;b[Da>>1]=b[Da>>1]|b[3436+(j<<1)>>1];Da=m+2|0;n=o+(Da-r<<1)|0;b[n>>1]=e[n>>1]|4;n=o+(m<<1)|0;b[n>>1]=b[n>>1]|b[3436+(j+2<<1)>>1];b[p>>1]=e[p>>1]|4096;n=o+(Da<<1)|0;b[n>>1]=b[n>>1]|b[3436+(j+4<<1)>>1];n=o+(r+m<<1)|0;b[n>>1]=e[n>>1]|1;b[q>>1]=b[q>>1]|b[3436+(j+6<<1)>>1];Da=o+(r+Da<<1)|0;b[Da>>1]=e[Da>>1]|8}b[p>>1]=e[p>>1]&49151}while(s>>>0>>0)}}while(0);l=u+1|0}j=c[wa>>2]|0;i=c[xa>>2]|0;if(l>>>0>>0)u=l;else break}}if(k>>>0>>0)z=k;else break}}}while(0);if(M){G=163;break c}c[E+100>>2]=E+96;wh(E)|0;wh(E)|0;wh(E)|0;wh(E)|0;G=163;break}default:G=163}}while(0);do{if((G|0)==163){G=0;if(J)break;qh(U);rh(U,18,0,46);rh(U,17,0,3);rh(U,0,0,4)}}while(0);h=h+1|0;Da=(h|0)==3;f=(Da<<31>>31)+f|0;h=Da?0:h;H=H+1|0;if(H>>>0>=(c[I>>2]|0)>>>0)break b}}}while(0);i=c[X>>2]|0}L=L+1|0}while(L>>>0>>0)}h=(c[V>>2]|0)-(c[fa>>2]|0)|0;f=(c[Y>>2]|0)-(c[ga>>2]|0)|0;i=c[ea>>2]|0;if(i&1){Da=c[Aa>>2]|0;h=(c[Da+(la*136|0)+8>>2]|0)+h-(c[Da+(la*136|0)>>2]|0)|0}if(i&2){Da=c[Aa>>2]|0;f=(c[Da+(la*136|0)+12>>2]|0)+f-(c[Da+(la*136|0)+4>>2]|0)|0}p=c[va>>2]|0;q=c[wa>>2]|0;r=c[xa>>2]|0;i=c[Ba>>2]|0;if((i|0)!=0?(ua=1<>2]|0;m=(l|0)>-1?l:0-l|0;if((m|0)>=(ua|0)){Da=m>>c[Ba>>2];c[k>>2]=(l|0)<0?0-Da|0:Da}n=n+1|0}while((n|0)!=(q|0))}o=o+1|0}while((o|0)!=(r|0))}n=(_(f,ya)|0)+h|0;o=c[pa>>2]|0;h=(r|0)==0;if((c[sa>>2]|0)==1){if(!h){h=(q|0)==0;k=0;do{if(!h){f=_(k,q)|0;i=(_(k,ya)|0)+n|0;j=0;do{c[o+(i+j<<2)>>2]=(c[p+(j+f<<2)>>2]|0)/2|0;j=j+1|0}while((j|0)!=(q|0))}k=k+1|0}while((k|0)!=(r|0))}}else if(!h){m=(q|0)==0;h=p;l=0;k=o+(n<<2)|0;while(1){if(!m){f=h;i=0;j=k;while(1){g[j>>2]=+(c[f>>2]|0)*+g[ha>>2];i=i+1|0;if((i|0)==(q|0))break;else{f=f+4|0;j=j+4|0}}h=h+(q<<2)|0}l=l+1|0;if((l|0)==(r|0))break;else k=k+(ya<<2)|0}}$=$+1|0}while($>>>0<(_(c[ba>>2]|0,c[aa>>2]|0)|0)>>>0);h=c[ka>>2]|0;i=c[ja>>2]|0}ca=ca+1|0}while(ca>>>0<(_(h,i)|0)>>>0);f=c[na>>2]|0}ia=ia+1|0}while(ia>>>0>>0);h=c[za>>2]|0}oa=oa+1|0;if(oa>>>0>=h>>>0){h=1;G=201;break}}if((G|0)==201)return h|0;return 0}function Zg(f,i,j,k,l){f=f|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0.0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0;Ya=i+32|0;h[Ya>>3]=0.0;Za=i+16|0;m=c[Za>>2]|0;if(!m){_a=1;return _a|0}Xa=i+20|0;Sa=j+5584|0;Ta=f+16|0;Ua=f+20|0;Va=f+8|0;Wa=f+36|0;Pa=(k|0)!=0;Qa=f+32|0;Ra=f+12|0;i=m;Oa=0;a:while(1){j=c[Xa>>2]|0;m=c[Sa>>2]|0;Ma=(c[j+(Oa*52|0)+8>>2]|0)-(c[j+(Oa*52|0)>>2]|0)|0;Na=j+(Oa*52|0)+16|0;n=c[Na>>2]|0;if(n){La=j+(Oa*52|0)+24|0;Ja=j+(Oa*52|0)+32|0;Ka=m+(Oa*1080|0)+20|0;Ga=m+(Oa*1080|0)+16|0;Ia=Pa&Oa>>>0>>0;Ha=k+(Oa<<3)|0;i=n;Fa=0;do{Da=c[La>>2]|0;Ea=Da+(Fa*136|0)+24|0;j=c[Ea>>2]|0;if(j){za=Da+(Fa*136|0)+16|0;Aa=Da+(Fa*136|0)+20|0;Ba=~Fa;Ca=Fa+-1|0;i=c[Aa>>2]|0;m=c[za>>2]|0;ya=0;do{xa=Da+(Fa*136|0)+28+(ya*36|0)+32|0;if(_(i,m)|0){ra=67108864/(~~+M(+(+g[xa>>2]*8192.0))|0)|0;sa=Da+(Fa*136|0)+28+(ya*36|0)+20|0;ta=Da+(Fa*136|0)+28+(ya*36|0)|0;ua=Da+(Fa*136|0)+28+(ya*36|0)+4|0;va=Da+(Fa*136|0)+28+(ya*36|0)+16|0;wa=((ra|0)<0)<<31>>31;qa=0;do{j=c[sa>>2]|0;oa=j+(qa*40|0)+16|0;pa=j+(qa*40|0)+20|0;if(_(c[pa>>2]|0,c[oa>>2]|0)|0){ma=j+(qa*40|0)+24|0;na=0;do{la=c[ma>>2]|0;n=c[la+(na*52|0)+12>>2]|0;i=n-(c[ta>>2]|0)|0;o=c[la+(na*52|0)+16>>2]|0;j=o-(c[ua>>2]|0)|0;m=c[va>>2]|0;if(m&1){ka=c[La>>2]|0;i=(c[ka+(Ca*136|0)+8>>2]|0)+i-(c[ka+(Ca*136|0)>>2]|0)|0}if(m&2){ka=c[La>>2]|0;j=(c[ka+(Ca*136|0)+12>>2]|0)+j-(c[ka+(Ca*136|0)+4>>2]|0)|0}if(!(_g(f,(c[la+(na*52|0)+20>>2]|0)-n|0,(c[la+(na*52|0)+24>>2]|0)-o|0)|0)){i=0;_a=173;break a}p=c[Ta>>2]|0;q=c[Ua>>2]|0;r=Ma-p|0;u=(_(j,Ma)|0)+i|0;v=c[Ja>>2]|0;c[Va>>2]=v+(u<<2);c[Wa>>2]=Ma;i=(q|0)==0;if((c[Ka>>2]|0)==1){if(!i){n=(p|0)==0;o=0;i=0;while(1){if(!n){j=0;m=i;while(1){ka=v+(m+u<<2)|0;c[ka>>2]=c[ka>>2]<<6;j=j+1|0;if((j|0)==(p|0))break;else m=m+1|0}i=p+i|0}o=o+1|0;if((o|0)==(q|0))break;else i=i+r|0}}}else if(!i){n=(p|0)==0;o=0;i=0;while(1){if(!n){j=0;m=i;while(1){ka=v+(m+u<<2)|0;ja=c[ka>>2]|0;ja=Zi(ja|0,((ja|0)<0)<<31>>31|0,ra|0,wa|0)|0;ja=Si(ja|0,C|0,4096,0)|0;ja=Ti(ja|0,C|0,18)|0;c[ka>>2]=ja;j=j+1|0;if((j|0)==(p|0))break;else m=m+1|0}i=p+i|0}o=o+1|0;if((o|0)==(q|0))break;else i=i+r|0}}ga=c[va>>2]|0;ha=(c[Na>>2]|0)+Ba|0;r=c[Ka>>2]|0;ia=+g[xa>>2];ja=c[Ga>>2]|0;ka=c[f>>2]|0;n=c[Ta>>2]|0;do{if(!n)i=0;else{o=c[Ua>>2]|0;p=(o|0)==0;q=0;i=0;do{if(!p){j=c[Wa>>2]|0;m=0;do{fa=c[v+(u+((_(m,j)|0)+q)<<2)>>2]|0;fa=(fa|0)>-1?fa:0-fa|0;i=(i|0)>(fa|0)?i:fa;m=m+1|0}while((m|0)!=(o|0))}q=q+1|0}while((q|0)!=(n|0));if(!i){i=0;break}if((i|0)>1){j=i;i=0}else{i=-5;break}while(1){j=j>>1;if((j|0)<=1)break;else i=i+1|0}i=i+-4|0}}while(0);ea=la+(na*52|0)+28|0;c[ea>>2]=i;i=i+-1|0;qh(ka);rh(ka,18,0,46);rh(ka,17,0,3);rh(ka,0,0,4);fa=la+(na*52|0)|0;kh(ka,c[fa>>2]|0);b:do{if((i|0)>-1){ca=la+(na*52|0)+8|0;W=ja&1;da=(W|0)!=0;X=(r|0)==1;Y=(ja&4|0)==0;W=(W|0)==0;Z=(ja&2|0)==0;$=(ja&8|0)==0;aa=ga<<8;ba=(ja&32|0)==0;j=0;T=i;U=0.0;i=0;V=2;while(1){S=c[ca>>2]|0;I=da&(V>>>0<2?(T|0)<((c[ea>>2]|0)+-4|0):0);c:do{switch(V|0){case 0:{G=1<>2]|0;if(!j){n=0;break c}H=(T|0)==0;o=c[Ta>>2]|0;m=o;n=0;F=0;do{E=F;F=F+4|0;if(!m)m=0;else{B=(E|0)==-4;D=E|3;m=o;A=0;do{if(!B){z=E;do{j=c[Ua>>2]|0;if(z>>>0>=j>>>0)break;do{if($)j=0;else{if((z|0)==(D|0)){j=1;break}j=(z|0)==(j+-1|0)}}while(0);p=z;z=z+1|0;u=(_(c[Qa>>2]|0,z)|0)+A|0;v=u+1|0;w=c[Ra>>2]|0;y=w+(v<<1)|0;p=(_(c[Wa>>2]|0,p)|0)+A|0;p=(c[Va>>2]|0)+(p<<2)|0;x=c[f>>2]|0;q=b[y>>1]|0;q=j?q&-1095:q;j=q&255;if((j|0)!=0&(q&20480|0)==0){m=c[p>>2]|0;m=(((m|0)<0?0-m|0:m)&G|0)!=0;o=m&1;r=x+100|0;c[r>>2]=x+24+(d[20267+(j|aa)>>0]<<2);if(I)oh(x,o);else lh(x,o);if(m){j=c[p>>2]|0;m=j>>>31;j=(j|0)<0?0-j|0:j;if(H)j=3708+((j&127)<<1)|0;else j=3452+((j>>>T&127)<<1)|0;n=(b[j>>1]|0)+n|0;j=q>>>4&255;c[r>>2]=x+24+(d[21291+j>>0]<<2);if(I)oh(x,m);else lh(x,d[21547+j>>0]^m);Q=c[Qa>>2]|0;R=w+(v-Q<<1)|0;P=w+(Q+v<<1)|0;O=w+(v+~Q<<1)|0;b[O>>1]=e[O>>1]|2;b[R>>1]=b[R>>1]|b[3436+(m<<1)>>1];R=u+2|0;O=w+(R-Q<<1)|0;b[O>>1]=e[O>>1]|4;O=w+(u<<1)|0;b[O>>1]=b[O>>1]|b[3436+((m|2)<<1)>>1];b[y>>1]=e[y>>1]|4096;O=w+(R<<1)|0;b[O>>1]=b[O>>1]|b[3436+((m|4)<<1)>>1];O=w+(Q+u<<1)|0;b[O>>1]=e[O>>1]|1;b[P>>1]=b[P>>1]|b[3436+((m|6)<<1)>>1];R=w+(Q+R<<1)|0;b[R>>1]=e[R>>1]|8}b[y>>1]=e[y>>1]|16384}}while(z>>>0>>0);m=c[Ta>>2]|0}A=A+1|0}while(A>>>0>>0);j=c[Ua>>2]|0;o=m}}while(F>>>0>>0);break}case 1:{A=1<>2]|0;if(!j){n=0;break c}B=(T|0)==0;o=c[Ta>>2]|0;m=o;n=0;z=0;do{y=z;z=z+4|0;if(!m)m=0;else{w=(y|0)==-4;x=y|3;m=o;v=0;do{u=v;v=v+1|0;if(!w){r=y;do{j=c[Ua>>2]|0;if(r>>>0>=j>>>0)break;do{if($)j=0;else{if((r|0)==(x|0)){j=1;break}j=(r|0)==(j+-1|0)}}while(0);m=r;r=r+1|0;p=(_(c[Qa>>2]|0,r)|0)+v|0;p=(c[Ra>>2]|0)+(p<<1)|0;q=c[f>>2]|0;o=b[p>>1]|0;o=j?o&-1095:o;if((o&20480|0)==4096){m=c[(c[Va>>2]|0)+((_(c[Wa>>2]|0,m)|0)+u<<2)>>2]|0;m=(m|0)<0?0-m|0:m;if(B)j=4220+((m&127)<<1)|0;else j=3964+((m>>>T&127)<<1)|0;n=(b[j>>1]|0)+n|0;j=(m&A|0)!=0&1;c[q+100>>2]=q+24+(((o&8192|0)!=0?16:(o&255|0)!=0?15:14)<<2);if(I)oh(q,j);else lh(q,j);b[p>>1]=e[p>>1]|8192}}while(r>>>0>>0);m=c[Ta>>2]|0}}while(v>>>0>>0);j=c[Ua>>2]|0;o=m}}while(z>>>0>>0);break}case 2:{L=c[f>>2]|0;N=1<>2]|0;if(!m)j=0;else{O=L+92|0;P=L+100|0;Q=L+96|0;R=(T|0)==0;n=c[Ta>>2]|0;j=0;K=0;while(1){if(!n){o=K+4|0;n=0}else{D=K|3;E=K|1;F=E+1|0;G=E+3|0;o=K+4|0;H=K+1|0;I=K+2|0;J=K+3|0;B=0;while(1){do{if(D>>>0>>0){m=c[Qa>>2]|0;q=B+1|0;p=(_(m,E)|0)+q|0;n=c[Ra>>2]|0;p=b[n+(p<<1)>>1]|0;if($){A=b[n+((_(m,F)|0)+q<<1)>>1]|p;A=A|b[n+((_(m,D)|0)+q<<1)>>1];m=((A|b[n+((_(m,G)|0)+q<<1)>>1])&20735)==0&1}else{do{if(!(p&20735)){if(b[n+((_(m,F)|0)+q<<1)>>1]&20735){m=1;break}if(b[n+((_(m,D)|0)+q<<1)>>1]&20735){m=1;break}m=(b[n+((_(m,G)|0)+q<<1)>>1]&20665)!=0}else m=1}while(0);m=m&1^1}if(!m){A=0;m=0;_a=109;break}m=c[Wa>>2]|0;n=c[Va>>2]|0;A=c[n+((_(m,K)|0)+B<<2)>>2]|0;do{if(!(((A|0)<0?0-A|0:A)&N)){A=c[n+((_(m,H)|0)+B<<2)>>2]|0;if(((A|0)<0?0-A|0:A)&N){m=1;break}A=c[n+((_(m,I)|0)+B<<2)>>2]|0;if(((A|0)<0?0-A|0:A)&N){m=2;break}m=c[n+((_(m,J)|0)+B<<2)>>2]|0;m=(((m|0)<0?0-m|0:m)&N|0)==0?4:3}else m=0}while(0);c[P>>2]=O;lh(L,(m|0)!=4&1);if((m|0)==4){p=q;break}c[P>>2]=Q;lh(L,m>>>1);lh(L,m&1);A=1;_a=109}else{A=0;m=0;_a=109}}while(0);if((_a|0)==109){_a=0;z=m+K|0;d:do{if(z>>>0>>0){y=z;do{m=c[Ua>>2]|0;if(y>>>0>=m>>>0)break d;do{if($)m=0;else{if((y|0)==(D|0)){m=1;break}m=(y|0)==(m+-1|0)}}while(0);$a=y;y=y+1|0;r=(_(c[Qa>>2]|0,y)|0)+B|0;u=r+1|0;v=c[Ra>>2]|0;x=v+(u<<1)|0;n=(_(c[Wa>>2]|0,$a)|0)+B|0;n=(c[Va>>2]|0)+(n<<2)|0;w=c[f>>2]|0;p=b[x>>1]|0;q=m?p&-1095:p;do{if(!(A&($a|0)==(z|0))){if(p&20480)break;c[w+100>>2]=w+24+(d[20267+(q&255|aa)>>0]<<2);$a=c[n>>2]|0;$a=((($a|0)<0?0-$a|0:$a)&N|0)!=0;lh(w,$a&1);if($a)_a=117}else _a=117}while(0);if((_a|0)==117){_a=0;n=c[n>>2]|0;m=(n|0)<0?0-n|0:n;if(R)m=3708+((m&127)<<1)|0;else m=3452+((m>>>T&127)<<1)|0;j=(b[m>>1]|0)+j|0;$a=q>>>4&255;c[w+100>>2]=w+24+(d[21291+$a>>0]<<2);p=n>>>31;lh(w,d[21547+$a>>0]^p);w=c[Qa>>2]|0;$a=v+(u-w<<1)|0;q=v+(w+u<<1)|0;u=v+(u+~w<<1)|0;b[u>>1]=e[u>>1]|2;b[$a>>1]=b[$a>>1]|b[3436+(p<<1)>>1];$a=r+2|0;u=v+($a-w<<1)|0;b[u>>1]=e[u>>1]|4;u=v+(r<<1)|0;b[u>>1]=b[u>>1]|b[3436+((p|2)<<1)>>1];b[x>>1]=e[x>>1]|4096;u=v+($a<<1)|0;b[u>>1]=b[u>>1]|b[3436+((p|4)<<1)>>1];u=v+(w+r<<1)|0;b[u>>1]=e[u>>1]|1;b[q>>1]=b[q>>1]|b[3436+((p|6)<<1)>>1];$a=v+(w+$a<<1)|0;b[$a>>1]=e[$a>>1]|8}b[x>>1]=e[x>>1]&49151}while(y>>>0>>0)}}while(0);p=B+1|0}n=c[Ta>>2]|0;m=c[Ua>>2]|0;if(p>>>0>>0)B=p;else break}}if(o>>>0>>0)K=o;else break}}if(ba){n=j;break c}uh(ka);n=j;break}default:n=j}}while(0);if(Ia)s=+h[Ha>>3];else s=1.0;if(X)t=+Ig(ha,ga);else t=+Lg(ha,ga);t=+(1<>3]=+h[Ya>>3]+t;do{if(Y)_a=137;else{if((T|0)<1&(V|0)==2){_a=137;break}mh(ka);m=S+(i*24|0)+20|0;j=a[m>>0]|1;a[m>>0]=j;m=1}}while(0);do{if((_a|0)==137){j=(c[ea>>2]|0)+-4|0;if((V|0)!=0&(T|0)<(j|0))if(W)_a=141;else _a=140;else if(W|((V|0)!=2|(T|0)!=(j|0)))_a=141;else _a=140;if((_a|0)==140){_a=0;mh(ka);m=S+(i*24|0)+20|0;j=a[m>>0]|1;a[m>>0]=j;m=1;break}else if((_a|0)==141){_a=0;m=S+(i*24|0)+20|0;j=a[m>>0]&-2;a[m>>0]=j;m=3;break}}}while(0);R=V+1|0;$a=(R|0)==3;V=$a?0:R;T=($a<<31>>31)+T|0;do{if((T|0)>0&(j&1)!=0)if(da&(V>>>0<2?(T|0)<((c[ea>>2]|0)+-4|0):0)){nh(ka);break}else{sh(ka);break}}while(0);h[S+(i*24|0)+8>>3]=U;c[S+(i*24|0)>>2]=(jh(ka)|0)+m;if(!Z)ph(ka);i=i+1|0;if((T|0)<=-1)break b;else j=n}}else i=0}while(0);do{if(!(ja&16)){if(ja&1)break;mh(ka)}else th(ka)}while(0);q=la+(na*52|0)+48|0;c[q>>2]=i;if(i){n=la+(na*52|0)+8|0;p=0;do{o=c[n>>2]|0;j=o+(p*24|0)|0;$a=c[j>>2]|0;if($a>>>0>(jh(ka)|0)>>>0){i=jh(ka)|0;c[j>>2]=i}else i=c[j>>2]|0;do{if(i>>>0>1){m=i+-1|0;if((a[(c[fa>>2]|0)+m>>0]|0)!=-1)break;c[j>>2]=m;i=m}}while(0);if(!p)j=0;else j=c[(c[n>>2]|0)+((p+-1|0)*24|0)>>2]|0;c[o+(p*24|0)+16>>2]=i-j;p=p+1|0}while(p>>>0<(c[q>>2]|0)>>>0)}na=na+1|0}while(na>>>0<(_(c[pa>>2]|0,c[oa>>2]|0)|0)>>>0);i=c[Aa>>2]|0;m=c[za>>2]|0}qa=qa+1|0}while(qa>>>0<(_(i,m)|0)>>>0);j=c[Ea>>2]|0}ya=ya+1|0}while(ya>>>0>>0);i=c[Na>>2]|0}Fa=Fa+1|0}while(Fa>>>0>>0);i=c[Za>>2]|0}Oa=Oa+1|0;if(Oa>>>0>=i>>>0){i=1;_a=173;break}}if((_a|0)==173)return i|0;return 0}function _g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=_(d,b)|0;if(!(c[a+40>>2]|0)){h=a+24|0;i=a+8|0;e=c[i>>2]|0;do{if(g>>>0>(c[h>>2]|0)>>>0){Sc(e);f=g<<2;e=Rc(f)|0;c[i>>2]=e;if(!e){b=0;return b|0}else{c[h>>2]=g;break}}else f=g<<2}while(0);Qi(e|0,0,f|0)|0}g=b+2|0;c[a+32>>2]=g;g=_(d+2|0,g)|0;h=a+28|0;i=a+12|0;e=c[i>>2]|0;do{if(g>>>0>(c[h>>2]|0)>>>0){Sc(e);f=g<<1;e=Rc(f)|0;c[i>>2]=e;if(!e){b=0;return b|0}else{c[h>>2]=g;break}}else f=g<<1}while(0);Qi(e|0,0,f|0)|0;c[a+16>>2]=b;c[a+20>>2]=d;b=1;return b|0}function $g(a,f,g,h,i){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=c[a>>2]|0;l=b[f>>1]|0;m=l&255;if(!((m|0)!=0&(l&20480|0)==0))return;k=j+100|0;c[k>>2]=j+24+(d[20267+(m|h<<8)>>0]<<2);if(wh(j)|0){h=l>>>4&255;c[k>>2]=j+24+(d[21291+h>>0]<<2);l=wh(j)|0;h=d[21547+h>>0]|0;m=h^l;c[g>>2]=(l|0)!=(h|0)?0-i|0:i;a=c[a+32>>2]|0;i=f+(0-a<<1)|0;h=f+(a<<1)|0;g=f+(~a<<1)|0;b[g>>1]=e[g>>1]|2;b[i>>1]=b[i>>1]|b[3436+(m<<1)>>1];i=f+(1-a<<1)|0;b[i>>1]=e[i>>1]|4;i=f+-2|0;b[i>>1]=b[i>>1]|b[3436+(m+2<<1)>>1];b[f>>1]=e[f>>1]|4096;i=f+2|0;b[i>>1]=b[i>>1]|b[3436+(m+4<<1)>>1];i=f+(a+-1<<1)|0;b[i>>1]=e[i>>1]|1;b[h>>1]=b[h>>1]|b[3436+(m+6<<1)>>1];a=f+(a+1<<1)|0;b[a>>1]=e[a>>1]|8}b[f>>1]=e[f>>1]|16384;return}function ah(a,f,g,h,i){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=c[a>>2]|0;l=b[f>>1]|0;if(l&20480){a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}k=j+100|0;c[k>>2]=j+24+(d[20267+(l&255|h<<8)>>0]<<2);if(!(wh(j)|0)){a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}h=l>>>4&255;c[k>>2]=j+24+(d[21291+h>>0]<<2);k=wh(j)|0;h=d[21547+h>>0]|0;l=h^k;c[g>>2]=(k|0)!=(h|0)?0-i|0:i;a=c[a+32>>2]|0;i=f+(0-a<<1)|0;h=f+(a<<1)|0;g=f+(~a<<1)|0;b[g>>1]=e[g>>1]|2;b[i>>1]=b[i>>1]|b[3436+(l<<1)>>1];i=f+(1-a<<1)|0;b[i>>1]=e[i>>1]|4;i=f+-2|0;b[i>>1]=b[i>>1]|b[3436+(l+2<<1)>>1];b[f>>1]=e[f>>1]|4096;i=f+2|0;b[i>>1]=b[i>>1]|b[3436+(l+4<<1)>>1];i=f+(a+-1<<1)|0;b[i>>1]=e[i>>1]|1;b[h>>1]=b[h>>1]|b[3436+(l+6<<1)>>1];a=f+(a+1<<1)|0;b[a>>1]=e[a>>1]|8;a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}function bh(a,e,f,g,h,j,k,l,m,n,o,p){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+16|0;H=I;c[H>>2]=0;q=c[a>>2]|0;D=c[a+4>>2]|0;a=c[D+76>>2]|0;F=a+(e*5640|0)|0;s=(b[D>>1]|0)==4?2:1;t=D+80|0;if(!(c[t>>2]|0))r=1;else r=c[q+16>>2]|0;G=(c[a+(e*5640|0)+420>>2]|0)+1|0;E=Lf(q,D,e,p)|0;if(!E){e=0;i=I;return e|0}c[j>>2]=0;a:do{if(!p){if(r){a=0;b:while(1){p=0;o=E;q=0;while(1){Mf(E,D,e,q,a,n,0);if((c[o+80>>2]|0)==-1){a=9;break b}m=o+36|0;c:while(1){do{if(!(Of(o)|0))break c}while((c[m>>2]|0)>>>0>=g>>>0);c[H>>2]=0;if(!(fh(e,f,F,o,h,H,k,l)|0)){a=13;break b}B=c[H>>2]|0;c[j>>2]=(c[j>>2]|0)+B;k=k-B|0;p=B+p|0;h=h+B|0}B=c[t>>2]|0;if((B|0)!=0&p>>>0>B>>>0){a=17;break b}q=q+1|0;if(q>>>0>>0)o=o+232|0;else break}a=a+1|0;if(a>>>0>=r>>>0)break a}if((a|0)==9){Kf(E,G);e=0;i=I;return e|0}else if((a|0)==13){Kf(E,G);e=0;i=I;return e|0}else if((a|0)==17){Kf(E,G);e=0;i=I;return e|0}}}else{Mf(E,D,e,o,m,n,p);z=E+(o*232|0)|0;if((c[E+(o*232|0)+80>>2]|0)==-1){Kf(E,G);e=0;i=I;return e|0}n=E+(o*232|0)+36|0;u=(l|0)==0;v=f+840|0;w=l+12|0;x=l+8|0;y=l+88|0;t=D+93|0;s=a+(e*5640|0)+5636|0;while(1){do{if(!(Of(z)|0))break a}while((c[n>>2]|0)>>>0>=g>>>0);c[H>>2]=0;if(!(fh(e,f,F,z,h,H,k,l)|0))break;r=c[H>>2]|0;h=h+r|0;k=k-r|0;c[j>>2]=(c[j>>2]|0)+r;if(!u){if(!(c[w>>2]|0))a=c[x>>2]|0;else{q=c[y>>2]|0;a=c[x>>2]|0;o=c[q+(e*592|0)+548>>2]|0;p=o+(a<<5)|0;if(!a){m=(c[q+(e*592|0)+12>>2]|0)+1|0;q=((m|0)<0)<<31>>31;D=p;c[D>>2]=m;c[D+4>>2]=q}else{if((((d[s>>0]|0)>>>2|(d[t>>0]|0)>>>3)&1)!=0?(B=p,A=c[B>>2]|0,B=c[B+4>>2]|0,!((A|0)==0&(B|0)==0)):0){m=A;q=B}else{m=o+(a+-1<<5)+16|0;m=Si(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;q=C}D=p;c[D>>2]=m;c[D+4>>2]=q}p=Si(m|0,q|0,-1,-1)|0;m=C;r=Si(p|0,m|0,r|0,0)|0;D=o+(a<<5)+16|0;c[D>>2]=r;c[D+4>>2]=C;D=o+(a<<5)+8|0;r=D;r=Si(p|0,m|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[D>>2]=r;c[D+4>>2]=C}c[x>>2]=a+1}c[v>>2]=(c[v>>2]|0)+1}Kf(E,G);e=0;i=I;return e|0}}while(0);Kf(E,G);e=1;i=I;return e|0}function ch(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0;$=i;i=i+112|0;W=$+64|0;X=$+32|0;S=$;R=$+96|0;Q=$+92|0;k=c[a>>2]|0;M=a+4|0;Z=c[M>>2]|0;h=c[Z+76>>2]|0;O=h+(b*5640|0)|0;P=h+(b*5640|0)+420|0;Y=(c[P>>2]|0)+1|0;Z=Jf(k,Z,b)|0;if(!Z){aa=0;i=$;return aa|0}N=k+16|0;L=h+(b*5640|0)+12|0;K=d+20|0;J=k+24|0;b=g;a=e;H=Z;I=0;a:while(1){if((c[H+80>>2]|0)==-1){aa=4;break}h=Pc(c[N>>2]<<2)|0;if(!h){aa=6;break}Qi(h|0,1,c[N>>2]<<2|0)|0;if(Of(H)|0){g=H+24|0;d=H+28|0;G=H+36|0;k=H+32|0;F=b;E=a;while(1){if((c[L>>2]|0)>>>0>(c[G>>2]|0)>>>0){b=c[g>>2]|0;a=c[K>>2]|0;if((c[d>>2]|0)>>>0<(c[a+(b*52|0)+20>>2]|0)>>>0){c[h+(b<<2)>>2]=0;D=c[M>>2]|0;c[Q>>2]=0;if(!(gh(D,a,O,H,R,E,Q,F,j)|0)){aa=45;break a}C=c[Q>>2]|0;if(!(c[R>>2]|0))a=C;else{B=F-C|0;z=E+C|0;c[Q>>2]=0;b=c[d>>2]|0;l=c[(c[K>>2]|0)+((c[g>>2]|0)*52|0)+24>>2]|0;x=l+(b*136|0)+24|0;a=c[x>>2]|0;b:do{if(!a){a=z;aa=43}else{y=E+F|0;m=a;D=0;w=l+(b*136|0)+28|0;l=z;c:while(1){a=c[k>>2]|0;b=c[w+20>>2]|0;if(((c[w+8>>2]|0)!=(c[w>>2]|0)?(c[w+12>>2]|0)!=(c[w+4>>2]|0):0)?(V=_(c[b+(a*40|0)+20>>2]|0,c[b+(a*40|0)+16>>2]|0)|0,(V|0)!=0):0){A=0;a=c[b+(a*40|0)+24>>2]|0;p=l;while(1){u=a+40|0;if(!(c[u>>2]|0))b=p;else{v=a+44|0;b=c[v>>2]|0;do{if(!b){o=c[a+4>>2]|0;c[v>>2]=1;c[a+36>>2]=0}else{l=b+-1|0;m=c[a+4>>2]|0;if((c[m+(l<<5)+8>>2]|0)!=(c[m+(l<<5)+20>>2]|0)){o=m+(l<<5)|0;break}c[v>>2]=b+1;o=m+(b<<5)|0}}while(0);t=a+36|0;b=a+32|0;s=p;n=o+28|0;l=c[n>>2]|0;if((l+s|0)>>>0>>0|(p+l|0)>>>0>y>>>0){b=D;a=A;break c}m=c[t>>2]|0;s=p;r=o;while(1){o=l+m|0;if(o>>>0>>0){b=D;a=A;aa=29;break a}p=c[a>>2]|0;if(o>>>0>(c[b>>2]|0)>>>0){l=Tc(p,o)|0;if(!l){aa=32;break a}m=c[t>>2]|0;q=c[n>>2]|0;c[b>>2]=q+m;c[a>>2]=l;p=l;l=q}Ui(p+m|0,s|0,l|0)|0;l=r+8|0;m=c[l>>2]|0;if(!m){c[r>>2]=a;o=c[t>>2]|0;c[r+4>>2]=o}else o=c[t>>2]|0;p=c[n>>2]|0;q=s;s=s+p|0;n=c[r+24>>2]|0;m=n+m|0;c[l>>2]=m;l=c[u>>2]|0;c[u>>2]=l-n;c[r+12>>2]=m;m=p+o|0;c[t>>2]=m;o=r+16|0;c[o>>2]=(c[o>>2]|0)+p;if((l|0)==(n|0)){b=s;break}c[v>>2]=(c[v>>2]|0)+1;o=s;n=r+60|0;l=c[n>>2]|0;if((l+o|0)>>>0>>0?1:(q+(l+p)|0)>>>0>y>>>0){b=D;a=A;break c}else r=r+32|0}c[a+48>>2]=c[v>>2]}A=A+1|0;if(A>>>0>=V>>>0){a=b;break}else{a=a+56|0;p=b}}b=c[x>>2]|0}else{b=m;a=l}D=D+1|0;if(D>>>0>=b>>>0){aa=43;break b}else{m=b;w=w+36|0;l=a}}z=c[k>>2]|0;A=c[d>>2]|0;D=c[g>>2]|0;c[S>>2]=l;c[S+4>>2]=B;c[S+8>>2]=a;c[S+12>>2]=z;c[S+16>>2]=b;c[S+20>>2]=A;c[S+24>>2]=D;Ub(j,2,21803,S)|0;a=c[Q>>2]|0}}while(0);if((aa|0)==43){aa=0;a=a-z|0;c[Q>>2]=a}a=a+C|0}l=c[g>>2]|0;C=c[d>>2]|0;b=(c[J>>2]|0)+(l*52|0)+36|0;D=c[b>>2]|0;c[b>>2]=C>>>0>D>>>0?C:D;b=a}else aa=47}else{a=c[K>>2]|0;aa=47}if((aa|0)==47){aa=0;D=c[M>>2]|0;c[Q>>2]=0;if(!(gh(D,a,O,H,R,E,Q,F,j)|0)){aa=69;break a}u=c[Q>>2]|0;if(!(c[R>>2]|0))a=u;else{l=F-u|0;w=c[d>>2]|0;x=c[g>>2]|0;a=c[(c[K>>2]|0)+(x*52|0)+24>>2]|0;c[Q>>2]=0;t=c[a+(w*136|0)+24>>2]|0;if(!t)a=0;else{v=c[k>>2]|0;b=0;s=a+(w*136|0)+28|0;while(1){m=c[s+20>>2]|0;if(((c[s+8>>2]|0)!=(c[s>>2]|0)?(c[s+12>>2]|0)!=(c[s+4>>2]|0):0)?(T=_(c[m+(v*40|0)+20>>2]|0,c[m+(v*40|0)+16>>2]|0)|0,(T|0)!=0):0){a=0;r=c[m+(v*40|0)+24>>2]|0;while(1){p=r+40|0;d:do{if(c[p>>2]|0){q=r+44|0;m=c[q>>2]|0;do{if(!m){o=c[r+4>>2]|0;c[q>>2]=1;c[r+36>>2]=0}else{n=m+-1|0;o=c[r+4>>2]|0;if((c[o+(n<<5)+8>>2]|0)!=(c[o+(n<<5)+20>>2]|0)){o=o+(n<<5)|0;break}c[q>>2]=m+1;o=o+(m<<5)|0}}while(0);D=c[Q>>2]|0;m=c[o+28>>2]|0;n=m+D|0;if(n>>>0>>0|n>>>0>l>>>0){g=v;d=w;k=x;aa=65;break a}while(1){c[Q>>2]=n;D=c[o+24>>2]|0;C=o+8|0;c[C>>2]=(c[C>>2]|0)+D;C=c[p>>2]|0;c[p>>2]=C-D;if((C|0)==(D|0))break d;c[q>>2]=(c[q>>2]|0)+1;D=c[Q>>2]|0;m=c[o+60>>2]|0;n=m+D|0;if(n>>>0>>0|n>>>0>l>>>0){g=v;d=w;k=x;aa=65;break a}else o=o+32|0}}}while(0);a=a+1|0;if(a>>>0>=T>>>0)break;else r=r+56|0}}b=b+1|0;if(b>>>0>=t>>>0)break;else s=s+36|0}a=c[Q>>2]|0}a=a+u|0}l=c[g>>2]|0;b=a}if((c[h+(l<<2)>>2]|0)!=0?(U=(c[J>>2]|0)+(l*52|0)+36|0,(c[U>>2]|0)==0):0)c[U>>2]=(c[(c[K>>2]|0)+(l*52|0)+20>>2]|0)+-1;a=E+b|0;b=F-b|0;if(!(Of(H)|0))break;else{F=b;E=a}}}Uc(h);I=I+1|0;if(I>>>0>(c[P>>2]|0)>>>0){h=a;aa=75;break}else H=H+232|0}if((aa|0)==4){Kf(Z,Y);aa=0;i=$;return aa|0}else if((aa|0)==6){Kf(Z,Y);aa=0;i=$;return aa|0}else if((aa|0)==29){f=c[k>>2]|0;e=c[d>>2]|0;W=c[g>>2]|0;c[X>>2]=l;c[X+4>>2]=m;c[X+8>>2]=~l;c[X+12>>2]=a;c[X+16>>2]=f;c[X+20>>2]=b;c[X+24>>2]=e;c[X+28>>2]=W;Ub(j,1,21888,X)|0;aa=45}else if((aa|0)==32){Uc(c[a>>2]|0);c[a>>2]=0;c[b>>2]=0;aa=45}else if((aa|0)==65){c[W>>2]=m;c[W+4>>2]=l;c[W+8>>2]=a;c[W+12>>2]=g;c[W+16>>2]=b;c[W+20>>2]=d;c[W+24>>2]=k;Ub(j,1,21987,W)|0;aa=69}else if((aa|0)==75){Kf(Z,Y);c[f>>2]=h-e;aa=1;i=$;return aa|0}if((aa|0)==45){Kf(Z,Y);Uc(h);aa=0;i=$;return aa|0}else if((aa|0)==69){Kf(Z,Y);Uc(h);aa=0;i=$;return aa|0}return 0}function dh(a,b){a=a|0;b=b|0;var d=0;d=Qc(1,8)|0;if(!d){a=0;return a|0}c[d>>2]=a;c[d+4>>2]=b;a=d;return a|0}function eh(a){a=a|0;if(!a)return;Uc(a);return}function fh(b,d,e,f,g,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0;s=c[f+28>>2]|0;J=c[f+32>>2]|0;K=c[f+36>>2]|0;r=c[(c[d+20>>2]|0)+((c[f+24>>2]|0)*52|0)+24>>2]|0;if(!(c[e>>2]&2))G=g;else{a[g>>0]=-1;a[g+1>>0]=-111;a[g+2>>0]=0;a[g+3>>0]=4;G=d+840|0;a[g+4>>0]=(c[G>>2]|0)>>>8;a[g+5>>0]=c[G>>2];j=j+-6|0;G=g+6|0}if((K|0)==0?(q=r+(s*136|0)+24|0,(c[q>>2]|0)!=0):0){o=r+(s*136|0)+28|0;p=0;while(1){f=c[o+20>>2]|0;kg(c[f+(J*40|0)+32>>2]|0);m=f+(J*40|0)+36|0;kg(c[m>>2]|0);n=_(c[f+(J*40|0)+20>>2]|0,c[f+(J*40|0)+16>>2]|0)|0;if(n){f=f+(J*40|0)+24|0;d=o+28|0;l=0;do{H=c[f>>2]|0;c[H+(l*52|0)+40>>2]=0;ng(c[m>>2]|0,l,(c[d>>2]|0)-(c[H+(l*52|0)+28>>2]|0)|0);l=l+1|0}while((l|0)!=(n|0))}p=p+1|0;if(p>>>0>=(c[q>>2]|0)>>>0)break;else o=o+36|0}}E=wg()|0;if(!E){i=0;return i|0}zg(E,G,j);Bg(E,1,1);F=r+(s*136|0)+28|0;H=r+(s*136|0)+24|0;if(c[H>>2]|0){A=K+1|0;C=F;D=0;while(1){n=c[C+20>>2]|0;B=_(c[n+(J*40|0)+20>>2]|0,c[n+(J*40|0)+16>>2]|0)|0;o=n+(J*40|0)+24|0;f=(B|0)==0;if(!f){d=n+(J*40|0)+32|0;l=c[o>>2]|0;m=0;while(1){if((c[l+40>>2]|0)==0?(c[(c[l+4>>2]|0)+(K*24|0)>>2]|0)!=0:0)ng(c[d>>2]|0,m,K);m=m+1|0;if((m|0)==(B|0))break;else l=l+52|0}if(!f){z=n+(J*40|0)+32|0;y=n+(J*40|0)+36|0;w=c[o>>2]|0;x=0;while(1){f=(c[w+4>>2]|0)+(K*24|0)|0;v=w+40|0;if(!(c[v>>2]|0))og(E,c[z>>2]|0,x,A);else Bg(E,(c[f>>2]|0)!=0&1,1);d=c[f>>2]|0;if(d){if(!(c[v>>2]|0)){c[w+32>>2]=3;og(E,c[y>>2]|0,x,999);d=c[f>>2]|0}a:do{switch(d|0){case 1:{Bg(E,0,1);break}case 2:{Bg(E,2,2);break}default:{if(d>>>0<6){Bg(E,d+-3|12,4);break a}if(d>>>0<37){Bg(E,d+-6|480,9);break a}if(d>>>0<165)Bg(E,d+-37|65408,16)}}}while(0);o=c[v>>2]|0;d=c[f>>2]|0;u=d+o|0;t=w+8|0;if(o>>>0>>0){s=w+32|0;q=o+-1+d|0;m=0;n=0;l=0;r=(c[t>>2]|0)+(o*24|0)|0;while(1){l=l+1|0;n=(c[r+16>>2]|0)+n|0;if((a[r+20>>0]&1)!=0|(o|0)==(q|0)){if((n|0)>1){d=0;do{n=n>>1;d=d+1|0}while((n|0)>1)}else d=0;p=c[s>>2]|0;if((l|0)>1){n=0;do{l=l>>1;n=n+1|0}while((l|0)>1);l=n}else l=0;n=d+1-p-l|0;m=(m|0)>(n|0)?m:n;n=0;l=0}o=o+1|0;if((o|0)==(u|0))break;else r=r+24|0}if((m|0)>0){d=m;while(1){Bg(E,1,1);if((d|0)>1)d=d+-1|0;else{d=n;break}}}else d=n}else{m=0;d=0;l=0}Bg(E,0,1);q=w+32|0;c[q>>2]=(c[q>>2]|0)+m;m=c[v>>2]|0;if(m>>>0>>0){p=(c[t>>2]|0)+(m*24|0)|0;while(1){l=l+1|0;n=(c[p+16>>2]|0)+d|0;if((a[p+20>>0]&1)==0?(m|0)!=((c[v>>2]|0)+-1+(c[f>>2]|0)|0):0)d=n;else{o=c[q>>2]|0;if((l|0)>1){d=0;do{l=l>>1;d=d+1|0}while((l|0)>1)}else d=0;Bg(E,n,d+o|0);d=0;l=0}m=m+1|0;if((m|0)==(u|0))break;else p=p+24|0}}}x=x+1|0;if((x|0)==(B|0))break;else w=w+52|0}}}D=D+1|0;if(D>>>0>=(c[H>>2]|0)>>>0)break;else C=C+36|0}}if(!(Dg(E)|0)){xg(E);i=0;return i|0}d=yg(E)|0;f=G+d|0;j=j-d|0;xg(E);if(c[e>>2]&4){a[f>>0]=-1;a[G+(d+1)>>0]=-110;j=j+-2|0;f=G+(d+2)|0}t=(k|0)!=0;if(t?(c[k+12>>2]|0)!=0:0){G=f-g|0;e=(c[(c[k+88>>2]|0)+(b*592|0)+548>>2]|0)+(c[k+8>>2]<<5)+8|0;c[e>>2]=G;c[e+4>>2]=((G|0)<0)<<31>>31}d=c[H>>2]|0;b:do{if(d){u=k+12|0;v=k+8|0;w=k+88|0;r=F;s=0;c:while(1){l=c[r+20>>2]|0;q=_(c[l+(J*40|0)+20>>2]|0,c[l+(J*40|0)+16>>2]|0)|0;l=c[l+(J*40|0)+24>>2]|0;if(q){if(t){p=0;while(1){o=c[l+4>>2]|0;d=o+(K*24|0)|0;if(c[d>>2]|0){m=o+(K*24|0)+4|0;n=c[m>>2]|0;if(n>>>0>j>>>0){f=0;j=81;break c}Ui(f|0,c[o+(K*24|0)+16>>2]|0,n|0)|0;e=l+40|0;c[e>>2]=(c[e>>2]|0)+(c[d>>2]|0);e=c[m>>2]|0;f=f+e|0;j=j-e|0;if((c[u>>2]|0)!=0?(e=(c[(c[w>>2]|0)+(b*592|0)+548>>2]|0)+(c[v>>2]<<5)+24|0,I=+h[o+(K*24|0)+8>>3]+ +h[e>>3],h[e>>3]=I,+h[k>>3]>3]=I}p=p+1|0;if(p>>>0>=q>>>0)break;else l=l+52|0}}else{p=0;while(1){d=c[l+4>>2]|0;m=d+(K*24|0)|0;if(c[m>>2]|0){n=d+(K*24|0)+4|0;o=c[n>>2]|0;if(o>>>0>j>>>0){f=0;j=81;break c}Ui(f|0,c[d+(K*24|0)+16>>2]|0,o|0)|0;e=l+40|0;c[e>>2]=(c[e>>2]|0)+(c[m>>2]|0);e=c[n>>2]|0;j=j-e|0;f=f+e|0}p=p+1|0;if(p>>>0>=q>>>0)break;else l=l+52|0}}d=c[H>>2]|0}s=s+1|0;if(s>>>0>=d>>>0)break b;else r=r+36|0}if((j|0)==81)return f|0}}while(0);c[i>>2]=f-g+(c[i>>2]|0);i=1;return i|0}function gh(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+64|0;L=N+40|0;K=N+32|0;x=N+24|0;w=N+16|0;u=N+8|0;t=N;v=N+48|0;M=N+44|0;c[M>>2]=h;z=c[f+28>>2]|0;J=f+24|0;y=c[d+((c[J>>2]|0)*52|0)+24>>2]|0;H=f+36|0;if((c[H>>2]|0)==0?(s=y+(z*136|0)+24|0,m=c[s>>2]|0,(m|0)!=0):0){r=f+32|0;p=0;q=y+(z*136|0)+28|0;while(1){d=c[r>>2]|0;n=c[q+20>>2]|0;if((c[q+8>>2]|0)!=(c[q>>2]|0)?(c[q+12>>2]|0)!=(c[q+4>>2]|0):0){kg(c[n+(d*40|0)+32>>2]|0);kg(c[n+(d*40|0)+36>>2]|0);m=_(c[n+(d*40|0)+20>>2]|0,c[n+(d*40|0)+16>>2]|0)|0;if(m){o=0;d=c[n+(d*40|0)+24>>2]|0;while(1){c[d+44>>2]=0;c[d+48>>2]=0;o=o+1|0;if((o|0)==(m|0))break;else d=d+56|0}}m=c[s>>2]|0}p=p+1|0;if(p>>>0>=m>>>0)break;else q=q+36|0}}do{if(c[e>>2]&2){if(k>>>0<6){Ub(l,2,22072,t)|0;break}d=c[M>>2]|0;if((a[d>>0]|0)==-1?(a[d+1>>0]|0)==-111:0){c[M>>2]=d+6;break}Ub(l,2,22114,u)|0}}while(0);G=wg()|0;if(!G){h=0;i=N;return h|0}do{if(!(a[b+96>>0]&1))if(!(a[e+5636>>0]&2)){E=c[M>>2]|0;c[v>>2]=h+k-E;F=M;break}else{F=e+5168|0;E=c[F>>2]|0;v=e+5180|0;break}else{F=b+40|0;E=c[F>>2]|0;v=b+44|0}}while(0);Ag(G,E,c[v>>2]|0);if(!(Cg(G,1)|0)){Eg(G)|0;m=yg(G)|0;d=E+m|0;xg(G);do{if(c[e>>2]&4){if(((c[v>>2]|0)-d+(c[F>>2]|0)|0)>>>0<2){Ub(l,2,22135,w)|0;break}if((a[d>>0]|0)==-1?(a[E+(m+1)>>0]|0)==-110:0){d=E+(m+2)|0;break}Ub(l,2,22177,x)|0}}while(0);c[v>>2]=(c[v>>2]|0)+((c[F>>2]|0)-d);c[F>>2]=d;c[g>>2]=0;c[j>>2]=(c[M>>2]|0)-h;h=1;i=N;return h|0}D=y+(z*136|0)+24|0;d=c[D>>2]|0;a:do{if(d){B=f+32|0;C=e+5584|0;A=0;y=y+(z*136|0)+28|0;b:while(1){m=c[B>>2]|0;n=c[y+20>>2]|0;if(((c[y+8>>2]|0)!=(c[y>>2]|0)?(c[y+12>>2]|0)!=(c[y+4>>2]|0):0)?(I=_(c[n+(m*40|0)+20>>2]|0,c[n+(m*40|0)+16>>2]|0)|0,(I|0)!=0):0){b=n+(m*40|0)+32|0;f=n+(m*40|0)+36|0;w=y+28|0;x=0;k=c[n+(m*40|0)+24>>2]|0;while(1){m=k+44|0;if(!(c[m>>2]|0))d=pg(G,c[b>>2]|0,x,(c[H>>2]|0)+1|0)|0;else d=Cg(G,1)|0;c:do{if(!d)c[k+40>>2]=0;else{if(!(c[m>>2]|0)){d=0;while(1)if(!(pg(G,c[f>>2]|0,x,d)|0))d=d+1|0;else break;c[k+24>>2]=1-d+(c[w>>2]|0);c[k+28>>2]=3}do{if(Cg(G,1)|0)if(Cg(G,1)|0){d=Cg(G,2)|0;if((d|0)!=3){d=d+3|0;break}d=Cg(G,5)|0;if((d|0)==31){d=(Cg(G,7)|0)+37|0;break}else{d=d+6|0;break}}else d=2;else d=1}while(0);t=k+40|0;c[t>>2]=d;d=0;while(1)if(!(Cg(G,1)|0))break;else d=d+1|0;u=k+28|0;c[u>>2]=(c[u>>2]|0)+d;m=c[m>>2]|0;do{if(!m){n=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;d=k+52|0;if(!(c[d>>2]|0)){c[d>>2]=10;o=k+4|0;m=Tc(c[o>>2]|0,320)|0;if(!m){m=d;n=o;d=o;o=66;break b}c[o>>2]=m}else m=c[k+4>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m+24>>2]=0;c[m+28>>2]=0;if(n&4){c[m+20>>2]=1;m=0;break}m=m+20|0;if(!(n&1)){c[m>>2]=109;m=0;break}else{c[m>>2]=10;m=0;break}}else{q=m+-1|0;r=k+4|0;n=c[r>>2]|0;if((c[n+(q<<5)+8>>2]|0)!=(c[n+(q<<5)+20>>2]|0)){d=k+52|0;m=q;break}p=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;d=k+52|0;o=c[d>>2]|0;if((m+1|0)>>>0>o>>>0){z=o+10|0;c[d>>2]=z;n=Tc(n,z<<5)|0;if(!n){n=r;m=d;d=r;o=77;break b}c[r>>2]=n}z=n+(m<<5)|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;if(p&4){c[n+(m<<5)+20>>2]=1;break}if(!(p&1)){c[n+(m<<5)+20>>2]=109;break}else{z=c[n+(q<<5)+20>>2]|0;c[n+(m<<5)+20>>2]=(z|0)==1|(z|0)==10?2:1;break}}}while(0);s=k+4|0;q=c[t>>2]|0;while(1){p=c[s>>2]|0;n=(c[p+(m<<5)+20>>2]|0)-(c[p+(m<<5)+8>>2]|0)|0;n=(n|0)<(q|0)?n:q;c[p+(m<<5)+24>>2]=n;p=c[u>>2]|0;if(n>>>0>1){o=0;while(1){o=o+1|0;if(n>>>0>3)n=n>>>1;else{n=o;break}}}else n=0;p=Cg(G,n+p|0)|0;n=c[s>>2]|0;c[n+(m<<5)+28>>2]=p;p=q-(c[n+(m<<5)+24>>2]|0)|0;if((p|0)<=0)break c;q=m+1|0;r=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;o=c[d>>2]|0;if((m+2|0)>>>0>o>>>0){z=o+10|0;c[d>>2]=z;n=Tc(n,z<<5)|0;if(!n){n=s;m=s;o=90;break b}c[s>>2]=n}z=n+(q<<5)|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;if(r&4){c[n+(q<<5)+20>>2]=1;m=q;q=p;continue}if(!(r&1)){c[n+(q<<5)+20>>2]=109;m=q;q=p;continue}else{z=c[n+(m<<5)+20>>2]|0;c[n+(q<<5)+20>>2]=(z|0)==1|(z|0)==10?2:1;m=q;q=p;continue}}}}while(0);x=x+1|0;if(x>>>0>=I>>>0)break;else k=k+56|0}d=c[D>>2]|0}A=A+1|0;if(A>>>0>=d>>>0)break a;else y=y+36|0}if((o|0)==66){Uc(c[d>>2]|0);c[n>>2]=0;c[m>>2]=0;xg(G);h=0;i=N;return h|0}else if((o|0)==77){Uc(c[d>>2]|0);c[n>>2]=0;c[m>>2]=0;xg(G);h=0;i=N;return h|0}else if((o|0)==90){Uc(c[m>>2]|0);c[n>>2]=0;c[d>>2]=0;xg(G);h=0;i=N;return h|0}}}while(0);if(!(Eg(G)|0)){xg(G);h=0;i=N;return h|0}m=yg(G)|0;d=E+m|0;xg(G);do{if(c[e>>2]&4){if(((c[v>>2]|0)-d+(c[F>>2]|0)|0)>>>0<2){Ub(l,2,22135,K)|0;break}if((a[d>>0]|0)==-1?(a[E+(m+1)>>0]|0)==-110:0){d=E+(m+2)|0;break}Ub(l,2,22177,L)|0}}while(0);c[v>>2]=(c[v>>2]|0)+((c[F>>2]|0)-d);c[F>>2]=d;c[g>>2]=1;c[j>>2]=(c[M>>2]|0)-h;h=1;i=N;return h|0}function hh(){return Pc(104)|0}function ih(a){a=a|0;if(!a)return;Uc(a);return}function jh(a){a=a|0;return(c[a+12>>2]|0)-(c[a+16>>2]|0)|0}function kh(b,d){b=b|0;d=d|0;var e=0,f=0;c[b+100>>2]=b+24;c[b+4>>2]=32768;c[b>>2]=0;f=d+-1|0;c[b+12>>2]=f;e=b+8|0;c[e>>2]=12;c[e>>2]=(a[f>>0]|0)==-1?13:12;c[b+16>>2]=d;return}function lh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=c[b+100>>2]|0;h=c[g>>2]|0;j=(c[h+4>>2]|0)==(d|0);f=c[h>>2]|0;k=b+4|0;d=(c[k>>2]|0)-f|0;c[k>>2]=d;if(!j){if(d>>>0>>0){j=(c[b>>2]|0)+f|0;c[b>>2]=j;f=d;d=j;j=b}else{c[k>>2]=f;d=c[b>>2]|0;j=b}c[g>>2]=c[h+12>>2];i=b+8|0;h=b+12|0;g=d;d=c[i>>2]|0;while(1){f=f<<1;c[k>>2]=f;e=g<<1;c[j>>2]=e;d=d+-1|0;c[i>>2]=d;if(!d){d=c[h>>2]|0;f=a[d>>0]|0;do{if(f<<24>>24!=-1){if(!(e&134217728)){e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>18;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}a[d>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){b=c[j>>2]&134217727;c[j>>2]=b;e=d+1|0;c[h>>2]=e;a[e>>0]=b>>>20;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[h>>2]=e;a[e>>0]=(c[j>>2]|0)>>>19;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}}else{e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>19;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7}}while(0);f=c[k>>2]|0}if(!(f&32768))g=e;else break}return}if(d&32768){c[b>>2]=(c[b>>2]|0)+f;return}if(d>>>0>>0){c[k>>2]=f;e=c[b>>2]|0;j=b}else{e=(c[b>>2]|0)+f|0;c[b>>2]=e;f=d;j=b}c[g>>2]=c[h+8>>2];i=b+8|0;h=b+12|0;g=e;d=c[i>>2]|0;while(1){f=f<<1;c[k>>2]=f;e=g<<1;c[j>>2]=e;d=d+-1|0;c[i>>2]=d;if(!d){d=c[h>>2]|0;f=a[d>>0]|0;do{if(f<<24>>24!=-1){if(!(e&134217728)){e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>18;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}a[d>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){b=c[j>>2]&134217727;c[j>>2]=b;e=d+1|0;c[h>>2]=e;a[e>>0]=b>>>20;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[h>>2]=e;a[e>>0]=(c[j>>2]|0)>>>19;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}}else{e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>19;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7}}while(0);f=c[k>>2]|0}if(!(f&32768))g=e;else break}return}function mh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[b>>2]|0;f=h|65535;g=b+8|0;f=(f>>>0<((c[b+4>>2]|0)+h|0)>>>0?f:f+-32768|0)<>2];c[b>>2]=f;h=b+12|0;d=c[h>>2]|0;e=a[d>>0]|0;do{if(e<<24>>24!=-1){if(!(f&134217728)){d=d+1|0;c[h>>2]=d;a[d>>0]=f>>>19;d=c[b>>2]&524287;c[b>>2]=d;c[g>>2]=8;e=8;break}a[d>>0]=e+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){e=c[b>>2]&134217727;c[b>>2]=e;d=d+1|0;c[h>>2]=d;a[d>>0]=e>>>20;d=c[b>>2]&1048575;c[b>>2]=d;c[g>>2]=7;e=7;break}else{d=d+1|0;c[h>>2]=d;a[d>>0]=(c[b>>2]|0)>>>19;d=c[b>>2]&524287;c[b>>2]=d;c[g>>2]=8;e=8;break}}else{d=d+1|0;c[h>>2]=d;a[d>>0]=f>>>20;d=c[b>>2]&1048575;c[b>>2]=d;c[g>>2]=7;e=7}}while(0);d=d<>2]=d;e=c[h>>2]|0;f=a[e>>0]|0;do{if(f<<24>>24!=-1){if(!(d&134217728)){f=e+1|0;c[h>>2]=f;a[f>>0]=d>>>19;c[b>>2]=c[b>>2]&524287;c[g>>2]=8;break}a[e>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){e=c[b>>2]&134217727;c[b>>2]=e;f=d+1|0;c[h>>2]=f;a[f>>0]=e>>>20;c[b>>2]=c[b>>2]&1048575;c[g>>2]=7;break}else{f=d+1|0;c[h>>2]=f;a[f>>0]=(c[b>>2]|0)>>>19;c[b>>2]=c[b>>2]&524287;c[g>>2]=8;break}}else{f=e+1|0;c[h>>2]=f;a[f>>0]=d>>>20;c[b>>2]=c[b>>2]&1048575;c[g>>2]=7}}while(0);d=c[h>>2]|0;if((a[d>>0]|0)==-1)return;c[h>>2]=d+1;return}function nh(a){a=a|0;c[a>>2]=0;c[a+8>>2]=8;return}function oh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+8|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;d=(d<>2]|0)|0;c[b>>2]=d;if(f)return;f=b+12|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;a[g>>0]=d;c[e>>2]=8;c[e>>2]=(a[c[f>>2]>>0]|0)==-1?7:8;c[b>>2]=0;return}function ph(a){a=a|0;c[a+28>>2]=1156;c[a+32>>2]=1156;c[a+36>>2]=1156;c[a+40>>2]=1156;c[a+44>>2]=1156;c[a+48>>2]=1156;c[a+52>>2]=1156;c[a+56>>2]=1156;c[a+60>>2]=1156;c[a+64>>2]=1156;c[a+68>>2]=1156;c[a+72>>2]=1156;c[a+76>>2]=1156;c[a+80>>2]=1156;c[a+84>>2]=1156;c[a+88>>2]=1156;c[a+96>>2]=2628;c[a+92>>2]=1252;c[a+24>>2]=1284;return}function qh(a){a=a|0;c[a+24>>2]=1156;c[a+28>>2]=1156;c[a+32>>2]=1156;c[a+36>>2]=1156;c[a+40>>2]=1156;c[a+44>>2]=1156;c[a+48>>2]=1156;c[a+52>>2]=1156;c[a+56>>2]=1156;c[a+60>>2]=1156;c[a+64>>2]=1156;c[a+68>>2]=1156;c[a+72>>2]=1156;c[a+76>>2]=1156;c[a+80>>2]=1156;c[a+84>>2]=1156;c[a+88>>2]=1156;c[a+92>>2]=1156;c[a+96>>2]=1156;return}function rh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+24+(b<<2)>>2]=1156+((e<<1)+d<<4);return}function sh(b){b=b|0;var d=0,e=0;c[b+100>>2]=b+24;c[b+4>>2]=32768;c[b>>2]=0;d=b+8|0;c[d>>2]=12;e=b+12|0;b=(c[e>>2]|0)+-1|0;c[e>>2]=b;if((a[b>>0]|0)!=-1)return;c[d>>2]=13;return}function th(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=b+8|0;d=c[i>>2]|0;f=12-d|0;if((f|0)>0){g=b+12|0;e=c[b>>2]|0;do{d=e<>2]=d;c[i>>2]=0;e=c[g>>2]|0;h=a[e>>0]|0;do{if(h<<24>>24!=-1){if(!(d&134217728)){e=e+1|0;c[g>>2]=e;a[e>>0]=d>>>19;e=c[b>>2]&524287;c[b>>2]=e;c[i>>2]=8;d=8;break}a[e>>0]=h+1<<24>>24;d=c[g>>2]|0;if((a[d>>0]|0)==-1){h=c[b>>2]&134217727;c[b>>2]=h;e=d+1|0;c[g>>2]=e;a[e>>0]=h>>>20;e=c[b>>2]&1048575;c[b>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[g>>2]=e;a[e>>0]=(c[b>>2]|0)>>>19;e=c[b>>2]&524287;c[b>>2]=e;c[i>>2]=8;d=8;break}}else{e=e+1|0;c[g>>2]=e;a[e>>0]=d>>>20;e=c[b>>2]&1048575;c[b>>2]=e;c[i>>2]=7;d=7}}while(0);f=f-d|0}while((f|0)>0)}else g=b+12|0;d=c[g>>2]|0;e=a[d>>0]|0;if(e<<24>>24==-1)return;f=c[b>>2]|0;if(!(f&134217728)){h=d+1|0;c[g>>2]=h;a[h>>0]=f>>>19;c[b>>2]=c[b>>2]&524287;c[i>>2]=8;return}a[d>>0]=e+1<<24>>24;d=c[g>>2]|0;if((a[d>>0]|0)==-1){f=c[b>>2]&134217727;c[b>>2]=f;h=d+1|0;c[g>>2]=h;a[h>>0]=f>>>20;c[b>>2]=c[b>>2]&1048575;c[i>>2]=7;return}else{h=d+1|0;c[g>>2]=h;a[h>>0]=(c[b>>2]|0)>>>19;c[b>>2]=c[b>>2]&524287;c[i>>2]=8;return}}function uh(a){a=a|0;c[a+100>>2]=a+96;lh(a,1);lh(a,0);lh(a,1);lh(a,0);return}function vh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[b+100>>2]=b+24;c[b+16>>2]=e;c[b+20>>2]=e+f;h=b+12|0;c[h>>2]=e;do{if(f){i=d[e>>0]<<16;c[b>>2]=i;g=e+1|0;if((f|0)==1)f=255;else f=d[g>>0]|0;if((a[e>>0]|0)!=-1){c[h>>2]=g;g=i|f<<8;c[b>>2]=g;f=b+8|0;c[f>>2]=8;h=b;i=1;break}if(f>>>0>143){g=i|65280;c[b>>2]=g;f=b+8|0;c[f>>2]=8;h=b;i=1;break}else{c[h>>2]=g;g=i+(f<<9)|0;c[b>>2]=g;f=b+8|0;c[f>>2]=7;h=b;i=0;break}}else{c[b>>2]=16776960;f=b+8|0;c[f>>2]=8;g=16776960;h=b;i=1}}while(0);c[h>>2]=g<<7;c[f>>2]=i;c[b+4>>2]=32768;return 1}function wh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=c[b+100>>2]|0;g=c[f>>2]|0;j=c[g>>2]|0;n=b+4|0;i=(c[n>>2]|0)-j|0;c[n>>2]=i;h=c[b>>2]|0;if(h>>>16>>>0>>0){c[n>>2]=j;e=c[g+4>>2]|0;if(i>>>0>>0)c[f>>2]=c[g+8>>2];else{c[f>>2]=c[g+12>>2];e=1-e|0}k=b+8|0;l=b+12|0;m=b+20|0;g=c[k>>2]|0;f=h;do{do{if(!g){h=c[l>>2]|0;g=c[m>>2]|0;if((h|0)==(g|0)){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}i=h+1|0;if((i|0)==(g|0))g=255;else g=d[i>>0]|0;if((a[h>>0]|0)!=-1){c[l>>2]=i;f=f+(g<<8)|0;c[b>>2]=f;c[k>>2]=8;g=8;break}if(g>>>0>143){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}else{c[l>>2]=i;f=f+(g<<9)|0;c[b>>2]=f;c[k>>2]=7;g=7;break}}}while(0);j=j<<1;c[n>>2]=j;f=f<<1;c[b>>2]=f;g=g+-1|0;c[k>>2]=g}while(j>>>0<32768);return e|0}h=h-(j<<16)|0;c[b>>2]=h;if(i&32768){b=c[g+4>>2]|0;return b|0}e=c[g+4>>2]|0;if(j>>>0>i>>>0){c[f>>2]=c[g+12>>2];e=1-e|0}else c[f>>2]=c[g+8>>2];k=b+8|0;l=b+12|0;m=b+20|0;g=c[k>>2]|0;f=h;j=i;do{do{if(!g){h=c[l>>2]|0;g=c[m>>2]|0;if((h|0)==(g|0)){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}i=h+1|0;if((i|0)==(g|0))g=255;else g=d[i>>0]|0;if((a[h>>0]|0)!=-1){c[l>>2]=i;f=f+(g<<8)|0;c[b>>2]=f;c[k>>2]=8;g=8;break}if(g>>>0>143){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}else{c[l>>2]=i;f=f+(g<<9)|0;c[b>>2]=f;c[k>>2]=7;g=7;break}}}while(0);j=j<<1;c[n>>2]=j;f=f<<1;c[b>>2]=f;g=g+-1|0;c[k>>2]=g}while(j>>>0<32768);return e|0}function xh(){return Pc(28)|0}function yh(a){a=a|0;if(!a)return;Uc(a);return}function zh(b,d,e){b=b|0;d=d|0;e=e|0;c[b+20>>2]=d;c[b+8>>2]=e;c[b+12>>2]=0;a[b>>0]=0;c[b+4>>2]=0;return}function Ah(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=b+4|0;d=c[g>>2]|0;do{if(!d){c[g>>2]=8;e=b+12|0;f=c[e>>2]|0;if((f|0)==(c[b+8>>2]|0)){a[b>>0]=-1;d=8;e=-1;break}if((a[b>>0]|0)==-1){c[g>>2]=7;d=7}else d=8;h=a[(c[b+20>>2]|0)+f>>0]|0;a[b>>0]=h;c[e>>2]=f+1;e=h}else e=a[b>>0]|0}while(0);h=d+-1|0;c[g>>2]=h;return(e&255)>>>h&1|0}function Bh(){var a=0;if(!(c[665]|0))a=2712;else a=c[(Ca()|0)+60>>2]|0;return a|0}function Ch(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[22198+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=22286;e=5;break}}if((e|0)==2)if(!c)b=22286;else{b=22286;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function Dh(a){a=a|0;if(a>>>0>4294963200){c[(Bh()|0)>>2]=0-a;a=-1}return a|0}function Eh(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Ti(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Eh(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=f+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return+a}function Fh(a,b){a=+a;b=b|0;return+ +Eh(a,b)}function Gh(a,b){a=+a;b=b|0;return+ +Jh(a,b)}function Hh(a){a=+a;return~~+Ih(a)|0}function Ih(a){a=+a;var b=0;b=(g[k>>2]=a,c[k>>2]|0);if((b&2130706432)>>>0<=1249902592){b=(b|0)<0;a=b?a+-8388608.0+8388608.0:a+8388608.0+-8388608.0;if(a==0.0)a=b?-0.0:0.0}return+a}function Jh(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Ri(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return+(a*+h[k>>3])}function Kh(b,d,e){b=b|0;d=d|0;e=e|0;do{if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(Bh()|0)>>2]=84;b=-1;break}}else b=1}while(0);return b|0}function Lh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Kh(a,b,0)|0;return a|0}function Mh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(ri(24090,f<<24>>24,4)|0){e=Fi(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(ti(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(ti(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ra(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ra(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ra(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Fa(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=60;c[e+36>>2]=61;c[e+40>>2]=3;c[e+12>>2]=1;if(!(c[666]|0))c[e+76>>2]=-1;Ia(2688);f=c[671]|0;c[e+56>>2]=f;if(f)c[f+52>>2]=e;c[671]=e;Ga(2688)}}else{c[(Bh()|0)>>2]=22;e=0}i=o;return e|0}function Nh(b){b=b|0;var c=0,d=0,e=0;d=(ti(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(ti(b,120)|0)==0;d=e?d:d|128;b=(ti(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return(c<<24>>24==97?b|1024:b)|0}function Oh(a){a=a|0;return 0}function Ph(a){a=a|0;return}function Qh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;k=e&255;a[l>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Xh(b)|0)){h=c[g>>2]|0;j=4}else f=-1;else j=4;do{if((j|0)==4){g=b+20|0;j=c[g>>2]|0;if(j>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Ra[c[b+36>>2]&63](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}}while(0);i=m;return f|0}function Rh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=Dh(Ja(6,d|0)|0)|0;i=b;return a|0}function Sh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[665]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Dh(Na(145,h|0)|0)|0}else{ua(5,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Dh(Na(145,g|0)|0)|0;qa(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((Dh(Ma(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Uh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[665]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Dh(Oa(146,n|0)|0)|0}else{ua(6,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Dh(Oa(146,m|0)|0)|0;qa(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function Vh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=61;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Fa(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=Uh(b,d,e)|0;i=g;return f|0}function Wh(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Ra[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Xh(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function Yh(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Ia(2688);d=c[a+52>>2]|0;b=a+56|0;if(d)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b)c[b+52>>2]=d;if((c[671]|0)==(a|0))c[671]=b;Ga(2688)}b=Zh(a)|0;b=Wa[c[a+12>>2]&15](a)|0|b;d=c[a+92>>2]|0;if(d)Gi(d);if(!e)Gi(a);return b|0}function Zh(a){a=a|0;var b=0,d=0;do{if(a){if((c[a+76>>2]|0)<=-1){b=zi(a)|0;break}d=(Oh(a)|0)==0;b=zi(a)|0;if(!d)Ph(a)}else{if(!(c[677]|0))b=0;else b=Zh(c[677]|0)|0;Ia(2688);a=c[671]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Oh(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=zi(a)|0|b;if(d)Ph(a);a=c[a+56>>2]|0}while((a|0)!=0);Ga(2688)}}while(0);return b|0}function _h(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(ri(24090,a[d>>0]|0,4)|0){h=Nh(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Dh(Ka(5,e|0)|0)|0;if((e|0)>=0){b=Mh(e,d)|0;if(!b){c[f>>2]=e;Ja(6,f|0)|0;b=0}}else b=0}else{c[(Bh()|0)>>2]=22;b=0}i=g;return b|0}function $h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=oi(a,b,f)|0;i=e;return d|0}function ai(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Oh(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Qh(d,b)|0;Ph(d)}else i=3;do{if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Qh(d,b)|0}}while(0);return e|0}function bi(a,b){a=a|0;b=b|0;return(ki(a,wi(a)|0,1,b)|0)+-1|0}function ci(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Oh(f)|0;else k=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:j;Ui(b|0,h|0,i|0)|0;c[g>>2]=h+i;b=b+i|0;g=j-i|0}else g=j;a:do{if(!g)l=13;else{i=f+32|0;h=g;while(1){if(Wh(f)|0){e=h;break}g=Ra[c[i>>2]&63](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k)Ph(f);e=((j-e|0)>>>0)/(d>>>0)|0}}while(0);if((l|0)==13)if(k)Ph(f);return e|0}function di(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;f=a+20|0;e=a+28|0;if((c[f>>2]|0)>>>0>(c[e>>2]|0)>>>0?(Ra[c[a+36>>2]&63](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[e>>2]=0;c[f>>2]=0;if((Ra[c[a+40>>2]&63](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Oh(a)|0)==0;b=di(a,b,d)|0;if(!e)Ph(a)}else b=di(a,b,d)|0;return b|0}function fi(a,b,c){a=a|0;b=b|0;c=c|0;return ei(a,b,c)|0}function gi(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=Ra[c[a+40>>2]&63](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function hi(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Oh(a)|0)==0;a=gi(a)|0}else a=gi(a)|0;return a|0}function ii(a){a=a|0;return hi(a)|0}function ji(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Xh(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do{if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=Ra[c[e+36>>2]&63](e,b,d)|0;break}b:do{if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Ra[c[e+36>>2]&63](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}}while(0);Ui(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}}while(0);return f|0}function ki(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=_(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Oh(e)|0)==0;a=ji(a,f,e)|0;if(!g)Ph(e)}else a=ji(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function li(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=oi(c[676]|0,a,e)|0;i=d;return b|0}function mi(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[676]|0;if((c[f+76>>2]|0)>-1)g=Oh(f)|0;else g=0;do{if((bi(b,f)|0)<0)d=1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;d=0;break}d=(Qh(f,10)|0)<0}}while(0);if(g)Ph(f);return d<<31>>31|0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=qi(a,b,f)|0;i=e;return d|0}function oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((Ai(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Oh(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=Ai(b,d,o,q,r)|0;if(h){Ra[c[b+36>>2]&63](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=Ai(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)Ph(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function pi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=2716;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(Bh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=oi(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;return pi(a,2147483647,b,c)|0}function ri(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do{if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5}while(0);if((i|0)==5)if(f)i=6;else e=0;b:do{if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=_(h,16843009)|0;c:do{if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11}while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}}while(0);return((e|0)!=0?b:0)|0}function si(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do{if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8}while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function ti(b,c){b=b|0;c=c|0;b=ui(b,c)|0;return((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function ui(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do{if(!f)b=b+(wi(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do{if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009)break b;b=b+4|0;e=c[b>>2]|0}while(((e&-2139062144^-2139062144)&e+-16843009|0)==0)}while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}}while(0);return b|0}function vi(a,b){a=a|0;b=b|0;si(a,b)|0;return a|0}function wi(b){b=b|0;var d=0,e=0,f=0;f=b;a:do{if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do{b=b+1|0}while((a[b>>0]|0)!=0)}return b-f|0}function xi(a){a=a|0;if(!(c[a+68>>2]|0))Ph(a);return}function yi(a){a=a|0;if(!(c[a+68>>2]|0))Ph(a);return}function zi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ra[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Ra[c[a+40>>2]&63](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Ai(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;$=X;aa=$-Z|0;O=-2-Z|0;P=$+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do{if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(Bh()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do{if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)ji(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do{if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}}while(0);do{if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}}while(0);e:do{if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1}while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[25126+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do{if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}Ci(ba,s,g)}}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do{switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=Ti(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=25606;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=25606;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=Oi(0,0,n|0,o|0)|0;o=C;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=25606;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?25606:25608;L=76}else{p=1;s=25607;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=25606;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=25606;n=N;break}case 109:{n=Ch(c[(Bh()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:25616;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){Ei(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?25624:25629}else{G=1;H=25626}else{q=-q;G=1;H=25623}h[k>>3]=q;F=c[k+4>>2]&2146435072;do{if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+Fh(q,ea)*2.0;o=v!=0.0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;D=u|32;if((D|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do{if(!(r>>>0>11|(n|0)==0)){q=8.0;do{n=n+-1|0;q=q*16.0}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v}while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=Di(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[25590+H>>0]|w;q=(q-+(H|0))*16.0;do{if((n-Z|0)==1){if(p&(s&q==0.0))break;a[n>>0]=46;n=o+2|0}}while(0);if(!(q!=0.0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;Ei(e,32,K,p,I);if(!(c[e>>2]&32))ji(y,x,e)|0;Ei(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))ji(da,n,e)|0;o=$-t|0;Ei(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))ji(t,o,e)|0;Ei(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456.0}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do{if(r>>>0>>0)r=s;else{o=0;do{B=Ri(c[r>>2]|0,0,t|0)|0;B=Si(B|0,C|0,o|0,0)|0;o=C;A=$i(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=_i(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(D|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do{if(w>>>0

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

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

>>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0}while(0);A=(D|0)==103;B=(n|0)!=0;r=n-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do{if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;t=(s|0)/2|0;do{if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1.0;break}q=1.5}}while(0);do{if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}}while(0);D=r+4|0;w=s;p=p>>>0>D>>>0?D:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;D=p;break}}do{if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do{if(z){p=c[D+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9}while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8}while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=Di(r,((r|0)<0)<<31>>31,X)|0;if(($-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while(($-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=$-E|0;u=E}y=G+1+n+s+o|0;Ei(e,32,K,y,I);if(!(c[e>>2]&32))ji(H,G,e)|0;Ei(e,48,K,y,I^65536);do{if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=Di(c[o>>2]|0,0,R)|0;do{if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}}while(0);if(!(c[e>>2]&32))ji(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do{if(x){if(c[e>>2]&32)break;ji(25658,1,e)|0}}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=Di(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))ji(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}Ei(e,48,n+9|0,9,0)}else{t=z?D:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=Di(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do{if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))ji(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}ji(25658,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}}while(0);p=S-o|0;if(!(c[e>>2]&32))ji(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}Ei(e,48,n+18|0,18,0);if(c[e>>2]&32)break;ji(u,$-u|0,e)|0}}while(0);Ei(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Ei(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){ji(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))ji(s?t?25650:25654:t?25642:25646,3,e)|0;Ei(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=25606;n=N}}}while(0);g:do{if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[25590+(o&15)>>0]|s;o=Ti(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=25606;L=77}else{o=t;t=2;s=25606+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=25606;L=77}}else if((L|0)==76){n=Di(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=ri(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=25606;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=Lh(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}Ei(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=Lh(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))ji(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}}while(0);if((L|0)==98){L=0;Ei(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;Ei(e,32,n,r,p);if(!(c[e>>2]&32))ji(u,t,e)|0;Ei(e,48,n,r,p^65536);Ei(e,48,o,s,0);if(!(c[e>>2]&32))ji(w,s,e)|0;Ei(e,32,n,r,p^8192);w=J}h:do{if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;Ci(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0}while(0);i=ha;return m|0}function Bi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;Ui(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Ci(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do{if(b>>>0<=20)do{switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}}while(0)}while(0);return}function Di(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=$i(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=_i(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}else{b=e;break}}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function Ei(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do{if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;Qi(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){ji(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;ji(h,f,a)|0}}while(0);i=j;return}function Fi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do{if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[735]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=2980+(e<<2)|0;e=2980+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do{if((d|0)!=(h|0)){if(h>>>0<(c[739]|0)>>>0)ta();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else ta()}else c[735]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[737]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=2980+(e<<2)|0;e=2980+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do{if((d|0)!=(f|0)){if(f>>>0<(c[739]|0)>>>0)ta();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[737]|0;break}else ta()}else{c[735]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[740]|0;d=k>>>3;b=d<<1;e=2980+(b<<2)|0;a=c[735]|0;d=1<>2]|0;if(b>>>0<(c[739]|0)>>>0)ta();else{l=a;m=b}}else{c[735]=a|d;l=2980+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[737]=h;c[740]=i;M=j;return M|0}a=c[736]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[3244+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[739]|0;if(e>>>0>>0)ta();i=e+o|0;if(e>>>0>=i>>>0)ta();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do{if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)ta();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)ta();b=f+12|0;if((c[b>>2]|0)!=(e|0))ta();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else ta()}}while(0);do{if(h){b=c[e+28>>2]|0;a=3244+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[739]|0;if(n>>>0>>0)ta();c[n+24>>2]=h;b=c[e+16>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[n+16>>2]=b;c[b+24>>2]=n;break}}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[737]|0;if(b){g=c[740]|0;d=b>>>3;b=d<<1;f=2980+(b<<2)|0;a=c[735]|0;d=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{p=b;q=a}}else{c[735]=a|d;p=2980+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[737]=j;c[740]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[736]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[3244+(k<<2)>>2]|0;a:do{if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[3244+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[737]|0)-m|0)>>>0:0){f=c[739]|0;if(j>>>0>>0)ta();h=j+m|0;if(j>>>0>=h>>>0)ta();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do{if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)ta();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)ta();b=e+12|0;if((c[b>>2]|0)!=(j|0))ta();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else ta()}}while(0);do{if(g){b=c[j+28>>2]|0;a=3244+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[739]|0;if(o>>>0>>0)ta();c[o+24>>2]=g;b=c[j+16>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[o+16>>2]=b;c[b+24>>2]=o;break}}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}}while(0);b:do{if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{s=b;t=a}}else{c[735]=d|b;s=2980+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=3244+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[736]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do{if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b}while(0);b=y+8|0;a=c[b>>2]|0;M=c[739]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else ta()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1}while(0);d=c[737]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[740]|0;if(b>>>0>15){c[740]=a+q;c[737]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[737]=0;c[740]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[738]|0;if(a>>>0>q>>>0){L=a-q|0;c[738]=L;M=c[741]|0;c[741]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do{if(!(c[853]|0)){a=za(30)|0;if(!(a+-1&a)){c[855]=a;c[854]=a;c[856]=-1;c[857]=-1;c[858]=0;c[846]=0;c[853]=(La(0)|0)&-16^1431655768;break}else ta()}}while(0);j=q+48|0;i=c[855]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[845]|0;if((a|0)!=0?(t=c[843]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do{if(!(c[846]&4)){a=c[741]|0;e:do{if(a){f=3388;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[738]|0)&i;if(d>>>0<2147483647){f=xa(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174}while(0);do{if((v|0)==174){g=xa(0)|0;if((g|0)!=(-1|0)){a=g;d=c[854]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[843]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[845]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=xa(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}}while(0);f:do{if((v|0)==184){g=0-d|0;do{if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[855]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((xa(u|0)|0)==(-1|0)){xa(g|0)|0;break f}else{d=u+d|0;break}}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}}while(0);c[846]=c[846]|4;v=191}else{a=0;v=191}}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=xa(l|0)|0,x=xa(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[843]|0)+p|0;c[843]=a;if(a>>>0>(c[844]|0)>>>0)c[844]=a;h=c[741]|0;g:do{if(h){g=3388;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[738]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[741]=h+L;c[738]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[742]=c[857];break}a=c[739]|0;if(w>>>0>>0){c[739]=w;a=w}d=w+p|0;g=3388;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=3388;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do{if((b|0)!=(h|0)){if((b|0)==(c[740]|0)){M=(c[737]|0)+l|0;c[737]=M;c[740]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do{if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do{if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)ta();a=f+12|0;if((c[a>>2]|0)!=(b|0))ta();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else ta()}}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=3244+(a<<2)|0;do{if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[739]|0)>>>0)ta();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[736]=c[736]&~(1<>>0>>0)ta();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do{if(a)if(a>>>0>>0)ta();else{c[J+16>>2]=a;c[a+24>>2]=J;break}}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[739]|0)>>>0)ta();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=2980+(g<<1<<2)|0;do{if((e|0)!=(d|0)){if(e>>>0>>0)ta();if((c[e+12>>2]|0)==(b|0))break;ta()}}while(0);if((f|0)==(e|0)){c[735]=c[735]&~(1<>>0>>0)ta();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}ta()}}while(0);c[e+12>>2]=f;c[F>>2]=e}}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0>=(c[739]|0)>>>0){K=b;L=a;break}ta()}}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do{if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}}while(0);b=3244+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[736]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do{if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b}while(0);b=M+8|0;a=c[b>>2]|0;L=c[739]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else ta()}else{M=(c[738]|0)+l|0;c[738]=M;c[741]=o;c[w+(m+4)>>2]=M|1}}while(0);M=w+(n|8)|0;return M|0}else d=3388;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[741]=w+d;c[738]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[742]=c[857];d=a+4|0;c[d>>2]=27;c[b>>2]=c[847];c[b+4>>2]=c[848];c[b+8>>2]=c[849];c[b+12>>2]=c[850];c[847]=w;c[848]=p;c[850]=0;c[849]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{G=b;H=a}}else{c[735]=d|b;G=2980+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=3244+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[736]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do{if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b}while(0);b=I+8|0;a=c[b>>2]|0;M=c[739]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else ta()}}else{M=c[739]|0;if((M|0)==0|w>>>0>>0)c[739]=w;c[847]=w;c[848]=p;c[850]=0;c[744]=c[853];c[743]=-1;b=0;do{M=b<<1;L=2980+(M<<2)|0;c[2980+(M+3<<2)>>2]=L;c[2980+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[741]=w+M;c[738]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[742]=c[857]}}while(0);b=c[738]|0;if(b>>>0>q>>>0){L=b-q|0;c[738]=L;M=c[741]|0;c[741]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(Bh()|0)>>2]=12;M=0;return M|0}function Gi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[739]|0;if(b>>>0>>0)ta();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)ta();o=d&-8;q=a+(o+-8)|0;do{if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)ta();if((l|0)==(c[740]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[737]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=2980+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)ta();if((c[e+12>>2]|0)!=(l|0))ta()}if((d|0)==(e|0)){c[735]=c[735]&~(1<>>0>>0)ta();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else ta()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do{if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)ta();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)ta();b=f+12|0;if((c[b>>2]|0)!=(l|0))ta();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else ta()}}while(0);if(h){b=c[a+(j+28)>>2]|0;d=3244+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[739]|0;if(k>>>0>>0)ta();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[k+16>>2]=b;c[b+24>>2]=k;break}}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}}while(0);if(u>>>0>=q>>>0)ta();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))ta();if(!(d&2)){if((q|0)==(c[741]|0)){t=(c[738]|0)+g|0;c[738]=t;c[741]=u;c[u+4>>2]=t|1;if((u|0)!=(c[740]|0))return;c[740]=0;c[737]=0;return}if((q|0)==(c[740]|0)){t=(c[737]|0)+g|0;c[737]=t;c[740]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do{if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do{if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[739]|0)>>>0)ta();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[739]|0)>>>0)ta();e=d+12|0;if((c[e>>2]|0)!=(q|0))ta();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else ta()}}while(0);if(h){b=c[a+(o+20)>>2]|0;d=3244+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[739]|0;if(p>>>0>>0)ta();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[p+16>>2]=b;c[b+24>>2]=p;break}}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=2980+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[739]|0)>>>0)ta();if((c[e+12>>2]|0)!=(q|0))ta()}if((d|0)==(e|0)){c[735]=c[735]&~(1<>>0<(c[739]|0)>>>0)ta();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else ta()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[740]|0)){c[737]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=2980+(d<<2)|0;e=c[735]|0;b=1<>2]|0;if(d>>>0<(c[739]|0)>>>0)ta();else{r=b;s=d}}else{c[735]=e|b;r=2980+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=3244+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[736]|0;e=1<>2]|0;b:do{if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[739]|0)>>>0)ta();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b}while(0);b=t+8|0;d=c[b>>2]|0;s=c[739]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else ta()}else{c[736]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}}while(0);u=(c[743]|0)+-1|0;c[743]=u;if(!u)b=3396;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[743]=-1;return}function Hi(a,b){a=a|0;b=b|0;var d=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Fi(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;Qi(b|0,0,d|0)|0;return b|0}function Ii(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Fi(b)|0;return a|0}if(b>>>0>4294967231){c[(Bh()|0)>>2]=12;a=0;return a|0}d=Ki(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=Fi(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;Ui(d|0,a|0,(e>>>0>>0?e:b)|0)|0;Gi(a);a=d;return a|0}function Ji(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;do{if((b|0)!=8){e=b>>>2;if((b&3|0)!=0|(e|0)==0){a=22;return a|0}if(e+1073741823&e){a=22;return a|0}if((-64-b|0)>>>0>>0){a=12;return a|0}else{e=Li(b>>>0<16?16:b,d)|0;break}}else e=Fi(d)|0}while(0);if(!e){a=12;return a|0}c[a>>2]=e;a=0;return a|0}function Ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[739]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))ta();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))ta();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[855]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;Mi(a+b|0,d);return a|0}if((l|0)==(c[741]|0)){d=(c[738]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[741]=a+b;c[738]=n;return a|0}if((l|0)==(c[740]|0)){e=(c[737]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[737]=d;c[740]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do{if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do{if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)ta();d=f+12|0;if((c[d>>2]|0)!=(l|0))ta();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else ta()}}while(0);if(h){d=c[a+(j+28)>>2]|0;e=3244+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[739]|0;if(k>>>0>>0)ta();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do{if(d)if(d>>>0>>0)ta();else{c[k+16>>2]=d;c[d+24>>2]=k;break}}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(l|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else ta()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;Mi(a+b|0,n);return a|0}return 0}function Li(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0<16?16:a;if(a+-1&a){d=16;while(1)if(d>>>0>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(Bh()|0)>>2]=12;i=0;return i|0}h=b>>>0<11?16:b+11&-8;e=Fi(h+12+a|0)|0;if(!e){i=0;return i|0}b=e+-8|0;d=a+-1|0;do{if(e&d){f=e+d&0-a;d=f+-8|0;g=b;f=(d-g|0)>>>0>15?d:f+(a+-8)|0;g=f-g|0;a=e+-4|0;e=c[a>>2]|0;d=(e&-8)-g|0;if(!(e&3)){c[f>>2]=(c[b>>2]|0)+g;c[f+4>>2]=d;b=f;break}else{e=f+4|0;c[e>>2]=d|c[e>>2]&1|2;d=f+(d+4)|0;c[d>>2]=c[d>>2]|1;c[a>>2]=g|c[a>>2]&1|2;c[e>>2]=c[e>>2]|1;Mi(b,g);b=f;break}}}while(0);a=b+4|0;d=c[a>>2]|0;if((d&3|0)!=0?(i=d&-8,i>>>0>(h+16|0)>>>0):0){g=i-h|0;c[a>>2]=h|d&1|2;c[b+(h|4)>>2]=g|3;i=b+(i|4)|0;c[i>>2]=c[i>>2]|1;Mi(b+h|0,g)}i=b+8|0;return i|0}function Mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do{if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[739]|0;if(n>>>0>>0)ta();if((n|0)==(c[740]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[737]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(n|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else ta()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do{if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)ta();d=g+12|0;if((c[d>>2]|0)!=(n|0))ta();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else ta()}}while(0);if(i){d=c[a+(28-k)>>2]|0;e=3244+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[739]|0;if(l>>>0>>0)ta();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do{if(e)if(e>>>0>>0)ta();else{c[l+16>>2]=e;c[e+24>>2]=l;break}}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}}while(0);j=c[739]|0;if(q>>>0>>0)ta();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[741]|0)){s=(c[738]|0)+h|0;c[738]=s;c[741]=t;c[t+4>>2]=s|1;if((t|0)!=(c[740]|0))return;c[740]=0;c[737]=0;return}if((q|0)==(c[740]|0)){s=(c[737]|0)+h|0;c[737]=s;c[740]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do{if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do{if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)ta();d=g+12|0;if((c[d>>2]|0)!=(q|0))ta();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else ta()}}while(0);if(i){d=c[a+(b+28)>>2]|0;e=3244+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[739]|0;if(p>>>0>>0)ta();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do{if(d)if(d>>>0>>0)ta();else{c[p+16>>2]=d;c[d+24>>2]=p;break}}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(q|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else ta()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[740]|0)){c[737]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=2980+(e<<2)|0;f=c[735]|0;d=1<>2]|0;if(e>>>0<(c[739]|0)>>>0)ta();else{r=d;s=e}}else{c[735]=f|d;r=2980+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=3244+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[736]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do{if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[739]|0)>>>0)ta();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}}while(0);e=d+8|0;f=c[e>>2]|0;s=c[739]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))ta();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function Ni(){}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return(C=d,a-c>>>0|0)|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<>c-32|0}function Qi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>>0;return(C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Ui(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return ya(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function Vi(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[m+(b>>>24)>>0]|0)+24|0}function Wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return(C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Oi(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return Oi((aj(h,g,Oi(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function Yi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=Oi(h^a,g^b,h,g)|0;b=C;aj(a,b,Oi(l^d,k^e,l,k)|0,C,j)|0;e=Oi(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return(C=d,e)|0}function Zi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=Wi(e,f)|0;a=C;return(C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function _i(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return aj(a,b,c,d,0)|0}function $i(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;aj(a,b,d,e,f)|0;i=g;return(C=c[f+4>>2]|0,c[f>>2]|0)|0}function aj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return(C=n,f)|0}else{if(!g){n=0;f=0;return(C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return(C=n,f)|0}}g=(i|0)==0;do{if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return(C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return(C=o,p)|0}else{p=Vi(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return(C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return(C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return(C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Vi(i|0)|0)>>>0);return(C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return(C=o,p)|0}}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Si(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;Oi(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Oi(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return(C=o,p)|0}function bj(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Qa[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function cj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ra[a&63](b|0,c|0,d|0)|0}function dj(a,b){a=a|0;b=b|0;return+Sa[a&3](b|0)}function ej(a,b){a=a|0;b=b|0;Ta[a&7](b|0)}function fj(a,b,c){a=a|0;b=b|0;c=c|0;Ua[a&7](b|0,c|0)}function gj(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Va[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function hj(a,b){a=a|0;b=b|0;return Wa[a&15](b|0)|0}function ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Xa[a&15](b|0,c|0,d|0)}function jj(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return Ya[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function kj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Za[a&63](b|0,c|0,d|0,e|0)|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;return _a[a&7](b|0,c|0)|0}function mj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return $a[a&3](b|0,c|0,d|0,e|0,f|0)|0}function nj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ab[a&3](b|0,c|0,d|0,e|0)}function oj(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ba(0);return 0}function pj(a,b,c){a=a|0;b=b|0;c=c|0;ba(1);return 0}function qj(a){a=a|0;ba(2);return 0.0}function rj(a){a=a|0;ba(3)}function sj(a,b){a=a|0;b=b|0;ba(4)}function tj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(5);return 0}function uj(a){a=a|0;ba(6);return 0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;ba(7)}function wj(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;ba(8);return 0}function xj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(9);return 0}function yj(a,b){a=a|0;b=b|0;ba(10);return 0}function zj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(11);return 0}function Aj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(12)}var Qa=[oj,ed,We,oj];var Ra=[pj,Bi,Vh,Th,Ab,Bb,Cb,Db,Hc,Ic,Kc,$c,nd,Oe,af,od,pd,Ne,Pe,Lc,Mc,Nc,Oc,td,ud,vd,wd,yd,zd,Bd,Cd,Dd,Ed,Fd,Gd,Hd,Id,Jd,Kd,Ld,Md,Nd,Od,Pd,Qd,Rd,Sd,Td,Ud,Vd,Wd,Xd,ef,ff,gf,hf,jf,kf,lf,mf,Sh,Uh,pj,pj];var Sa=[qj,Yd,Zd,qj];var Ta=[rj,Yc,Ve,gg,hg,xi,yi,rj];var Ua=[sj,mb,nb,ob,Wb,Wc,Le,sj];var Va=[tj,dd,Ue,rd,Te,tj,tj,tj];var Wa=[uj,Rh,jd,kd,$e,_e,Yh,Kg,Hg,uj,uj,uj,uj,uj,uj,uj];var Xa=[vj,Ge,He,Ie,Je,Ae,Be,Ce,De,we,xe,ye,ze,gd,Ze,vj];var Ya=[wj,cd,Se,wj];var Za=[xj,de,ee,fe,ge,he,ie,je,ke,le,me,ne,oe,pe,qe,re,se,te,ue,ve,xf,yf,zf,rf,sf,tf,uf,vf,wf,wb,xb,yb,zb,ld,ad,Ke,Re,qd,Zc,Qe,Me,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj];var _a=[yj,Jc,nf,of,pf,qf,yj,yj];var $a=[zj,md,Xe,zj];var ab=[Aj,Og,Rg,Aj];return{_opj_stream_destroy:Fb,_opj_stream_set_read_function:Gb,_opj_read_tile_header:mc,_opj_set_warning_handler:cc,_opj_destroy_cstr_info:Cc,_opj_image_create:Yb,_opj_set_error_handler:dc,_opj_stream_set_user_data:Kb,_opj_end_decompress:wc,_bitshift64Lshr:Ti,_opj_stream_set_seek_function:Hb,_opj_decode:kc,_opj_set_decoded_resolution_factor:pc,_i64Add:Si,_opj_stream_create_default_file_stream:Fc,_opj_set_default_decoder_parameters:hc,_bitshift64Ashr:Pi,_opj_get_decoded_tile:oc,_memset:Qi,_opj_version:fc,_memcpy:Ui,_opj_destroy_cstr_index:Ec,_opj_stream_set_user_data_length:Lb,_opj_stream_set_skip_function:Jb,_opj_image_destroy:Zb,_opj_stream_create_file_stream:Gc,_opj_setup_encoder:sc,_opj_stream_default_create:Eb,_bitshift64Shl:Ri,_opj_stream_create:vb,_jp2_version:lb,_i64Subtract:Oi,_opj_get_cstr_index:Dc,_opj_encode:uc,_opj_read_header:jc,_opj_get_cstr_info:Bc,_opj_set_default_encoder_parameters:rc,_opj_set_decode_area:lc,_opj_stream_set_write_function:Ib,_opj_dump_codec:Ac,_opj_create_decompress:gc,_opj_decode_tile_data:nc,_free:Gi,_opj_image_tile_create:ac,_opj_set_MCT:xc,_opj_set_info_handler:bc,_opj_start_compress:tc,_opj_write_tile:yc,_opj_setup_decoder:ic,_malloc:Fi,_opj_end_compress:vc,_opj_destroy_codec:zc,_jp2_decode:kb,_opj_stream_create_buffer_stream:ec,_opj_create_compress:qc,runPostSets:Ni,stackAlloc:bb,stackSave:cb,stackRestore:db,establishStackSpace:eb,setThrew:fb,setTempRet0:ib,getTempRet0:jb,dynCall_iiiiiiii:bj,dynCall_iiii:cj,dynCall_di:dj,dynCall_vi:ej,dynCall_vii:fj,dynCall_iiiiiii:gj,dynCall_ii:hj,dynCall_viii:ij,dynCall_iiiiiiiiiiii:jj,dynCall_iiiii:kj,dynCall_iii:lj,dynCall_iiiiii:mj,dynCall_viiii:nj}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _opj_stream_destroy=Module["_opj_stream_destroy"]=asm["_opj_stream_destroy"];var _opj_stream_set_read_function=Module["_opj_stream_set_read_function"]=asm["_opj_stream_set_read_function"];var _opj_read_tile_header=Module["_opj_read_tile_header"]=asm["_opj_read_tile_header"];var _opj_set_warning_handler=Module["_opj_set_warning_handler"]=asm["_opj_set_warning_handler"];var _opj_destroy_cstr_info=Module["_opj_destroy_cstr_info"]=asm["_opj_destroy_cstr_info"];var _opj_image_create=Module["_opj_image_create"]=asm["_opj_image_create"];var _opj_set_error_handler=Module["_opj_set_error_handler"]=asm["_opj_set_error_handler"];var _opj_image_tile_create=Module["_opj_image_tile_create"]=asm["_opj_image_tile_create"];var _opj_end_decompress=Module["_opj_end_decompress"]=asm["_opj_end_decompress"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _opj_stream_set_seek_function=Module["_opj_stream_set_seek_function"]=asm["_opj_stream_set_seek_function"];var _opj_decode=Module["_opj_decode"]=asm["_opj_decode"];var _opj_set_decoded_resolution_factor=Module["_opj_set_decoded_resolution_factor"]=asm["_opj_set_decoded_resolution_factor"];var _opj_stream_create_default_file_stream=Module["_opj_stream_create_default_file_stream"]=asm["_opj_stream_create_default_file_stream"];var _opj_encode=Module["_opj_encode"]=asm["_opj_encode"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _opj_get_decoded_tile=Module["_opj_get_decoded_tile"]=asm["_opj_get_decoded_tile"];var _memset=Module["_memset"]=asm["_memset"];var _opj_version=Module["_opj_version"]=asm["_opj_version"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _opj_destroy_cstr_index=Module["_opj_destroy_cstr_index"]=asm["_opj_destroy_cstr_index"];var _opj_stream_set_user_data_length=Module["_opj_stream_set_user_data_length"]=asm["_opj_stream_set_user_data_length"];var _opj_stream_set_skip_function=Module["_opj_stream_set_skip_function"]=asm["_opj_stream_set_skip_function"];var _opj_image_destroy=Module["_opj_image_destroy"]=asm["_opj_image_destroy"];var _opj_stream_create_file_stream=Module["_opj_stream_create_file_stream"]=asm["_opj_stream_create_file_stream"];var _opj_setup_encoder=Module["_opj_setup_encoder"]=asm["_opj_setup_encoder"];var _opj_stream_default_create=Module["_opj_stream_default_create"]=asm["_opj_stream_default_create"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _opj_stream_create=Module["_opj_stream_create"]=asm["_opj_stream_create"];var _jp2_version=Module["_jp2_version"]=asm["_jp2_version"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _opj_get_cstr_index=Module["_opj_get_cstr_index"]=asm["_opj_get_cstr_index"];var _opj_set_default_decoder_parameters=Module["_opj_set_default_decoder_parameters"]=asm["_opj_set_default_decoder_parameters"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _opj_get_cstr_info=Module["_opj_get_cstr_info"]=asm["_opj_get_cstr_info"];var _opj_set_default_encoder_parameters=Module["_opj_set_default_encoder_parameters"]=asm["_opj_set_default_encoder_parameters"];var _opj_set_decode_area=Module["_opj_set_decode_area"]=asm["_opj_set_decode_area"];var _opj_stream_set_write_function=Module["_opj_stream_set_write_function"]=asm["_opj_stream_set_write_function"];var _opj_dump_codec=Module["_opj_dump_codec"]=asm["_opj_dump_codec"];var _opj_read_header=Module["_opj_read_header"]=asm["_opj_read_header"];var _opj_create_decompress=Module["_opj_create_decompress"]=asm["_opj_create_decompress"];var _opj_decode_tile_data=Module["_opj_decode_tile_data"]=asm["_opj_decode_tile_data"];var _opj_set_info_handler=Module["_opj_set_info_handler"]=asm["_opj_set_info_handler"];var _opj_stream_set_user_data=Module["_opj_stream_set_user_data"]=asm["_opj_stream_set_user_data"];var _opj_set_MCT=Module["_opj_set_MCT"]=asm["_opj_set_MCT"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _opj_start_compress=Module["_opj_start_compress"]=asm["_opj_start_compress"];var _opj_write_tile=Module["_opj_write_tile"]=asm["_opj_write_tile"];var _opj_setup_decoder=Module["_opj_setup_decoder"]=asm["_opj_setup_decoder"];var _malloc=Module["_malloc"]=asm["_malloc"];var _opj_end_compress=Module["_opj_end_compress"]=asm["_opj_end_compress"];var _opj_destroy_codec=Module["_opj_destroy_codec"]=asm["_opj_destroy_codec"];var _jp2_decode=Module["_jp2_decode"]=asm["_jp2_decode"];var _opj_stream_create_buffer_stream=Module["_opj_stream_create_buffer_stream"]=asm["_opj_stream_create_buffer_stream"];var _opj_create_compress=Module["_opj_create_compress"]=asm["_opj_create_compress"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=asm["dynCall_iiiiiiiiiiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",function(){process["exit"](status)});console.log(" ");setTimeout(function(){process["exit"](status)},500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach(function(decorator){output=decorator(output,what)})}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run();return Module};!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.pako=t()}}(function(){return function t(e,a,i){function n(s,o){if(!a[s]){if(!e[s]){var l="function"==typeof require&&require;if(!o&&l)return l(s,!0);if(r)return r(s,!0);var h=new Error("Cannot find module '"+s+"'");throw h.code="MODULE_NOT_FOUND",h}var d=a[s]={exports:{}};e[s][0].call(d.exports,function(t){var a=e[s][1][t];return n(a?a:t)},d,d.exports,t,e,a,i)}return a[s].exports}for(var r="function"==typeof require&&require,s=0;s0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new d,this.strm.avail_out=0;var a=s.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==c)throw new Error(h[a]);e.header&&s.deflateSetHeader(this.strm,e.header)};v.prototype.push=function(t,e){var a,i,n=this.strm,r=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:e===!0?u:_,"string"==typeof t?n.input=l.string2buf(t):"[object ArrayBuffer]"===f.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new o.Buf8(r),n.next_out=0,n.avail_out=r),a=s.deflate(n,i),a!==b&&a!==c)return this.onEnd(a),this.ended=!0,!1;(0===n.avail_out||0===n.avail_in&&(i===u||i===g))&&this.onData("string"===this.options.to?l.buf2binstring(o.shrinkBuf(n.output,n.next_out)):o.shrinkBuf(n.output,n.next_out))}while((n.avail_in>0||0===n.avail_out)&&a!==b);return i===u?(a=s.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===c):i===g?(this.onEnd(c),n.avail_out=0,!0):!0},v.prototype.onData=function(t){this.chunks.push(t)},v.prototype.onEnd=function(t){t===c&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Deflate=v,a.deflate=i,a.deflateRaw=n,a.gzip=r},{"./utils/common":3,"./utils/strings":4,"./zlib/deflate.js":8,"./zlib/messages":13,"./zlib/zstream":15}],2:[function(t,e,a){"use strict";function i(t,e){var a=new u(e);if(a.push(t,!0),a.err)throw a.msg;return a.result}function n(t,e){return e=e||{},e.raw=!0,i(t,e)}var r=t("./zlib/inflate.js"),s=t("./utils/common"),o=t("./utils/strings"),l=t("./zlib/constants"),h=t("./zlib/messages"),d=t("./zlib/zstream"),f=t("./zlib/gzheader"),_=Object.prototype.toString,u=function(t){this.options=s.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0===(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new d,this.strm.avail_out=0;var a=r.inflateInit2(this.strm,e.windowBits);if(a!==l.Z_OK)throw new Error(h[a]);this.header=new f,r.inflateGetHeader(this.strm,this.header)};u.prototype.push=function(t,e){var a,i,n,h,d,f=this.strm,u=this.options.chunkSize,c=!1;if(this.ended)return!1;i=e===~~e?e:e===!0?l.Z_FINISH:l.Z_NO_FLUSH,"string"==typeof t?f.input=o.binstring2buf(t):"[object ArrayBuffer]"===_.call(t)?f.input=new Uint8Array(t):f.input=t,f.next_in=0,f.avail_in=f.input.length;do{if(0===f.avail_out&&(f.output=new s.Buf8(u),f.next_out=0,f.avail_out=u),a=r.inflate(f,l.Z_NO_FLUSH),a===l.Z_BUF_ERROR&&c===!0&&(a=l.Z_OK,c=!1),a!==l.Z_STREAM_END&&a!==l.Z_OK)return this.onEnd(a),this.ended=!0,!1;f.next_out&&(0===f.avail_out||a===l.Z_STREAM_END||0===f.avail_in&&(i===l.Z_FINISH||i===l.Z_SYNC_FLUSH))&&("string"===this.options.to?(n=o.utf8border(f.output,f.next_out),h=f.next_out-n,d=o.buf2string(f.output,n),f.next_out=h,f.avail_out=u-h,h&&s.arraySet(f.output,f.output,n,h,0),this.onData(d)):this.onData(s.shrinkBuf(f.output,f.next_out))),0===f.avail_in&&0===f.avail_out&&(c=!0)}while((f.avail_in>0||0===f.avail_out)&&a!==l.Z_STREAM_END);return a===l.Z_STREAM_END&&(i=l.Z_FINISH),i===l.Z_FINISH?(a=r.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===l.Z_OK):i===l.Z_SYNC_FLUSH?(this.onEnd(l.Z_OK),f.avail_out=0,!0):!0},u.prototype.onData=function(t){this.chunks.push(t)},u.prototype.onEnd=function(t){t===l.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=s.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Inflate=u,a.inflate=i,a.inflateRaw=n,a.ungzip=i},{"./utils/common":3,"./utils/strings":4,"./zlib/constants":6,"./zlib/gzheader":9,"./zlib/inflate.js":11,"./zlib/messages":13,"./zlib/zstream":15}],3:[function(t,e,a){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;a.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(var i in a)a.hasOwnProperty(i)&&(t[i]=a[i])}}return t},a.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,a,i,n){if(e.subarray&&t.subarray)return void t.set(e.subarray(a,a+i),n);for(var r=0;i>r;r++)t[n+r]=e[a+r]},flattenChunks:function(t){var e,a,i,n,r,s;for(i=0,e=0,a=t.length;a>e;e++)i+=t[e].length;for(s=new Uint8Array(i),n=0,e=0,a=t.length;a>e;e++)r=t[e],s.set(r,n),n+=r.length;return s}},r={arraySet:function(t,e,a,i,n){for(var r=0;i>r;r++)t[n+r]=e[a+r]},flattenChunks:function(t){return[].concat.apply([],t)}};a.setTyped=function(t){t?(a.Buf8=Uint8Array,a.Buf16=Uint16Array,a.Buf32=Int32Array,a.assign(a,n)):(a.Buf8=Array,a.Buf16=Array,a.Buf32=Array,a.assign(a,r))},a.setTyped(i)},{}],4:[function(t,e,a){"use strict";function i(t,e){if(65537>e&&(t.subarray&&s||!t.subarray&&r))return String.fromCharCode.apply(null,n.shrinkBuf(t,e));for(var a="",i=0;e>i;i++)a+=String.fromCharCode(t[i]);return a}var n=t("./common"),r=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(o){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(o){s=!1}for(var l=new n.Buf8(256),h=0;256>h;h++)l[h]=h>=252?6:h>=248?5:h>=240?4:h>=224?3:h>=192?2:1;l[254]=l[254]=1,a.string2buf=function(t){var e,a,i,r,s,o=t.length,l=0;for(r=0;o>r;r++)a=t.charCodeAt(r),55296===(64512&a)&&o>r+1&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),l+=128>a?1:2048>a?2:65536>a?3:4;for(e=new n.Buf8(l),s=0,r=0;l>s;r++)a=t.charCodeAt(r),55296===(64512&a)&&o>r+1&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),128>a?e[s++]=a:2048>a?(e[s++]=192|a>>>6,e[s++]=128|63&a):65536>a?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},a.buf2binstring=function(t){return i(t,t.length)},a.binstring2buf=function(t){for(var e=new n.Buf8(t.length),a=0,i=e.length;i>a;a++)e[a]=t.charCodeAt(a);return e},a.buf2string=function(t,e){var a,n,r,s,o=e||t.length,h=new Array(2*o);for(n=0,a=0;o>a;)if(r=t[a++],128>r)h[n++]=r;else if(s=l[r],s>4)h[n++]=65533,a+=s-1;else{for(r&=2===s?31:3===s?15:7;s>1&&o>a;)r=r<<6|63&t[a++],s--;s>1?h[n++]=65533:65536>r?h[n++]=r:(r-=65536,h[n++]=55296|r>>10&1023,h[n++]=56320|1023&r)}return i(h,n)},a.utf8border=function(t,e){var a;for(e=e||t.length,e>t.length&&(e=t.length),a=e-1;a>=0&&128===(192&t[a]);)a--;return 0>a?e:0===a?e:a+l[t[a]]>e?a:e}},{"./common":3}],5:[function(t,e,a){"use strict";function i(t,e,a,i){for(var n=65535&t|0,r=t>>>16&65535|0,s=0;0!==a;){s=a>2e3?2e3:a,a-=s;do{n=n+e[i++]|0,r=r+n|0}while(--s);n%=65521,r%=65521}return n|r<<16|0}e.exports=i},{}],6:[function(t,e,a){e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(t,e,a){"use strict";function i(){for(var t,e=[],a=0;256>a;a++){t=a;for(var i=0;8>i;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e}function n(t,e,a,i){var n=r,s=i+a;t=-1^t;for(var o=i;s>o;o++)t=t>>>8^n[255&(t^e[o])];return-1^t}var r=i();e.exports=n},{}],8:[function(t,e,a){"use strict";function i(t,e){return t.msg=N[e],e}function n(t){return(t<<1)-(t>4?9:0)}function r(t){for(var e=t.length;--e>=0;)t[e]=0}function s(t){var e=t.state,a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(A.arraySet(t.output,e.pending_buf,e.pending_out,a,t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))}function o(t,e){Z._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,s(t.strm)}function l(t,e){t.pending_buf[t.pending++]=e}function h(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function d(t,e,a,i){var n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,A.arraySet(e,t.input,t.next_in,n,a),1===t.state.wrap?t.adler=R(t.adler,e,n,a):2===t.state.wrap&&(t.adler=C(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n)}function f(t,e){var a,i,n=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-ht?t.strstart-(t.w_size-ht):0,h=t.window,d=t.w_mask,f=t.prev,_=t.strstart+lt,u=h[r+s-1],c=h[r+s];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(a=e,h[a+s]===c&&h[a+s-1]===u&&h[a]===h[r]&&h[++a]===h[r+1]){r+=2,a++;do{}while(h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&_>r);if(i=lt-(_-r),r=_-lt,i>s){if(t.match_start=e,s=i,i>=o)break;u=h[r+s-1],c=h[r+s]}}}while((e=f[e&d])>l&&0!==--n);return s<=t.lookahead?s:t.lookahead}function _(t){var e,a,i,n,r,s=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=s+(s-ht)){A.arraySet(t.window,t.window,s,s,0),t.match_start-=s,t.strstart-=s,t.block_start-=s,a=t.hash_size,e=a;do{i=t.head[--e],t.head[e]=i>=s?i-s:0}while(--a);a=s,e=a;do{i=t.prev[--e],t.prev[e]=i>=s?i-s:0}while(--a);n+=s}if(0===t.strm.avail_in)break;if(a=d(t.strm,t.window,t.strstart+t.lookahead,n),t.lookahead+=a,t.lookahead+t.insert>=ot)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=(t.ins_h<t.pending_buf_size-5&&(a=t.pending_buf_size-5);;){if(t.lookahead<=1){if(_(t),0===t.lookahead&&e===O)return wt;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+a;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,o(t,!1),0===t.strm.avail_out))return wt;if(t.strstart-t.block_start>=t.w_size-ht&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?vt:kt):t.strstart>t.block_start&&(o(t,!1),0===t.strm.avail_out)?wt:wt}function c(t,e){for(var a,i;;){if(t.lookahead=ot&&(t.ins_h=(t.ins_h<=ot)if(i=Z._tr_tally(t,t.strstart-t.match_start,t.match_length-ot),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=ot){t.match_length--;do{t.strstart++,t.ins_h=(t.ins_h<=ot&&(t.ins_h=(t.ins_h<4096)&&(t.match_length=ot-1)),t.prev_length>=ot&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-ot,i=Z._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-ot),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=(t.ins_h<=ot&&t.strstart>0&&(n=t.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){r=t.strstart+lt;do{}while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&r>n);t.match_length=lt-(r-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=ot?(a=Z._tr_tally(t,1,t.match_length-ot),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=Z._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?vt:kt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:pt}function m(t,e){for(var a;;){if(0===t.lookahead&&(_(t),0===t.lookahead)){if(e===O)return wt;break}if(t.match_length=0,a=Z._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?vt:kt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:pt}function w(t){t.window_size=2*t.w_size,r(t.head),t.max_lazy_match=E[t.level].max_lazy,t.good_match=E[t.level].good_length,t.nice_match=E[t.level].nice_length,t.max_chain_length=E[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=ot-1,t.match_available=0,t.ins_h=0}function p(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=J,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new A.Buf16(2*rt),this.dyn_dtree=new A.Buf16(2*(2*it+1)),this.bl_tree=new A.Buf16(2*(2*nt+1)),r(this.dyn_ltree),r(this.dyn_dtree),r(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new A.Buf16(st+1),this.heap=new A.Buf16(2*at+1),r(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new A.Buf16(2*at+1),r(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function v(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=W,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?ft:gt,t.adler=2===e.wrap?0:1,e.last_flush=O,Z._tr_init(e),D):i(t,H)}function k(t){var e=v(t);return e===D&&w(t.state),e}function x(t,e){return t&&t.state?2!==t.state.wrap?H:(t.state.gzhead=e,D):H}function y(t,e,a,n,r,s){if(!t)return H;var o=1;if(e===M&&(e=6),0>n?(o=0,n=-n):n>15&&(o=2,n-=16),1>r||r>Q||a!==J||8>n||n>15||0>e||e>9||0>s||s>G)return i(t,H);8===n&&(n=9);var l=new p;return t.state=l,l.strm=t,l.wrap=o,l.gzhead=null,l.w_bits=n,l.w_size=1<>1,l.l_buf=3*l.lit_bufsize,l.level=e,l.strategy=s,l.method=a,k(t)}function z(t,e){return y(t,e,J,V,$,X)}function B(t,e){var a,o,d,f;if(!t||!t.state||e>T||0>e)return t?i(t,H):H;if(o=t.state,!t.output||!t.input&&0!==t.avail_in||o.status===mt&&e!==F)return i(t,0===t.avail_out?K:H);if(o.strm=t,a=o.last_flush,o.last_flush=e,o.status===ft)if(2===o.wrap)t.adler=0,l(o,31),l(o,139),l(o,8),o.gzhead?(l(o,(o.gzhead.text?1:0)+(o.gzhead.hcrc?2:0)+(o.gzhead.extra?4:0)+(o.gzhead.name?8:0)+(o.gzhead.comment?16:0)),l(o,255&o.gzhead.time),l(o,o.gzhead.time>>8&255),l(o,o.gzhead.time>>16&255),l(o,o.gzhead.time>>24&255),l(o,9===o.level?2:o.strategy>=Y||o.level<2?4:0),l(o,255&o.gzhead.os),o.gzhead.extra&&o.gzhead.extra.length&&(l(o,255&o.gzhead.extra.length),l(o,o.gzhead.extra.length>>8&255)),o.gzhead.hcrc&&(t.adler=C(t.adler,o.pending_buf,o.pending,0)),o.gzindex=0,o.status=_t):(l(o,0),l(o,0),l(o,0),l(o,0),l(o,0),l(o,9===o.level?2:o.strategy>=Y||o.level<2?4:0),l(o,xt),o.status=gt);else{var _=J+(o.w_bits-8<<4)<<8,u=-1;u=o.strategy>=Y||o.level<2?0:o.level<6?1:6===o.level?2:3,_|=u<<6,0!==o.strstart&&(_|=dt),_+=31-_%31,o.status=gt,h(o,_),0!==o.strstart&&(h(o,t.adler>>>16),h(o,65535&t.adler)),t.adler=1}if(o.status===_t)if(o.gzhead.extra){for(d=o.pending;o.gzindex<(65535&o.gzhead.extra.length)&&(o.pending!==o.pending_buf_size||(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending!==o.pending_buf_size));)l(o,255&o.gzhead.extra[o.gzindex]),o.gzindex++;o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),o.gzindex===o.gzhead.extra.length&&(o.gzindex=0,o.status=ut)}else o.status=ut;if(o.status===ut)if(o.gzhead.name){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindexd&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.gzindex=0,o.status=ct)}else o.status=ct;if(o.status===ct)if(o.gzhead.comment){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindexd&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.status=bt)}else o.status=bt;if(o.status===bt&&(o.gzhead.hcrc?(o.pending+2>o.pending_buf_size&&s(t),o.pending+2<=o.pending_buf_size&&(l(o,255&t.adler),l(o,t.adler>>8&255),t.adler=0,o.status=gt)):o.status=gt),0!==o.pending){if(s(t),0===t.avail_out)return o.last_flush=-1,D}else if(0===t.avail_in&&n(e)<=n(a)&&e!==F)return i(t,K);if(o.status===mt&&0!==t.avail_in)return i(t,K);if(0!==t.avail_in||0!==o.lookahead||e!==O&&o.status!==mt){var c=o.strategy===Y?m(o,e):o.strategy===q?g(o,e):E[o.level].func(o,e);if((c===vt||c===kt)&&(o.status=mt),c===wt||c===vt)return 0===t.avail_out&&(o.last_flush=-1),D;if(c===pt&&(e===I?Z._tr_align(o):e!==T&&(Z._tr_stored_block(o,0,0,!1),e===U&&(r(o.head),0===o.lookahead&&(o.strstart=0,o.block_start=0,o.insert=0))),s(t),0===t.avail_out))return o.last_flush=-1,D}return e!==F?D:o.wrap<=0?L:(2===o.wrap?(l(o,255&t.adler),l(o,t.adler>>8&255),l(o,t.adler>>16&255),l(o,t.adler>>24&255),l(o,255&t.total_in),l(o,t.total_in>>8&255),l(o,t.total_in>>16&255),l(o,t.total_in>>24&255)):(h(o,t.adler>>>16),h(o,65535&t.adler)),s(t),o.wrap>0&&(o.wrap=-o.wrap),0!==o.pending?D:L)}function S(t){var e;return t&&t.state?(e=t.state.status,e!==ft&&e!==_t&&e!==ut&&e!==ct&&e!==bt&&e!==gt&&e!==mt?i(t,H):(t.state=null,e===gt?i(t,j):D)):H}var E,A=t("../utils/common"),Z=t("./trees"),R=t("./adler32"),C=t("./crc32"),N=t("./messages"),O=0,I=1,U=3,F=4,T=5,D=0,L=1,H=-2,j=-3,K=-5,M=-1,P=1,Y=2,q=3,G=4,X=0,W=2,J=8,Q=9,V=15,$=8,tt=29,et=256,at=et+1+tt,it=30,nt=19,rt=2*at+1,st=15,ot=3,lt=258,ht=lt+ot+1,dt=32,ft=42,_t=69,ut=73,ct=91,bt=103,gt=113,mt=666,wt=1,pt=2,vt=3,kt=4,xt=3,yt=function(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n};E=[new yt(0,0,0,0,u),new yt(4,4,8,4,c),new yt(4,5,16,8,c),new yt(4,6,32,32,c),new yt(4,4,16,16,b),new yt(8,16,32,32,b),new yt(8,16,128,128,b),new yt(8,32,128,256,b),new yt(32,128,258,1024,b),new yt(32,258,258,4096,b)],a.deflateInit=z,a.deflateInit2=y,a.deflateReset=k,a.deflateResetKeep=v,a.deflateSetHeader=x,a.deflate=B,a.deflateEnd=S,a.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./messages":13,"./trees":14}],9:[function(t,e,a){"use strict";function i(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}e.exports=i},{}],10:[function(t,e,a){"use strict";var i=30,n=12;e.exports=function(t,e){var a,r,s,o,l,h,d,f,_,u,c,b,g,m,w,p,v,k,x,y,z,B,S,E,A;a=t.state,r=t.next_in,E=t.input,s=r+(t.avail_in-5),o=t.next_out,A=t.output,l=o-(e-t.avail_out),h=o+(t.avail_out-257),d=a.dmax,f=a.wsize,_=a.whave,u=a.wnext,c=a.window,b=a.hold,g=a.bits,m=a.lencode,w=a.distcode,p=(1<g&&(b+=E[r++]<>>24,b>>>=x,g-=x,x=k>>>16&255,0===x)A[o++]=65535&k;else{if(!(16&x)){if(0===(64&x)){k=m[(65535&k)+(b&(1<g&&(b+=E[r++]<>>=x,g-=x),15>g&&(b+=E[r++]<>>24,b>>>=x,g-=x,x=k>>>16&255,!(16&x)){if(0===(64&x)){k=w[(65535&k)+(b&(1<g&&(b+=E[r++]<g&&(b+=E[r++]<d){t.msg="invalid distance too far back",a.mode=i;break t}if(b>>>=x,g-=x,x=o-l,z>x){if(x=z-x,x>_&&a.sane){t.msg="invalid distance too far back",a.mode=i;break t}if(B=0,S=c,0===u){if(B+=f-x,y>x){y-=x;do{A[o++]=c[B++]}while(--x);B=o-z,S=A}}else if(x>u){if(B+=f+u-x,x-=u,y>x){y-=x;do{A[o++]=c[B++]}while(--x);if(B=0,y>u){x=u,y-=x;do{A[o++]=c[B++]}while(--x);B=o-z,S=A}}}else if(B+=u-x,y>x){y-=x;do{A[o++]=c[B++]}while(--x);B=o-z,S=A}for(;y>2;)A[o++]=S[B++],A[o++]=S[B++],A[o++]=S[B++],y-=3;y&&(A[o++]=S[B++],y>1&&(A[o++]=S[B++]))}else{B=o-z;do{A[o++]=A[B++],A[o++]=A[B++],A[o++]=A[B++],y-=3}while(y>2);y&&(A[o++]=A[B++],y>1&&(A[o++]=A[B++]))}break}}break}}while(s>r&&h>o);y=g>>3,r-=y,g-=y<<3,b&=(1<r?5+(s-r):5-(r-s),t.avail_out=h>o?257+(h-o):257-(o-h),a.hold=b,a.bits=g}},{}],11:[function(t,e,a){"use strict";function i(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function n(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new m.Buf16(320),this.work=new m.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function r(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=F,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new m.Buf32(ct),e.distcode=e.distdyn=new m.Buf32(bt),e.sane=1,e.back=-1,A):C}function s(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,r(t)):C}function o(t,e){var a,i;return t&&t.state?(i=t.state,0>e?(a=0,e=-e):(a=(e>>4)+1,48>e&&(e&=15)),e&&(8>e||e>15)?C:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,s(t))):C}function l(t,e){var a,i;return t?(i=new n,t.state=i,i.window=null,a=o(t,e),a!==A&&(t.state=null),a):C}function h(t){return l(t,mt)}function d(t){if(wt){var e;for(b=new m.Buf32(512),g=new m.Buf32(32),e=0;144>e;)t.lens[e++]=8;for(;256>e;)t.lens[e++]=9;for(;280>e;)t.lens[e++]=7;for(;288>e;)t.lens[e++]=8;for(k(y,t.lens,0,288,b,0,t.work,{bits:9}),e=0;32>e;)t.lens[e++]=5;k(z,t.lens,0,32,g,0,t.work,{bits:5}),wt=!1}t.lencode=b,t.lenbits=9,t.distcode=g,t.distbits=5}function f(t,e,a,i){var n,r=t.state;return null===r.window&&(r.wsize=1<=r.wsize?(m.arraySet(r.window,e,a-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(n=r.wsize-r.wnext,n>i&&(n=i),m.arraySet(r.window,e,a-i,n,r.wnext),i-=n,i?(m.arraySet(r.window,e,a-i,i,0),r.wnext=i,r.whave=r.wsize):(r.wnext+=n,r.wnext===r.wsize&&(r.wnext=0),r.whaveu;){if(0===l)break t;l--,_+=n[s++]<>>8&255,a.check=p(a.check,Et,2,0),_=0,u=0,a.mode=T;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&_)<<8)+(_>>8))%31){t.msg="incorrect header check",a.mode=ft;break}if((15&_)!==U){t.msg="unknown compression method",a.mode=ft;break}if(_>>>=4,u-=4,xt=(15&_)+8,0===a.wbits)a.wbits=xt;else if(xt>a.wbits){t.msg="invalid window size",a.mode=ft;break}a.dmax=1<u;){if(0===l)break t;l--,_+=n[s++]<>8&1),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0,a.mode=D;case D:for(;32>u;){if(0===l)break t;l--,_+=n[s++]<>>8&255,Et[2]=_>>>16&255,Et[3]=_>>>24&255,a.check=p(a.check,Et,4,0)),_=0,u=0,a.mode=L;case L:for(;16>u;){if(0===l)break t;l--,_+=n[s++]<>8),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0,a.mode=H;case H:if(1024&a.flags){for(;16>u;){if(0===l)break t;l--,_+=n[s++]<>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0}else a.head&&(a.head.extra=null);a.mode=j;case j:if(1024&a.flags&&(g=a.length,g>l&&(g=l),g&&(a.head&&(xt=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Array(a.head.extra_len)),m.arraySet(a.head.extra,n,s,g,xt)),512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,a.length-=g),a.length))break t;a.length=0,a.mode=K;case K:if(2048&a.flags){if(0===l)break t;g=0;do{xt=n[s+g++],a.head&&xt&&a.length<65536&&(a.head.name+=String.fromCharCode(xt))}while(xt&&l>g);if(512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,xt)break t}else a.head&&(a.head.name=null);a.length=0,a.mode=M;case M:if(4096&a.flags){if(0===l)break t;g=0;do{xt=n[s+g++],a.head&&xt&&a.length<65536&&(a.head.comment+=String.fromCharCode(xt))}while(xt&&l>g);if(512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,xt)break t}else a.head&&(a.head.comment=null);a.mode=P;case P:if(512&a.flags){for(;16>u;){if(0===l)break t;l--,_+=n[s++]<>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=G;break;case Y:for(;32>u;){if(0===l)break t;l--,_+=n[s++]<>>=7&u,u-=7&u,a.mode=lt;break}for(;3>u;){if(0===l)break t;l--,_+=n[s++]<>>=1,u-=1,3&_){case 0:a.mode=W;break;case 1:if(d(a),a.mode=et,e===E){_>>>=2,u-=2;break t}break;case 2:a.mode=V;break;case 3:t.msg="invalid block type",a.mode=ft}_>>>=2,u-=2;break;case W:for(_>>>=7&u,u-=7&u;32>u;){if(0===l)break t;l--,_+=n[s++]<>>16^65535)){t.msg="invalid stored block lengths",a.mode=ft;break}if(a.length=65535&_,_=0,u=0,a.mode=J,e===E)break t;case J:a.mode=Q;case Q:if(g=a.length){if(g>l&&(g=l),g>h&&(g=h),0===g)break t;m.arraySet(r,n,s,g,o),l-=g,s+=g,h-=g,o+=g,a.length-=g;break}a.mode=G;break;case V:for(;14>u;){if(0===l)break t;l--,_+=n[s++]<>>=5,u-=5,a.ndist=(31&_)+1,_>>>=5,u-=5,a.ncode=(15&_)+4,_>>>=4,u-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=ft;break}a.have=0,a.mode=$;case $:for(;a.haveu;){if(0===l)break t;l--,_+=n[s++]<>>=3,u-=3}for(;a.have<19;)a.lens[At[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,zt={bits:a.lenbits},yt=k(x,a.lens,0,19,a.lencode,0,a.work,zt),a.lenbits=zt.bits,yt){t.msg="invalid code lengths set",a.mode=ft;break}a.have=0,a.mode=tt;case tt:for(;a.have>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<wt)_>>>=gt,u-=gt,a.lens[a.have++]=wt;else{if(16===wt){for(Bt=gt+2;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=gt,u-=gt,0===a.have){t.msg="invalid bit length repeat",a.mode=ft;break}xt=a.lens[a.have-1],g=3+(3&_),_>>>=2,u-=2}else if(17===wt){for(Bt=gt+3;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=gt,u-=gt,xt=0,g=3+(7&_),_>>>=3,u-=3}else{for(Bt=gt+7;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=gt,u-=gt,xt=0,g=11+(127&_),_>>>=7,u-=7}if(a.have+g>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=ft;break}for(;g--;)a.lens[a.have++]=xt}}if(a.mode===ft)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=ft;break}if(a.lenbits=9,zt={bits:a.lenbits},yt=k(y,a.lens,0,a.nlen,a.lencode,0,a.work,zt),a.lenbits=zt.bits,yt){t.msg="invalid literal/lengths set",a.mode=ft;break}if(a.distbits=6,a.distcode=a.distdyn,zt={bits:a.distbits},yt=k(z,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,zt),a.distbits=zt.bits,yt){t.msg="invalid distances set",a.mode=ft;break}if(a.mode=et,e===E)break t;case et:a.mode=at;case at:if(l>=6&&h>=258){t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,v(t,b),o=t.next_out,r=t.output,h=t.avail_out,s=t.next_in,n=t.input,l=t.avail_in,_=a.hold,u=a.bits,a.mode===G&&(a.back=-1);break}for(a.back=0;St=a.lencode[_&(1<>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=pt+gt);){if(0===l)break t;l--,_+=n[s++]<>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,a.length=wt,0===mt){a.mode=ot;break}if(32&mt){a.back=-1,a.mode=G;break}if(64&mt){t.msg="invalid literal/length code",a.mode=ft;break}a.extra=15&mt,a.mode=it;case it:if(a.extra){for(Bt=a.extra;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=a.extra,u-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=nt;case nt:for(;St=a.distcode[_&(1<>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=pt+gt);){if(0===l)break t;l--,_+=n[s++]<>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,64&mt){t.msg="invalid distance code",a.mode=ft;break}a.offset=wt,a.extra=15&mt,a.mode=rt;case rt:if(a.extra){for(Bt=a.extra;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=a.extra,u-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=ft;break}a.mode=st;case st:if(0===h)break t;if(g=b-h,a.offset>g){if(g=a.offset-g,g>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=ft;break}g>a.wnext?(g-=a.wnext,ct=a.wsize-g):ct=a.wnext-g,g>a.length&&(g=a.length),bt=a.window}else bt=r,ct=o-a.offset,g=a.length;g>h&&(g=h),h-=g,a.length-=g;do{r[o++]=bt[ct++]}while(--g);0===a.length&&(a.mode=at);break;case ot:if(0===h)break t;r[o++]=a.length,h--,a.mode=at;break;case lt:if(a.wrap){for(;32>u;){if(0===l)break t;l--,_|=n[s++]<u;){if(0===l)break t;l--,_+=n[s++]<=Z;Z++)j[Z]=0;for(R=0;c>R;R++)j[e[a+R]]++;for(O=A,N=n;N>=1&&0===j[N];N--);if(O>N&&(O=N),0===N)return b[g++]=20971520,b[g++]=20971520,w.bits=1,0;for(C=1;N>C&&0===j[C];C++);for(C>O&&(O=C),F=1,Z=1;n>=Z;Z++)if(F<<=1,F-=j[Z],0>F)return-1;if(F>0&&(t===o||1!==N))return-1;for(K[1]=0,Z=1;n>Z;Z++)K[Z+1]=K[Z]+j[Z];for(R=0;c>R;R++)0!==e[a+R]&&(m[K[e[a+R]]++]=R);if(t===o?(L=M=m,z=19):t===l?(L=d,H-=257,M=f,P-=257,z=256):(L=_,M=u,z=-1),D=0,R=0,Z=C,y=g,I=O,U=0,k=-1,T=1<r||t===h&&T>s)return 1;for(var Y=0;;){Y++,B=Z-U,m[R]z?(S=M[P+m[R]],E=L[H+m[R]]):(S=96,E=0),p=1<>U)+v]=B<<24|S<<16|E|0}while(0!==v);for(p=1<>=1;if(0!==p?(D&=p-1,D+=p):D=0,R++,0===--j[Z]){if(Z===N)break;Z=e[a+m[R]]}if(Z>O&&(D&x)!==k){for(0===U&&(U=O),y+=C,I=Z-U,F=1<I+U&&(F-=j[I+U],!(0>=F));)I++,F<<=1;if(T+=1<r||t===h&&T>s)return 1;k=D&x,b[k]=O<<24|I<<16|y-g|0}}return 0!==D&&(b[y+D]=Z-U<<24|64<<16|0),w.bits=O,0}},{"../utils/common":3}],13:[function(t,e,a){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(t,e,a){"use strict";function i(t){for(var e=t.length;--e>=0;)t[e]=0}function n(t){return 256>t?st[t]:st[256+(t>>>7)]}function r(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function s(t,e,a){t.bi_valid>G-a?(t.bi_buf|=e<>G-t.bi_valid,t.bi_valid+=a-G):(t.bi_buf|=e<>>=1,a<<=1}while(--e>0);return a>>>1}function h(t){16===t.bi_valid?(r(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}function d(t,e){var a,i,n,r,s,o,l=e.dyn_tree,h=e.max_code,d=e.stat_desc.static_tree,f=e.stat_desc.has_stree,_=e.stat_desc.extra_bits,u=e.stat_desc.extra_base,c=e.stat_desc.max_length,b=0;for(r=0;q>=r;r++)t.bl_count[r]=0;for(l[2*t.heap[t.heap_max]+1]=0,a=t.heap_max+1;Y>a;a++)i=t.heap[a],r=l[2*l[2*i+1]+1]+1,r>c&&(r=c,b++),l[2*i+1]=r,i>h||(t.bl_count[r]++,s=0,i>=u&&(s=_[i-u]),o=l[2*i],t.opt_len+=o*(r+s),f&&(t.static_len+=o*(d[2*i+1]+s)));if(0!==b){do{for(r=c-1;0===t.bl_count[r];)r--;t.bl_count[r]--,t.bl_count[r+1]+=2,t.bl_count[c]--,b-=2}while(b>0);for(r=c;0!==r;r--)for(i=t.bl_count[r];0!==i;)n=t.heap[--a],n>h||(l[2*n+1]!==r&&(t.opt_len+=(r-l[2*n+1])*l[2*n],l[2*n+1]=r),i--)}}function f(t,e,a){var i,n,r=new Array(q+1),s=0;for(i=1;q>=i;i++)r[i]=s=s+a[i-1]<<1;for(n=0;e>=n;n++){var o=t[2*n+1];0!==o&&(t[2*n]=l(r[o]++,o))}}function _(){var t,e,a,i,n,r=new Array(q+1);for(a=0,i=0;H-1>i;i++)for(lt[i]=a,t=0;t<1<<$[i];t++)ot[a++]=i;for(ot[a-1]=i,n=0,i=0;16>i;i++)for(ht[i]=n,t=0;t<1<>=7;M>i;i++)for(ht[i]=n<<7,t=0;t<1<=e;e++)r[e]=0;for(t=0;143>=t;)nt[2*t+1]=8,t++,r[8]++;for(;255>=t;)nt[2*t+1]=9,t++,r[9]++;for(;279>=t;)nt[2*t+1]=7,t++,r[7]++;for(;287>=t;)nt[2*t+1]=8,t++,r[8]++;for(f(nt,K+1,r),t=0;M>t;t++)rt[2*t+1]=5,rt[2*t]=l(t,5);dt=new ut(nt,$,j+1,K,q),ft=new ut(rt,tt,0,M,q),_t=new ut(new Array(0),et,0,P,X)}function u(t){var e;for(e=0;K>e;e++)t.dyn_ltree[2*e]=0;for(e=0;M>e;e++)t.dyn_dtree[2*e]=0;for(e=0;P>e;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*W]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function c(t){t.bi_valid>8?r(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function b(t,e,a,i){c(t),i&&(r(t,a),r(t,~a)),R.arraySet(t.pending_buf,t.window,e,a,t.pending),t.pending+=a}function g(t,e,a,i){var n=2*e,r=2*a;return t[n]a;a++)0!==r[2*a]?(t.heap[++t.heap_len]=h=a,t.depth[a]=0):r[2*a+1]=0;for(;t.heap_len<2;)n=t.heap[++t.heap_len]=2>h?++h:0,r[2*n]=1,t.depth[n]=0,t.opt_len--,o&&(t.static_len-=s[2*n+1]);for(e.max_code=h,a=t.heap_len>>1;a>=1;a--)m(t,r,a);n=l;do{a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],m(t,r,1),i=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=i,r[2*n]=r[2*a]+r[2*i],t.depth[n]=(t.depth[a]>=t.depth[i]?t.depth[a]:t.depth[i])+1,r[2*a+1]=r[2*i+1]=n,t.heap[1]=n++,m(t,r,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],d(t,e),f(r,h,t.bl_count)}function v(t,e,a){var i,n,r=-1,s=e[1],o=0,l=7,h=4;for(0===s&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;a>=i;i++)n=s,s=e[2*(i+1)+1],++oo?t.bl_tree[2*n]+=o:0!==n?(n!==r&&t.bl_tree[2*n]++,t.bl_tree[2*J]++):10>=o?t.bl_tree[2*Q]++:t.bl_tree[2*V]++,o=0,r=n,0===s?(l=138,h=3):n===s?(l=6,h=3):(l=7,h=4))}function k(t,e,a){var i,n,r=-1,l=e[1],h=0,d=7,f=4;for(0===l&&(d=138,f=3),i=0;a>=i;i++)if(n=l,l=e[2*(i+1)+1],!(++hh){do{o(t,n,t.bl_tree)}while(0!==--h)}else 0!==n?(n!==r&&(o(t,n,t.bl_tree),h--),o(t,J,t.bl_tree),s(t,h-3,2)):10>=h?(o(t,Q,t.bl_tree),s(t,h-3,3)):(o(t,V,t.bl_tree),s(t,h-11,7));h=0,r=n,0===l?(d=138,f=3):n===l?(d=6,f=3):(d=7,f=4)}}function x(t){var e;for(v(t,t.dyn_ltree,t.l_desc.max_code),v(t,t.dyn_dtree,t.d_desc.max_code),p(t,t.bl_desc),e=P-1;e>=3&&0===t.bl_tree[2*at[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}function y(t,e,a,i){var n;for(s(t,e-257,5),s(t,a-1,5),s(t,i-4,4),n=0;i>n;n++)s(t,t.bl_tree[2*at[n]+1],3);k(t,t.dyn_ltree,e-1),k(t,t.dyn_dtree,a-1)}function z(t){var e,a=4093624447;for(e=0;31>=e;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return N;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return O;for(e=32;j>e;e++)if(0!==t.dyn_ltree[2*e])return O;return N}function B(t){bt||(_(),bt=!0),t.l_desc=new ct(t.dyn_ltree,dt),t.d_desc=new ct(t.dyn_dtree,ft),t.bl_desc=new ct(t.bl_tree,_t),t.bi_buf=0,t.bi_valid=0,u(t)}function S(t,e,a,i){s(t,(U<<1)+(i?1:0),3),b(t,e,a,!0)}function E(t){s(t,F<<1,3),o(t,W,nt),h(t)}function A(t,e,a,i){var n,r,o=0;t.level>0?(t.strm.data_type===I&&(t.strm.data_type=z(t)),p(t,t.l_desc),p(t,t.d_desc),o=x(t),n=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,n>=r&&(n=r)):n=r=a+5,n>=a+4&&-1!==e?S(t,e,a,i):t.strategy===C||r===n?(s(t,(F<<1)+(i?1:0),3),w(t,nt,rt)):(s(t,(T<<1)+(i?1:0),3),y(t,t.l_desc.max_code+1,t.d_desc.max_code+1,o+1),w(t,t.dyn_ltree,t.dyn_dtree)),u(t),i&&c(t)}function Z(t,e,a){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&a,t.last_lit++,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(ot[a]+j+1)]++,t.dyn_dtree[2*n(e)]++),t.last_lit===t.lit_bufsize-1}var R=t("../utils/common"),C=4,N=0,O=1,I=2,U=0,F=1,T=2,D=3,L=258,H=29,j=256,K=j+1+H,M=30,P=19,Y=2*K+1,q=15,G=16,X=7,W=256,J=16,Q=17,V=18,$=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],tt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],et=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],at=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],it=512,nt=new Array(2*(K+2));i(nt);var rt=new Array(2*M);i(rt);var st=new Array(it);i(st);var ot=new Array(L-D+1);i(ot);var lt=new Array(H);i(lt);var ht=new Array(M);i(ht);var dt,ft,_t,ut=function(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length},ct=function(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e},bt=!1;a._tr_init=B,a._tr_stored_block=S,a._tr_flush_block=A,a._tr_tally=Z,a._tr_align=E},{"../utils/common":3}],15:[function(t,e,a){"use strict";function i(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}e.exports=i},{}],"/":[function(t,e,a){"use strict";var i=t("./lib/utils/common").assign,n=t("./lib/deflate"),r=t("./lib/inflate"),s=t("./lib/zlib/constants"),o={};i(o,n,r,s),e.exports=o},{"./lib/deflate":1,"./lib/inflate":2,"./lib/utils/common":3,"./lib/zlib/constants":6}]},{},[])("/")}); \ No newline at end of file diff --git a/Packages/ohif-cornerstone/public/js/cornerstoneWADOImageLoaderWebWorker.es5.js b/Packages/ohif-cornerstone/public/js/cornerstoneWADOImageLoaderWebWorker.es5.js index 71b183c0fc7..c78b4623f67 100644 --- a/Packages/ohif-cornerstone/public/js/cornerstoneWADOImageLoaderWebWorker.es5.js +++ b/Packages/ohif-cornerstone/public/js/cornerstoneWADOImageLoaderWebWorker.es5.js @@ -1,3 +1,3 @@ -/*! cornerstone-wado-image-loader - 0.14.7 - 2017-09-15 | (c) 2016 Chris Hafey | https://github.com/chafey/cornerstoneWADOImageLoader */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("cornerstoneWADOImageLoaderWebWorker",[],t):"object"==typeof exports?exports.cornerstoneWADOImageLoaderWebWorker=t():e.cornerstoneWADOImageLoaderWebWorker=t()}(this,function(){return function(e){function t(a){if(r[a])return r[a].exports;var n=r[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var r={};return t.m=e,t.c=r,t.i=function(e){return e},t.d=function(e,r,a){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:a})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=61)}({3:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="0.14.7"},33:function(e,t,r){"use strict";function a(e,t){var r=new JpxImage;r.parse(t);var a=r.tiles.length;if(1!==a)throw"JPEG2000 decoder returned a tileCount of "+a+", when 1 is expected";return e.columns=r.width,e.rows=r.height,e.pixelData=r.tiles[0].items,e}function n(e,t,r){var a=s._malloc(e.length);s.writeArrayToMemory(e,a);var n=s._malloc(4),i=s._malloc(4),o=s._malloc(4),l=s._malloc(4),f=s._malloc(4),u=Date.now();if(0!==s.ccall("jp2_decode","number",["number","number","number","number","number","number","number"],[a,e.length,n,i,o,l,f]))return console.log("[opj_decode] decoding failed!"),s._free(a),s._free(s.getValue(n,"*")),s._free(o),s._free(l),s._free(i),void s._free(f);var d=s.getValue(n,"*"),c={length:s.getValue(i,"i32"),sx:s.getValue(o,"i32"),sy:s.getValue(l,"i32"),nbChannels:s.getValue(f,"i32"),perf_timetodecode:void 0,pixelData:void 0},p=c.sx*c.sy*c.nbChannels,m=new Int32Array(s.HEAP32.buffer,d,p);if(1===t)if(Uint8Array.from)c.pixelData=Uint8Array.from(m);else{c.pixelData=new Uint8Array(p);for(var g=0;g1&&(e.photometricInterpretation="RGB"),e}function o(e){if(!e.usePDFJS&&"undefined"==typeof OpenJPEG)throw"OpenJPEG decoder not loaded";if(!(s||(s=OpenJPEG())&&s._jp2_decode))throw"OpenJPEG failed to initialize"}function l(e,t,r,n){return n=n||{},o(r),n.usePDFJS||r.usePDFJS?a(e,t):i(e,t)}Object.defineProperty(t,"__esModule",{value:!0});var s=void 0;t.default=l,t.initializeJPEG2000=o},34:function(e,t,r){"use strict";function a(e,t){var r=o._malloc(e.length);o.writeArrayToMemory(e,r);var a=o._malloc(4),n=o._malloc(4),i=o._malloc(4),l=o._malloc(4),s=o._malloc(4),f=o._malloc(4),u=o._malloc(4),d=o._malloc(4),c=o._malloc(4),p=o.ccall("jpegls_decode","number",["number","number","number","number","number","number","number","number","number","number","number"],[r,e.length,a,n,i,l,s,f,d,u,c]),m={result:p,width:o.getValue(i,"i32"),height:o.getValue(l,"i32"),bitsPerSample:o.getValue(s,"i32"),stride:o.getValue(f,"i32"),components:o.getValue(d,"i32"),allowedLossyError:o.getValue(u,"i32"),interleaveMode:o.getValue(c,"i32"),pixelData:void 0},g=o.getValue(a,"*");return m.bitsPerSample<=8?(m.pixelData=new Uint8Array(m.width*m.height*m.components),m.pixelData.set(new Uint8Array(o.HEAP8.buffer,g,m.pixelData.length))):t?(m.pixelData=new Int16Array(m.width*m.height*m.components),m.pixelData.set(new Int16Array(o.HEAP16.buffer,g,m.pixelData.length))):(m.pixelData=new Uint16Array(m.width*m.height*m.components),m.pixelData.set(new Uint16Array(o.HEAP16.buffer,g,m.pixelData.length))),o._free(r),o._free(g),o._free(a),o._free(n),o._free(i),o._free(l),o._free(s),o._free(f),o._free(d),o._free(c),m}function n(){if("undefined"==typeof CharLS)throw"No JPEG-LS decoder loaded";if(!(o||(o=CharLS())&&o._jpegls_decode))throw"JPEG-LS failed to initialize"}function i(e,t){n();var r=a(t,1===e.pixelRepresentation);if(0!==r.result&&6!==r.result)throw"JPEG-LS decoder failed to decode frame (error code "+r.result+")";return e.columns=r.width,e.rows=r.height,e.pixelData=r.pixelData,e}Object.defineProperty(t,"__esModule",{value:!0});var o=void 0;t.default=i,t.initializeJPEGLS=n},38:function(e,t,r){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}function n(e){m||(self.importScripts(e.decodeTask.codecsPath),m=!0,e.decodeTask.initializeCodecsOnStartup&&((0,s.initializeJPEG2000)(e.decodeTask),(0,f.initializeJPEGLS)(e.decodeTask)))}function i(e){g=e,e.decodeTask.loadCodecsOnStartup&&n(e)}function o(e){var t=(0,d.default)(e.pixelData);!0===g.decodeTask.strict?(e.smallestPixelValue!==t.min&&console.warn("Image smallestPixelValue tag is incorrect. Rendering performance will suffer considerably."),e.largestPixelValue!==t.max&&console.warn("Image largestPixelValue tag is incorrect. Rendering performance will suffer considerably.")):(e.smallestPixelValue=t.min,e.largestPixelValue=t.max)}function l(e,t){n(g);var r=e.data.imageFrame,a=new Uint8Array(e.data.pixelData);(0,p.default)(r,e.data.transferSyntax,a,g.decodeTask,e.data.options),o(r),r.pixelData=r.pixelData.buffer,t(r,[r.pixelData])}Object.defineProperty(t,"__esModule",{value:!0});var s=r(33),f=r(34),u=r(60),d=a(u),c=r(54),p=a(c),m=!1,g=void 0;t.default={taskType:"decodeTask",handler:l,initialize:i}},39:function(e,t,r){"use strict";function a(e){if(!l){if(s=e.config,e.config.webWorkerTaskPaths)for(var t=0;t>8&255}function n(e,t){if(16===e.bitsAllocated){var r=t.buffer,n=t.byteOffset,i=t.length;n%2&&(r=r.slice(n),n=0),0===e.pixelRepresentation?e.pixelData=new Uint16Array(r,n,i/2):e.pixelData=new Int16Array(r,n,i/2);for(var o=0;o=0&&m<=127)for(var g=0;g=-127)for(var y=o[d++],b=0;b<1-m&&s=0&&m<=127)for(var g=0;g=-127)for(var y=o[d++],b=0;b<1-m&&s=0&&m<=127)for(var g=0;g=-127)for(var y=o[c++],b=0;b<1-m&&u1&&(e.photometricInterpretation="RGB"),e}function o(e){if(!e.usePDFJS&&"undefined"==typeof OpenJPEG)throw"OpenJPEG decoder not loaded";if(!(s||(s=OpenJPEG())&&s._jp2_decode))throw"OpenJPEG failed to initialize"}function l(e,t,r,n){return n=n||{},o(r),n.usePDFJS||r.usePDFJS?a(e,t):i(e,t)}Object.defineProperty(t,"__esModule",{value:!0});var s=void 0;t.default=l,t.initializeJPEG2000=o},38:function(e,t,r){"use strict";function a(e,t){var r=o._malloc(e.length);o.writeArrayToMemory(e,r);var a=o._malloc(4),n=o._malloc(4),i=o._malloc(4),l=o._malloc(4),s=o._malloc(4),f=o._malloc(4),u=o._malloc(4),d=o._malloc(4),c=o._malloc(4),p=o.ccall("jpegls_decode","number",["number","number","number","number","number","number","number","number","number","number","number"],[r,e.length,a,n,i,l,s,f,d,u,c]),m={result:p,width:o.getValue(i,"i32"),height:o.getValue(l,"i32"),bitsPerSample:o.getValue(s,"i32"),stride:o.getValue(f,"i32"),components:o.getValue(d,"i32"),allowedLossyError:o.getValue(u,"i32"),interleaveMode:o.getValue(c,"i32"),pixelData:void 0},g=o.getValue(a,"*");return m.bitsPerSample<=8?(m.pixelData=new Uint8Array(m.width*m.height*m.components),m.pixelData.set(new Uint8Array(o.HEAP8.buffer,g,m.pixelData.length))):t?(m.pixelData=new Int16Array(m.width*m.height*m.components),m.pixelData.set(new Int16Array(o.HEAP16.buffer,g,m.pixelData.length))):(m.pixelData=new Uint16Array(m.width*m.height*m.components),m.pixelData.set(new Uint16Array(o.HEAP16.buffer,g,m.pixelData.length))),o._free(r),o._free(g),o._free(a),o._free(n),o._free(i),o._free(l),o._free(s),o._free(f),o._free(d),o._free(c),m}function n(){if("undefined"==typeof CharLS)throw"No JPEG-LS decoder loaded";if(!(o||(o=CharLS())&&o._jpegls_decode))throw"JPEG-LS failed to initialize"}function i(e,t){n();var r=a(t,1===e.pixelRepresentation);if(0!==r.result&&6!==r.result)throw"JPEG-LS decoder failed to decode frame (error code "+r.result+")";return e.columns=r.width,e.rows=r.height,e.pixelData=r.pixelData,e}Object.defineProperty(t,"__esModule",{value:!0});var o=void 0;t.default=i,t.initializeJPEGLS=n},55:function(e,t,r){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.version=t.registerTaskHandler=void 0;var n=r(9);Object.defineProperty(t,"version",{enumerable:!0,get:function(){return a(n).default}});var i=r(56),o=r(57),l=a(o);(0,i.registerTaskHandler)(l.default),t.registerTaskHandler=i.registerTaskHandler},56:function(e,t,r){"use strict";function a(e){if(!l){if(s=e.config,e.config.webWorkerTaskPaths)for(var t=0;t>8&255}function n(e,t){if(16===e.bitsAllocated){var r=t.buffer,n=t.byteOffset,i=t.length;n%2&&(r=r.slice(n),n=0),0===e.pixelRepresentation?e.pixelData=new Uint16Array(r,n,i/2):e.pixelData=new Int16Array(r,n,i/2);for(var o=0;o=0&&m<=127)for(var g=0;g=-127)for(var y=o[d++],b=0;b<1-m&&s=0&&m<=127)for(var g=0;g=-127)for(var y=o[d++],b=0;b<1-m&&s=0&&m<=127)for(var g=0;g=-127)for(var y=o[c++],b=0;b<1-m&&u 1) {\n imageFrame.photometricInterpretation = 'RGB';\n }\n\n return imageFrame;\n}\n\nfunction initializeJPEG2000(decodeConfig) {\n // check to make sure codec is loaded\n if (!decodeConfig.usePDFJS) {\n if (typeof OpenJPEG === 'undefined') {\n throw 'OpenJPEG decoder not loaded';\n }\n }\n\n if (!openJPEG) {\n openJPEG = OpenJPEG();\n if (!openJPEG || !openJPEG._jp2_decode) {\n throw 'OpenJPEG failed to initialize';\n }\n }\n}\n\nfunction decodeJPEG2000(imageFrame, pixelData, decodeConfig, options) {\n options = options || {};\n\n initializeJPEG2000(decodeConfig);\n\n if (options.usePDFJS || decodeConfig.usePDFJS) {\n // OHIF image-JPEG2000 https://github.com/OHIF/image-JPEG2000\n // console.log('PDFJS')\n return decodeJpx(imageFrame, pixelData);\n }\n\n // OpenJPEG2000 https://github.com/jpambrun/openjpeg\n // console.log('OpenJPEG')\n return decodeOpenJpeg2000(imageFrame, pixelData);\n}\n\nexports.default = decodeJPEG2000;\nexports.initializeJPEG2000 = initializeJPEG2000;\n\n/***/ }),\n\n/***/ 38:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar charLS = void 0;\n\nfunction jpegLSDecode(data, isSigned) {\n\n // prepare input parameters\n var dataPtr = charLS._malloc(data.length);\n\n charLS.writeArrayToMemory(data, dataPtr);\n\n // prepare output parameters\n var imagePtrPtr = charLS._malloc(4);\n var imageSizePtr = charLS._malloc(4);\n var widthPtr = charLS._malloc(4);\n var heightPtr = charLS._malloc(4);\n var bitsPerSamplePtr = charLS._malloc(4);\n var stridePtr = charLS._malloc(4);\n var allowedLossyErrorPtr = charLS._malloc(4);\n var componentsPtr = charLS._malloc(4);\n var interleaveModePtr = charLS._malloc(4);\n\n // Decode the image\n var result = charLS.ccall('jpegls_decode', 'number', ['number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number'], [dataPtr, data.length, imagePtrPtr, imageSizePtr, widthPtr, heightPtr, bitsPerSamplePtr, stridePtr, componentsPtr, allowedLossyErrorPtr, interleaveModePtr]);\n\n // Extract result values into object\n var image = {\n result: result,\n width: charLS.getValue(widthPtr, 'i32'),\n height: charLS.getValue(heightPtr, 'i32'),\n bitsPerSample: charLS.getValue(bitsPerSamplePtr, 'i32'),\n stride: charLS.getValue(stridePtr, 'i32'),\n components: charLS.getValue(componentsPtr, 'i32'),\n allowedLossyError: charLS.getValue(allowedLossyErrorPtr, 'i32'),\n interleaveMode: charLS.getValue(interleaveModePtr, 'i32'),\n pixelData: undefined\n };\n\n // Copy image from emscripten heap into appropriate array buffer type\n var imagePtr = charLS.getValue(imagePtrPtr, '*');\n\n if (image.bitsPerSample <= 8) {\n image.pixelData = new Uint8Array(image.width * image.height * image.components);\n image.pixelData.set(new Uint8Array(charLS.HEAP8.buffer, imagePtr, image.pixelData.length));\n } else if (isSigned) {\n image.pixelData = new Int16Array(image.width * image.height * image.components);\n image.pixelData.set(new Int16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length));\n } else {\n image.pixelData = new Uint16Array(image.width * image.height * image.components);\n image.pixelData.set(new Uint16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length));\n }\n\n // free memory and return image object\n charLS._free(dataPtr);\n charLS._free(imagePtr);\n charLS._free(imagePtrPtr);\n charLS._free(imageSizePtr);\n charLS._free(widthPtr);\n charLS._free(heightPtr);\n charLS._free(bitsPerSamplePtr);\n charLS._free(stridePtr);\n charLS._free(componentsPtr);\n charLS._free(interleaveModePtr);\n\n return image;\n}\n\nfunction initializeJPEGLS() {\n // check to make sure codec is loaded\n if (typeof CharLS === 'undefined') {\n throw 'No JPEG-LS decoder loaded';\n }\n\n // Try to initialize CharLS\n // CharLS https://github.com/chafey/charls\n if (!charLS) {\n charLS = CharLS();\n if (!charLS || !charLS._jpegls_decode) {\n throw 'JPEG-LS failed to initialize';\n }\n }\n}\n\nfunction decodeJPEGLS(imageFrame, pixelData) {\n initializeJPEGLS();\n\n var image = jpegLSDecode(pixelData, imageFrame.pixelRepresentation === 1);\n // console.log(image);\n\n // throw error if not success or too much data\n if (image.result !== 0 && image.result !== 6) {\n throw 'JPEG-LS decoder failed to decode frame (error code ' + image.result + ')';\n }\n\n imageFrame.columns = image.width;\n imageFrame.rows = image.height;\n imageFrame.pixelData = image.pixelData;\n\n return imageFrame;\n}\n\nexports.default = decodeJPEGLS;\nexports.initializeJPEGLS = initializeJPEGLS;\n\n/***/ }),\n\n/***/ 55:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.version = exports.registerTaskHandler = undefined;\n\nvar _version = __webpack_require__(9);\n\nObject.defineProperty(exports, 'version', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_version).default;\n }\n});\n\nvar _webWorker = __webpack_require__(56);\n\nvar _decodeTask = __webpack_require__(57);\n\nvar _decodeTask2 = _interopRequireDefault(_decodeTask);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// register our task\n(0, _webWorker.registerTaskHandler)(_decodeTask2.default);\n\nexports.registerTaskHandler = _webWorker.registerTaskHandler;\n\n/***/ }),\n\n/***/ 56:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.registerTaskHandler = registerTaskHandler;\n// an object of task handlers\nvar taskHandlers = {};\n\n// Flag to ensure web worker is only initialized once\nvar initialized = false;\n\n// the configuration object passed in when the web worker manager is initialized\nvar config = void 0;\n\n/**\n * Initialization function that loads additional web workers and initializes them\n * @param data\n */\nfunction initialize(data) {\n // console.log('web worker initialize ', data.workerIndex);\n // prevent initialization from happening more than once\n if (initialized) {\n return;\n }\n\n // save the config data\n config = data.config;\n\n // load any additional web worker tasks\n if (data.config.webWorkerTaskPaths) {\n for (var i = 0; i < data.config.webWorkerTaskPaths.length; i++) {\n self.importScripts(data.config.webWorkerTaskPaths[i]);\n }\n }\n\n // initialize each task handler\n Object.keys(taskHandlers).forEach(function (key) {\n taskHandlers[key].initialize(config.taskConfiguration);\n });\n\n // tell main ui thread that we have completed initialization\n self.postMessage({\n taskType: 'initialize',\n status: 'success',\n result: {},\n workerIndex: data.workerIndex\n });\n\n initialized = true;\n}\n\n/**\n * Function exposed to web worker tasks to register themselves\n * @param taskHandler\n */\nfunction registerTaskHandler(taskHandler) {\n if (taskHandlers[taskHandler.taskType]) {\n console.log('attempt to register duplicate task handler \"', taskHandler.taskType, '\"');\n\n return false;\n }\n taskHandlers[taskHandler.taskType] = taskHandler;\n if (initialized) {\n taskHandler.initialize(config.taskConfiguration);\n }\n}\n\n/**\n * Function to load a new web worker task with updated configuration\n * @param data\n */\nfunction loadWebWorkerTask(data) {\n config = data.config;\n self.importScripts(data.sourcePath);\n}\n\n/**\n * Web worker message handler - dispatches messages to the registered task handlers\n * @param msg\n */\nself.onmessage = function (msg) {\n // console.log('web worker onmessage', msg.data);\n\n // handle initialize message\n if (msg.data.taskType === 'initialize') {\n initialize(msg.data);\n\n return;\n }\n\n // handle loadWebWorkerTask message\n if (msg.data.taskType === 'loadWebWorkerTask') {\n loadWebWorkerTask(msg.data);\n\n return;\n }\n\n // dispatch the message if there is a handler registered for it\n if (taskHandlers[msg.data.taskType]) {\n taskHandlers[msg.data.taskType].handler(msg.data, function (result, transferList) {\n self.postMessage({\n taskType: msg.data.taskType,\n status: 'success',\n result: result,\n workerIndex: msg.data.workerIndex\n }, transferList);\n });\n\n return;\n }\n\n // not task handler registered - send a failure message back to ui thread\n console.log('no task handler for ', msg.data.taskType);\n console.log(taskHandlers);\n self.postMessage({\n taskType: msg.data.taskType,\n status: 'failed - no task handler registered',\n workerIndex: msg.data.workerIndex\n });\n};\n\n/***/ }),\n\n/***/ 57:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _decodeJPEG = __webpack_require__(37);\n\nvar _decodeJPEGLS = __webpack_require__(38);\n\nvar _getMinMax = __webpack_require__(2);\n\nvar _getMinMax2 = _interopRequireDefault(_getMinMax);\n\nvar _decodeImageFrame = __webpack_require__(58);\n\nvar _decodeImageFrame2 = _interopRequireDefault(_decodeImageFrame);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// flag to ensure codecs are loaded only once\nvar codecsLoaded = false;\n\n// the configuration object for the decodeTask\nvar decodeConfig = void 0;\n\n/**\n * Function to control loading and initializing the codecs\n * @param config\n */\nfunction loadCodecs(config) {\n // prevent loading codecs more than once\n if (codecsLoaded) {\n return;\n }\n\n // Load the codecs\n // console.time('loadCodecs');\n self.importScripts(config.decodeTask.codecsPath);\n codecsLoaded = true;\n // console.timeEnd('loadCodecs');\n\n // Initialize the codecs\n if (config.decodeTask.initializeCodecsOnStartup) {\n // console.time('initializeCodecs');\n (0, _decodeJPEG.initializeJPEG2000)(config.decodeTask);\n (0, _decodeJPEGLS.initializeJPEGLS)(config.decodeTask);\n // console.timeEnd('initializeCodecs');\n }\n}\n\n/**\n * Task initialization function\n */\nfunction decodeTaskInitialize(config) {\n decodeConfig = config;\n if (config.decodeTask.loadCodecsOnStartup) {\n loadCodecs(config);\n }\n}\n\nfunction calculateMinMax(imageFrame) {\n var minMax = (0, _getMinMax2.default)(imageFrame.pixelData);\n\n if (decodeConfig.decodeTask.strict === true) {\n if (imageFrame.smallestPixelValue !== minMax.min) {\n console.warn('Image smallestPixelValue tag is incorrect. Rendering performance will suffer considerably.');\n }\n\n if (imageFrame.largestPixelValue !== minMax.max) {\n console.warn('Image largestPixelValue tag is incorrect. Rendering performance will suffer considerably.');\n }\n } else {\n imageFrame.smallestPixelValue = minMax.min;\n imageFrame.largestPixelValue = minMax.max;\n }\n}\n\n/**\n * Task handler function\n */\nfunction decodeTaskHandler(data, doneCallback) {\n // Load the codecs if they aren't already loaded\n loadCodecs(decodeConfig);\n\n var imageFrame = data.data.imageFrame;\n\n // convert pixel data from ArrayBuffer to Uint8Array since web workers support passing ArrayBuffers but\n // not typed arrays\n var pixelData = new Uint8Array(data.data.pixelData);\n\n (0, _decodeImageFrame2.default)(imageFrame, data.data.transferSyntax, pixelData, decodeConfig.decodeTask, data.data.options);\n\n calculateMinMax(imageFrame);\n\n // convert from TypedArray to ArrayBuffer since web workers support passing ArrayBuffers but not\n // typed arrays\n imageFrame.pixelData = imageFrame.pixelData.buffer;\n\n // invoke the callback with our result and pass the pixelData in the transferList to move it to\n // UI thread without making a copy\n doneCallback(imageFrame, [imageFrame.pixelData]);\n}\n\nexports.default = {\n taskType: 'decodeTask',\n handler: decodeTaskHandler,\n initialize: decodeTaskInitialize\n};\n\n/***/ }),\n\n/***/ 58:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _decodeLittleEndian = __webpack_require__(59);\n\nvar _decodeLittleEndian2 = _interopRequireDefault(_decodeLittleEndian);\n\nvar _decodeBigEndian = __webpack_require__(60);\n\nvar _decodeBigEndian2 = _interopRequireDefault(_decodeBigEndian);\n\nvar _decodeRLE = __webpack_require__(61);\n\nvar _decodeRLE2 = _interopRequireDefault(_decodeRLE);\n\nvar _decodeJPEGBaseline = __webpack_require__(62);\n\nvar _decodeJPEGBaseline2 = _interopRequireDefault(_decodeJPEGBaseline);\n\nvar _decodeJPEGLossless = __webpack_require__(63);\n\nvar _decodeJPEGLossless2 = _interopRequireDefault(_decodeJPEGLossless);\n\nvar _decodeJPEGLS = __webpack_require__(38);\n\nvar _decodeJPEGLS2 = _interopRequireDefault(_decodeJPEGLS);\n\nvar _decodeJPEG = __webpack_require__(37);\n\nvar _decodeJPEG2 = _interopRequireDefault(_decodeJPEG);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction decodeImageFrame(imageFrame, transferSyntax, pixelData, decodeConfig, options) {\n var start = new Date().getTime();\n\n if (transferSyntax === '1.2.840.10008.1.2') {\n // Implicit VR Little Endian\n imageFrame = (0, _decodeLittleEndian2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.1') {\n // Explicit VR Little Endian\n imageFrame = (0, _decodeLittleEndian2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.2') {\n // Explicit VR Big Endian (retired)\n imageFrame = (0, _decodeBigEndian2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.1.99') {\n // Deflate transfer syntax (deflated by dicomParser)\n imageFrame = (0, _decodeLittleEndian2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.5') {\n // RLE Lossless\n imageFrame = (0, _decodeRLE2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.50') {\n // JPEG Baseline lossy process 1 (8 bit)\n imageFrame = (0, _decodeJPEGBaseline2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.51') {\n // JPEG Baseline lossy process 2 & 4 (12 bit)\n imageFrame = (0, _decodeJPEGBaseline2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.57') {\n // JPEG Lossless, Nonhierarchical (Processes 14)\n imageFrame = (0, _decodeJPEGLossless2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.70') {\n // JPEG Lossless, Nonhierarchical (Processes 14 [Selection 1])\n imageFrame = (0, _decodeJPEGLossless2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.80') {\n // JPEG-LS Lossless Image Compression\n imageFrame = (0, _decodeJPEGLS2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.81') {\n // JPEG-LS Lossy (Near-Lossless) Image Compression\n imageFrame = (0, _decodeJPEGLS2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.90') {\n // JPEG 2000 Lossless\n imageFrame = (0, _decodeJPEG2.default)(imageFrame, pixelData, decodeConfig, options);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.91') {\n // JPEG 2000 Lossy\n imageFrame = (0, _decodeJPEG2.default)(imageFrame, pixelData, decodeConfig, options);\n } else {\n if (console && console.log) {\n console.log('Image cannot be decoded due to Unsupported transfer syntax ' + transferSyntax);\n }\n\n throw 'no decoder for transfer syntax ' + transferSyntax;\n }\n\n /* Don't know if these work...\n // JPEG 2000 Part 2 Multicomponent Image Compression (Lossless Only)\n else if(transferSyntax === \"1.2.840.10008.1.2.4.92\")\n {\n return decodeJPEG2000(dataSet, frame);\n }\n // JPEG 2000 Part 2 Multicomponent Image Compression\n else if(transferSyntax === \"1.2.840.10008.1.2.4.93\")\n {\n return decodeJPEG2000(dataSet, frame);\n }\n */\n\n var end = new Date().getTime();\n\n imageFrame.decodeTimeInMS = end - start;\n\n return imageFrame;\n}\n\nexports.default = decodeImageFrame;\n\n/***/ }),\n\n/***/ 59:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction decodeLittleEndian(imageFrame, pixelData) {\n if (imageFrame.bitsAllocated === 16) {\n var arrayBuffer = pixelData.buffer;\n var offset = pixelData.byteOffset;\n var length = pixelData.length;\n // if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array\n // buffers on it\n\n if (offset % 2) {\n arrayBuffer = arrayBuffer.slice(offset);\n offset = 0;\n }\n\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2);\n } else {\n imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2);\n }\n } else if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = pixelData;\n }\n\n return imageFrame;\n}\n\nexports.default = decodeLittleEndian;\n\n/***/ }),\n\n/***/ 60:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* eslint no-bitwise: 0 */\nfunction swap16(val) {\n return (val & 0xFF) << 8 | val >> 8 & 0xFF;\n}\n\nfunction decodeBigEndian(imageFrame, pixelData) {\n if (imageFrame.bitsAllocated === 16) {\n var arrayBuffer = pixelData.buffer;\n var offset = pixelData.byteOffset;\n var length = pixelData.length;\n // if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array\n // buffers on it\n\n if (offset % 2) {\n arrayBuffer = arrayBuffer.slice(offset);\n offset = 0;\n }\n\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2);\n } else {\n imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2);\n }\n // Do the byte swap\n for (var i = 0; i < imageFrame.pixelData.length; i++) {\n imageFrame.pixelData[i] = swap16(imageFrame.pixelData[i]);\n }\n } else if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = pixelData;\n }\n\n return imageFrame;\n}\n\nexports.default = decodeBigEndian;\n\n/***/ }),\n\n/***/ 61:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction decodeRLE(imageFrame, pixelData) {\n\n if (imageFrame.bitsAllocated === 8) {\n if (imageFrame.planarConfiguration) {\n return decode8Planar(imageFrame, pixelData);\n }\n\n return decode8(imageFrame, pixelData);\n } else if (imageFrame.bitsAllocated === 16) {\n return decode16(imageFrame, pixelData);\n }\n throw 'unsupported pixel format for RLE';\n}\n\nfunction decode8(imageFrame, pixelData) {\n var frameData = pixelData;\n var frameSize = imageFrame.rows * imageFrame.columns;\n var outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel);\n var header = new DataView(frameData.buffer, frameData.byteOffset);\n var data = new Int8Array(frameData.buffer, frameData.byteOffset);\n var out = new Int8Array(outFrame);\n\n var outIndex = 0;\n var numSegments = header.getInt32(0, true);\n\n for (var s = 0; s < numSegments; ++s) {\n outIndex = s;\n\n var inIndex = header.getInt32((s + 1) * 4, true);\n var maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n var endOfSegment = frameSize * numSegments;\n\n while (inIndex < maxIndex) {\n var n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n // copy n bytes\n for (var i = 0; i < n + 1 && outIndex < endOfSegment; ++i) {\n out[outIndex] = data[inIndex++];\n outIndex += imageFrame.samplesPerPixel;\n }\n } else if (n <= -1 && n >= -127) {\n var value = data[inIndex++];\n // run of n bytes\n\n for (var j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) {\n out[outIndex] = value;\n outIndex += imageFrame.samplesPerPixel;\n }\n } /* else if (n === -128) {\n } // do nothing */\n }\n }\n imageFrame.pixelData = new Uint8Array(outFrame);\n\n return imageFrame;\n}\n\nfunction decode8Planar(imageFrame, pixelData) {\n var frameData = pixelData;\n var frameSize = imageFrame.rows * imageFrame.columns;\n var outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel);\n var header = new DataView(frameData.buffer, frameData.byteOffset);\n var data = new Int8Array(frameData.buffer, frameData.byteOffset);\n var out = new Int8Array(outFrame);\n\n var outIndex = 0;\n var numSegments = header.getInt32(0, true);\n\n for (var s = 0; s < numSegments; ++s) {\n outIndex = s * frameSize;\n\n var inIndex = header.getInt32((s + 1) * 4, true);\n var maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n var endOfSegment = frameSize * numSegments;\n\n while (inIndex < maxIndex) {\n var n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n // copy n bytes\n for (var i = 0; i < n + 1 && outIndex < endOfSegment; ++i) {\n out[outIndex] = data[inIndex++];\n outIndex++;\n }\n } else if (n <= -1 && n >= -127) {\n var value = data[inIndex++];\n // run of n bytes\n\n for (var j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) {\n out[outIndex] = value;\n outIndex++;\n }\n } /* else if (n === -128) {\n } // do nothing */\n }\n }\n imageFrame.pixelData = new Uint8Array(outFrame);\n\n return imageFrame;\n}\n\nfunction decode16(imageFrame, pixelData) {\n var frameData = pixelData;\n var frameSize = imageFrame.rows * imageFrame.columns;\n var outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel * 2);\n\n var header = new DataView(frameData.buffer, frameData.byteOffset);\n var data = new Int8Array(frameData.buffer, frameData.byteOffset);\n var out = new Int8Array(outFrame);\n\n var numSegments = header.getInt32(0, true);\n\n for (var s = 0; s < numSegments; ++s) {\n var outIndex = 0;\n var highByte = s === 0 ? 1 : 0;\n\n var inIndex = header.getInt32((s + 1) * 4, true);\n var maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n while (inIndex < maxIndex) {\n var n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n for (var i = 0; i < n + 1 && outIndex < frameSize; ++i) {\n out[outIndex * 2 + highByte] = data[inIndex++];\n outIndex++;\n }\n } else if (n <= -1 && n >= -127) {\n var value = data[inIndex++];\n\n for (var j = 0; j < -n + 1 && outIndex < frameSize; ++j) {\n out[outIndex * 2 + highByte] = value;\n outIndex++;\n }\n } /* else if (n === -128) {\n } // do nothing */\n }\n }\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(outFrame);\n } else {\n imageFrame.pixelData = new Int16Array(outFrame);\n }\n\n return imageFrame;\n}\n\nexports.default = decodeRLE;\n\n/***/ }),\n\n/***/ 62:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nfunction decodeJPEGBaseline(imageFrame, pixelData) {\n // check to make sure codec is loaded\n if (typeof JpegImage === 'undefined') {\n throw 'No JPEG Baseline decoder loaded';\n }\n var jpeg = new JpegImage();\n\n jpeg.parse(pixelData);\n\n // Do not use the internal jpeg.js color transformation,\n // since we will handle this afterwards\n jpeg.colorTransform = false;\n\n if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = jpeg.getData(imageFrame.columns, imageFrame.rows);\n\n return imageFrame;\n } else if (imageFrame.bitsAllocated === 16) {\n imageFrame.pixelData = jpeg.getData16(imageFrame.columns, imageFrame.rows);\n\n return imageFrame;\n }\n}\n\nexports.default = decodeJPEGBaseline;\n\n/***/ }),\n\n/***/ 63:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nfunction decodeJPEGLossless(imageFrame, pixelData) {\n // check to make sure codec is loaded\n if (typeof jpeg === 'undefined' || typeof jpeg.lossless === 'undefined' || typeof jpeg.lossless.Decoder === 'undefined') {\n throw 'No JPEG Lossless decoder loaded';\n }\n\n var byteOutput = imageFrame.bitsAllocated <= 8 ? 1 : 2;\n // console.time('jpeglossless');\n var buffer = pixelData.buffer;\n var decoder = new jpeg.lossless.Decoder();\n var decompressedData = decoder.decode(buffer, pixelData.byteOffset, pixelData.length, byteOutput);\n // console.timeEnd('jpeglossless');\n\n if (imageFrame.pixelRepresentation === 0) {\n if (imageFrame.bitsAllocated === 16) {\n imageFrame.pixelData = new Uint16Array(decompressedData.buffer);\n\n return imageFrame;\n }\n // untested!\n imageFrame.pixelData = new Uint8Array(decompressedData.buffer);\n\n return imageFrame;\n }\n imageFrame.pixelData = new Int16Array(decompressedData.buffer);\n\n return imageFrame;\n}\n\nexports.default = decodeJPEGLossless;\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = '0.15.1';\n\n/***/ })\n\n/******/ });\n});\n\n\n// WEBPACK FOOTER //\n// cornerstoneWADOImageLoaderWebWorker.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 55);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 1a38b2491c8facfb2788","function getMinMax (storedPixelData) {\n // we always calculate the min max values since they are not always\n // present in DICOM and we don't want to trust them anyway as cornerstone\n // depends on us providing reliable values for these\n let min = storedPixelData[0];\n let max = storedPixelData[0];\n let storedPixel;\n const numPixels = storedPixelData.length;\n\n for (let index = 1; index < numPixels; index++) {\n storedPixel = storedPixelData[index];\n min = Math.min(min, storedPixel);\n max = Math.max(max, storedPixel);\n }\n\n return {\n min,\n max\n };\n}\n\nexport default getMinMax;\n\n\n\n// WEBPACK FOOTER //\n// ./shared/getMinMax.js","\n\nfunction decodeJpx (imageFrame, pixelData) {\n\n const jpxImage = new JpxImage();\n\n jpxImage.parse(pixelData);\n\n const tileCount = jpxImage.tiles.length;\n\n if (tileCount !== 1) {\n throw `JPEG2000 decoder returned a tileCount of ${tileCount}, when 1 is expected`;\n }\n\n imageFrame.columns = jpxImage.width;\n imageFrame.rows = jpxImage.height;\n imageFrame.pixelData = jpxImage.tiles[0].items;\n\n return imageFrame;\n}\n\nlet openJPEG;\n\nfunction decodeOpenJPEG (data, bytesPerPixel, signed) {\n const dataPtr = openJPEG._malloc(data.length);\n\n openJPEG.writeArrayToMemory(data, dataPtr);\n\n // create param outpout\n const imagePtrPtr = openJPEG._malloc(4);\n const imageSizePtr = openJPEG._malloc(4);\n const imageSizeXPtr = openJPEG._malloc(4);\n const imageSizeYPtr = openJPEG._malloc(4);\n const imageSizeCompPtr = openJPEG._malloc(4);\n\n const t0 = Date.now();\n const ret = openJPEG.ccall('jp2_decode', 'number', ['number', 'number', 'number', 'number', 'number', 'number', 'number'],\n [dataPtr, data.length, imagePtrPtr, imageSizePtr, imageSizeXPtr, imageSizeYPtr, imageSizeCompPtr]);\n // add num vomp..etc\n\n if (ret !== 0) {\n console.log('[opj_decode] decoding failed!');\n openJPEG._free(dataPtr);\n openJPEG._free(openJPEG.getValue(imagePtrPtr, '*'));\n openJPEG._free(imageSizeXPtr);\n openJPEG._free(imageSizeYPtr);\n openJPEG._free(imageSizePtr);\n openJPEG._free(imageSizeCompPtr);\n\n return undefined;\n }\n\n const imagePtr = openJPEG.getValue(imagePtrPtr, '*');\n\n const image = {\n length: openJPEG.getValue(imageSizePtr, 'i32'),\n sx: openJPEG.getValue(imageSizeXPtr, 'i32'),\n sy: openJPEG.getValue(imageSizeYPtr, 'i32'),\n nbChannels: openJPEG.getValue(imageSizeCompPtr, 'i32'), // hard coded for now\n perf_timetodecode: undefined,\n pixelData: undefined\n };\n\n // Copy the data from the EMSCRIPTEN heap into the correct type array\n const length = image.sx * image.sy * image.nbChannels;\n const src32 = new Int32Array(openJPEG.HEAP32.buffer, imagePtr, length);\n\n if (bytesPerPixel === 1) {\n if (Uint8Array.from) {\n image.pixelData = Uint8Array.from(src32);\n } else {\n image.pixelData = new Uint8Array(length);\n for (let i = 0; i < length; i++) {\n image.pixelData[i] = src32[i];\n }\n }\n } else if (signed) {\n if (Int16Array.from) {\n image.pixelData = Int16Array.from(src32);\n } else {\n image.pixelData = new Int16Array(length);\n for (let i = 0; i < length; i++) {\n image.pixelData[i] = src32[i];\n }\n }\n } else if (Uint16Array.from) {\n image.pixelData = Uint16Array.from(src32);\n } else {\n image.pixelData = new Uint16Array(length);\n for (let i = 0; i < length; i++) {\n image.pixelData[i] = src32[i];\n }\n }\n\n const t1 = Date.now();\n\n image.perf_timetodecode = t1 - t0;\n\n // free\n openJPEG._free(dataPtr);\n openJPEG._free(imagePtrPtr);\n openJPEG._free(imagePtr);\n openJPEG._free(imageSizePtr);\n openJPEG._free(imageSizeXPtr);\n openJPEG._free(imageSizeYPtr);\n openJPEG._free(imageSizeCompPtr);\n\n return image;\n}\n\nfunction decodeOpenJpeg2000 (imageFrame, pixelData) {\n const bytesPerPixel = imageFrame.bitsAllocated <= 8 ? 1 : 2;\n const signed = imageFrame.pixelRepresentation === 1;\n\n const image = decodeOpenJPEG(pixelData, bytesPerPixel, signed);\n\n imageFrame.columns = image.sx;\n imageFrame.rows = image.sy;\n imageFrame.pixelData = image.pixelData;\n if (image.nbChannels > 1) {\n imageFrame.photometricInterpretation = 'RGB';\n }\n\n return imageFrame;\n}\n\nfunction initializeJPEG2000 (decodeConfig) {\n // check to make sure codec is loaded\n if (!decodeConfig.usePDFJS) {\n if (typeof OpenJPEG === 'undefined') {\n throw 'OpenJPEG decoder not loaded';\n }\n }\n\n if (!openJPEG) {\n openJPEG = OpenJPEG();\n if (!openJPEG || !openJPEG._jp2_decode) {\n throw 'OpenJPEG failed to initialize';\n }\n }\n}\n\nfunction decodeJPEG2000 (imageFrame, pixelData, decodeConfig, options) {\n options = options || {};\n\n initializeJPEG2000(decodeConfig);\n\n if (options.usePDFJS || decodeConfig.usePDFJS) {\n // OHIF image-JPEG2000 https://github.com/OHIF/image-JPEG2000\n // console.log('PDFJS')\n return decodeJpx(imageFrame, pixelData);\n }\n\n // OpenJPEG2000 https://github.com/jpambrun/openjpeg\n // console.log('OpenJPEG')\n return decodeOpenJpeg2000(imageFrame, pixelData);\n}\n\nexport default decodeJPEG2000;\nexport { initializeJPEG2000 };\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeJPEG2000.js","\n\nlet charLS;\n\nfunction jpegLSDecode (data, isSigned) {\n\n // prepare input parameters\n const dataPtr = charLS._malloc(data.length);\n\n charLS.writeArrayToMemory(data, dataPtr);\n\n // prepare output parameters\n const imagePtrPtr = charLS._malloc(4);\n const imageSizePtr = charLS._malloc(4);\n const widthPtr = charLS._malloc(4);\n const heightPtr = charLS._malloc(4);\n const bitsPerSamplePtr = charLS._malloc(4);\n const stridePtr = charLS._malloc(4);\n const allowedLossyErrorPtr = charLS._malloc(4);\n const componentsPtr = charLS._malloc(4);\n const interleaveModePtr = charLS._malloc(4);\n\n // Decode the image\n const result = charLS.ccall(\n 'jpegls_decode',\n 'number',\n ['number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number'],\n [dataPtr, data.length, imagePtrPtr, imageSizePtr, widthPtr, heightPtr, bitsPerSamplePtr, stridePtr, componentsPtr, allowedLossyErrorPtr, interleaveModePtr]\n );\n\n // Extract result values into object\n const image = {\n result,\n width: charLS.getValue(widthPtr, 'i32'),\n height: charLS.getValue(heightPtr, 'i32'),\n bitsPerSample: charLS.getValue(bitsPerSamplePtr, 'i32'),\n stride: charLS.getValue(stridePtr, 'i32'),\n components: charLS.getValue(componentsPtr, 'i32'),\n allowedLossyError: charLS.getValue(allowedLossyErrorPtr, 'i32'),\n interleaveMode: charLS.getValue(interleaveModePtr, 'i32'),\n pixelData: undefined\n };\n\n // Copy image from emscripten heap into appropriate array buffer type\n const imagePtr = charLS.getValue(imagePtrPtr, '*');\n\n if (image.bitsPerSample <= 8) {\n image.pixelData = new Uint8Array(image.width * image.height * image.components);\n image.pixelData.set(new Uint8Array(charLS.HEAP8.buffer, imagePtr, image.pixelData.length));\n } else if (isSigned) {\n image.pixelData = new Int16Array(image.width * image.height * image.components);\n image.pixelData.set(new Int16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length));\n } else {\n image.pixelData = new Uint16Array(image.width * image.height * image.components);\n image.pixelData.set(new Uint16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length));\n }\n\n // free memory and return image object\n charLS._free(dataPtr);\n charLS._free(imagePtr);\n charLS._free(imagePtrPtr);\n charLS._free(imageSizePtr);\n charLS._free(widthPtr);\n charLS._free(heightPtr);\n charLS._free(bitsPerSamplePtr);\n charLS._free(stridePtr);\n charLS._free(componentsPtr);\n charLS._free(interleaveModePtr);\n\n return image;\n}\n\nfunction initializeJPEGLS () {\n // check to make sure codec is loaded\n if (typeof CharLS === 'undefined') {\n throw 'No JPEG-LS decoder loaded';\n }\n\n // Try to initialize CharLS\n // CharLS https://github.com/chafey/charls\n if (!charLS) {\n charLS = CharLS();\n if (!charLS || !charLS._jpegls_decode) {\n throw 'JPEG-LS failed to initialize';\n }\n }\n\n}\n\nfunction decodeJPEGLS (imageFrame, pixelData) {\n initializeJPEGLS();\n\n const image = jpegLSDecode(pixelData, imageFrame.pixelRepresentation === 1);\n // console.log(image);\n\n // throw error if not success or too much data\n if (image.result !== 0 && image.result !== 6) {\n throw `JPEG-LS decoder failed to decode frame (error code ${image.result})`;\n }\n\n imageFrame.columns = image.width;\n imageFrame.rows = image.height;\n imageFrame.pixelData = image.pixelData;\n\n return imageFrame;\n}\n\nexport default decodeJPEGLS;\nexport { initializeJPEGLS };\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeJPEGLS.js","import { registerTaskHandler } from './webWorker.js';\nimport decodeTask from './decodeTask/decodeTask.js';\n\n// register our task\nregisterTaskHandler(decodeTask);\n\nexport { registerTaskHandler };\nexport { default as version } from '../version.js';\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/index.js","// an object of task handlers\nconst taskHandlers = {};\n\n// Flag to ensure web worker is only initialized once\nlet initialized = false;\n\n// the configuration object passed in when the web worker manager is initialized\nlet config;\n\n/**\n * Initialization function that loads additional web workers and initializes them\n * @param data\n */\nfunction initialize (data) {\n // console.log('web worker initialize ', data.workerIndex);\n // prevent initialization from happening more than once\n if (initialized) {\n return;\n }\n\n // save the config data\n config = data.config;\n\n // load any additional web worker tasks\n if (data.config.webWorkerTaskPaths) {\n for (let i = 0; i < data.config.webWorkerTaskPaths.length; i++) {\n self.importScripts(data.config.webWorkerTaskPaths[i]);\n }\n }\n\n // initialize each task handler\n Object.keys(taskHandlers).forEach(function (key) {\n taskHandlers[key].initialize(config.taskConfiguration);\n });\n\n // tell main ui thread that we have completed initialization\n self.postMessage({\n taskType: 'initialize',\n status: 'success',\n result: {\n },\n workerIndex: data.workerIndex\n });\n\n initialized = true;\n}\n\n/**\n * Function exposed to web worker tasks to register themselves\n * @param taskHandler\n */\nexport function registerTaskHandler (taskHandler) {\n if (taskHandlers[taskHandler.taskType]) {\n console.log('attempt to register duplicate task handler \"', taskHandler.taskType, '\"');\n\n return false;\n }\n taskHandlers[taskHandler.taskType] = taskHandler;\n if (initialized) {\n taskHandler.initialize(config.taskConfiguration);\n }\n}\n\n/**\n * Function to load a new web worker task with updated configuration\n * @param data\n */\nfunction loadWebWorkerTask (data) {\n config = data.config;\n self.importScripts(data.sourcePath);\n}\n\n/**\n * Web worker message handler - dispatches messages to the registered task handlers\n * @param msg\n */\nself.onmessage = function (msg) {\n // console.log('web worker onmessage', msg.data);\n\n // handle initialize message\n if (msg.data.taskType === 'initialize') {\n initialize(msg.data);\n\n return;\n }\n\n // handle loadWebWorkerTask message\n if (msg.data.taskType === 'loadWebWorkerTask') {\n loadWebWorkerTask(msg.data);\n\n return;\n }\n\n // dispatch the message if there is a handler registered for it\n if (taskHandlers[msg.data.taskType]) {\n taskHandlers[msg.data.taskType].handler(msg.data, function (result, transferList) {\n self.postMessage({\n taskType: msg.data.taskType,\n status: 'success',\n result,\n workerIndex: msg.data.workerIndex\n }, transferList);\n });\n\n return;\n }\n\n // not task handler registered - send a failure message back to ui thread\n console.log('no task handler for ', msg.data.taskType);\n console.log(taskHandlers);\n self.postMessage({\n taskType: msg.data.taskType,\n status: 'failed - no task handler registered',\n workerIndex: msg.data.workerIndex\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/webWorker.js","import { initializeJPEG2000 } from './decoders/decodeJPEG2000.js';\nimport { initializeJPEGLS } from './decoders/decodeJPEGLS.js';\nimport getMinMax from '../../shared/getMinMax.js';\nimport decodeImageFrame from './decodeImageFrame.js';\n\n// flag to ensure codecs are loaded only once\nlet codecsLoaded = false;\n\n// the configuration object for the decodeTask\nlet decodeConfig;\n\n/**\n * Function to control loading and initializing the codecs\n * @param config\n */\nfunction loadCodecs (config) {\n // prevent loading codecs more than once\n if (codecsLoaded) {\n return;\n }\n\n // Load the codecs\n // console.time('loadCodecs');\n self.importScripts(config.decodeTask.codecsPath);\n codecsLoaded = true;\n // console.timeEnd('loadCodecs');\n\n // Initialize the codecs\n if (config.decodeTask.initializeCodecsOnStartup) {\n // console.time('initializeCodecs');\n initializeJPEG2000(config.decodeTask);\n initializeJPEGLS(config.decodeTask);\n // console.timeEnd('initializeCodecs');\n }\n}\n\n/**\n * Task initialization function\n */\nfunction decodeTaskInitialize (config) {\n decodeConfig = config;\n if (config.decodeTask.loadCodecsOnStartup) {\n loadCodecs(config);\n }\n}\n\nfunction calculateMinMax (imageFrame) {\n const minMax = getMinMax(imageFrame.pixelData);\n\n if (decodeConfig.decodeTask.strict === true) {\n if (imageFrame.smallestPixelValue !== minMax.min) {\n console.warn('Image smallestPixelValue tag is incorrect. Rendering performance will suffer considerably.');\n }\n\n if (imageFrame.largestPixelValue !== minMax.max) {\n console.warn('Image largestPixelValue tag is incorrect. Rendering performance will suffer considerably.');\n }\n } else {\n imageFrame.smallestPixelValue = minMax.min;\n imageFrame.largestPixelValue = minMax.max;\n }\n}\n\n/**\n * Task handler function\n */\nfunction decodeTaskHandler (data, doneCallback) {\n // Load the codecs if they aren't already loaded\n loadCodecs(decodeConfig);\n\n const imageFrame = data.data.imageFrame;\n\n // convert pixel data from ArrayBuffer to Uint8Array since web workers support passing ArrayBuffers but\n // not typed arrays\n const pixelData = new Uint8Array(data.data.pixelData);\n\n decodeImageFrame(\n imageFrame,\n data.data.transferSyntax,\n pixelData,\n decodeConfig.decodeTask,\n data.data.options);\n\n calculateMinMax(imageFrame);\n\n // convert from TypedArray to ArrayBuffer since web workers support passing ArrayBuffers but not\n // typed arrays\n imageFrame.pixelData = imageFrame.pixelData.buffer;\n\n // invoke the callback with our result and pass the pixelData in the transferList to move it to\n // UI thread without making a copy\n doneCallback(imageFrame, [imageFrame.pixelData]);\n}\n\nexport default {\n taskType: 'decodeTask',\n handler: decodeTaskHandler,\n initialize: decodeTaskInitialize\n};\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decodeTask.js","import decodeLittleEndian from './decoders/decodeLittleEndian.js';\nimport decodeBigEndian from './decoders/decodeBigEndian.js';\nimport decodeRLE from './decoders/decodeRLE.js';\nimport decodeJPEGBaseline from './decoders/decodeJPEGBaseline.js';\nimport decodeJPEGLossless from './decoders/decodeJPEGLossless.js';\nimport decodeJPEGLS from './decoders/decodeJPEGLS.js';\nimport decodeJPEG2000 from './decoders/decodeJPEG2000.js';\n\nfunction decodeImageFrame (imageFrame, transferSyntax, pixelData, decodeConfig, options) {\n const start = new Date().getTime();\n\n if (transferSyntax === '1.2.840.10008.1.2') {\n // Implicit VR Little Endian\n imageFrame = decodeLittleEndian(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.1') {\n // Explicit VR Little Endian\n imageFrame = decodeLittleEndian(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.2') {\n // Explicit VR Big Endian (retired)\n imageFrame = decodeBigEndian(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.1.99') {\n // Deflate transfer syntax (deflated by dicomParser)\n imageFrame = decodeLittleEndian(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.5') {\n // RLE Lossless\n imageFrame = decodeRLE(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.50') {\n // JPEG Baseline lossy process 1 (8 bit)\n imageFrame = decodeJPEGBaseline(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.51') {\n // JPEG Baseline lossy process 2 & 4 (12 bit)\n imageFrame = decodeJPEGBaseline(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.57') {\n // JPEG Lossless, Nonhierarchical (Processes 14)\n imageFrame = decodeJPEGLossless(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.70') {\n // JPEG Lossless, Nonhierarchical (Processes 14 [Selection 1])\n imageFrame = decodeJPEGLossless(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.80') {\n // JPEG-LS Lossless Image Compression\n imageFrame = decodeJPEGLS(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.81') {\n // JPEG-LS Lossy (Near-Lossless) Image Compression\n imageFrame = decodeJPEGLS(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.90') {\n // JPEG 2000 Lossless\n imageFrame = decodeJPEG2000(imageFrame, pixelData, decodeConfig, options);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.91') {\n // JPEG 2000 Lossy\n imageFrame = decodeJPEG2000(imageFrame, pixelData, decodeConfig, options);\n } else {\n if (console && console.log) {\n console.log(`Image cannot be decoded due to Unsupported transfer syntax ${transferSyntax}`);\n }\n\n throw `no decoder for transfer syntax ${transferSyntax}`;\n }\n\n /* Don't know if these work...\n // JPEG 2000 Part 2 Multicomponent Image Compression (Lossless Only)\n else if(transferSyntax === \"1.2.840.10008.1.2.4.92\")\n {\n return decodeJPEG2000(dataSet, frame);\n }\n // JPEG 2000 Part 2 Multicomponent Image Compression\n else if(transferSyntax === \"1.2.840.10008.1.2.4.93\")\n {\n return decodeJPEG2000(dataSet, frame);\n }\n */\n\n const end = new Date().getTime();\n\n imageFrame.decodeTimeInMS = end - start;\n\n return imageFrame;\n}\n\nexport default decodeImageFrame;\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decodeImageFrame.js","function decodeLittleEndian (imageFrame, pixelData) {\n if (imageFrame.bitsAllocated === 16) {\n let arrayBuffer = pixelData.buffer;\n let offset = pixelData.byteOffset;\n const length = pixelData.length;\n // if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array\n // buffers on it\n\n if (offset % 2) {\n arrayBuffer = arrayBuffer.slice(offset);\n offset = 0;\n }\n\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2);\n } else {\n imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2);\n }\n } else if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = pixelData;\n }\n\n return imageFrame;\n}\n\nexport default decodeLittleEndian;\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeLittleEndian.js","/* eslint no-bitwise: 0 */\nfunction swap16 (val) {\n return ((val & 0xFF) << 8) |\n ((val >> 8) & 0xFF);\n}\n\n\nfunction decodeBigEndian (imageFrame, pixelData) {\n if (imageFrame.bitsAllocated === 16) {\n let arrayBuffer = pixelData.buffer;\n let offset = pixelData.byteOffset;\n const length = pixelData.length;\n // if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array\n // buffers on it\n\n if (offset % 2) {\n arrayBuffer = arrayBuffer.slice(offset);\n offset = 0;\n }\n\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2);\n } else {\n imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2);\n }\n // Do the byte swap\n for (let i = 0; i < imageFrame.pixelData.length; i++) {\n imageFrame.pixelData[i] = swap16(imageFrame.pixelData[i]);\n }\n\n } else if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = pixelData;\n }\n\n return imageFrame;\n}\n\nexport default decodeBigEndian;\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeBigEndian.js","function decodeRLE (imageFrame, pixelData) {\n\n if (imageFrame.bitsAllocated === 8) {\n if (imageFrame.planarConfiguration) {\n return decode8Planar(imageFrame, pixelData);\n }\n\n return decode8(imageFrame, pixelData);\n } else if (imageFrame.bitsAllocated === 16) {\n return decode16(imageFrame, pixelData);\n }\n throw 'unsupported pixel format for RLE';\n\n}\n\nfunction decode8 (imageFrame, pixelData) {\n const frameData = pixelData;\n const frameSize = imageFrame.rows * imageFrame.columns;\n const outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel);\n const header = new DataView(frameData.buffer, frameData.byteOffset);\n const data = new Int8Array(frameData.buffer, frameData.byteOffset);\n const out = new Int8Array(outFrame);\n\n let outIndex = 0;\n const numSegments = header.getInt32(0, true);\n\n for (let s = 0; s < numSegments; ++s) {\n outIndex = s;\n\n let inIndex = header.getInt32((s + 1) * 4, true);\n let maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n const endOfSegment = frameSize * numSegments;\n\n while (inIndex < maxIndex) {\n const n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n // copy n bytes\n for (let i = 0; i < n + 1 && outIndex < endOfSegment; ++i) {\n out[outIndex] = data[inIndex++];\n outIndex += imageFrame.samplesPerPixel;\n }\n } else if (n <= -1 && n >= -127) {\n const value = data[inIndex++];\n // run of n bytes\n\n for (let j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) {\n out[outIndex] = value;\n outIndex += imageFrame.samplesPerPixel;\n }\n }/* else if (n === -128) {\n\n } // do nothing */\n }\n }\n imageFrame.pixelData = new Uint8Array(outFrame);\n\n return imageFrame;\n}\n\nfunction decode8Planar (imageFrame, pixelData) {\n const frameData = pixelData;\n const frameSize = imageFrame.rows * imageFrame.columns;\n const outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel);\n const header = new DataView(frameData.buffer, frameData.byteOffset);\n const data = new Int8Array(frameData.buffer, frameData.byteOffset);\n const out = new Int8Array(outFrame);\n\n let outIndex = 0;\n const numSegments = header.getInt32(0, true);\n\n for (let s = 0; s < numSegments; ++s) {\n outIndex = s * frameSize;\n\n let inIndex = header.getInt32((s + 1) * 4, true);\n let maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n const endOfSegment = frameSize * numSegments;\n\n while (inIndex < maxIndex) {\n const n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n // copy n bytes\n for (let i = 0; i < n + 1 && outIndex < endOfSegment; ++i) {\n out[outIndex] = data[inIndex++];\n outIndex++;\n }\n } else if (n <= -1 && n >= -127) {\n const value = data[inIndex++];\n // run of n bytes\n\n for (let j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) {\n out[outIndex] = value;\n outIndex++;\n }\n }/* else if (n === -128) {\n\n } // do nothing */\n }\n }\n imageFrame.pixelData = new Uint8Array(outFrame);\n\n return imageFrame;\n}\n\nfunction decode16 (imageFrame, pixelData) {\n const frameData = pixelData;\n const frameSize = imageFrame.rows * imageFrame.columns;\n const outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel * 2);\n\n const header = new DataView(frameData.buffer, frameData.byteOffset);\n const data = new Int8Array(frameData.buffer, frameData.byteOffset);\n const out = new Int8Array(outFrame);\n\n const numSegments = header.getInt32(0, true);\n\n for (let s = 0; s < numSegments; ++s) {\n let outIndex = 0;\n const highByte = (s === 0 ? 1 : 0);\n\n let inIndex = header.getInt32((s + 1) * 4, true);\n let maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n while (inIndex < maxIndex) {\n const n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n for (let i = 0; i < n + 1 && outIndex < frameSize; ++i) {\n out[(outIndex * 2) + highByte] = data[inIndex++];\n outIndex++;\n }\n } else if (n <= -1 && n >= -127) {\n const value = data[inIndex++];\n\n for (let j = 0; j < -n + 1 && outIndex < frameSize; ++j) {\n out[(outIndex * 2) + highByte] = value;\n outIndex++;\n }\n }/* else if (n === -128) {\n\n } // do nothing */\n }\n }\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(outFrame);\n } else {\n imageFrame.pixelData = new Int16Array(outFrame);\n }\n\n return imageFrame;\n}\n\nexport default decodeRLE;\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeRLE.js","\n\nfunction decodeJPEGBaseline (imageFrame, pixelData) {\n // check to make sure codec is loaded\n if (typeof JpegImage === 'undefined') {\n throw 'No JPEG Baseline decoder loaded';\n }\n const jpeg = new JpegImage();\n\n jpeg.parse(pixelData);\n\n // Do not use the internal jpeg.js color transformation,\n // since we will handle this afterwards\n jpeg.colorTransform = false;\n\n if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = jpeg.getData(imageFrame.columns, imageFrame.rows);\n\n return imageFrame;\n } else if (imageFrame.bitsAllocated === 16) {\n imageFrame.pixelData = jpeg.getData16(imageFrame.columns, imageFrame.rows);\n\n return imageFrame;\n }\n}\n\nexport default decodeJPEGBaseline;\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeJPEGBaseline.js","\n\nfunction decodeJPEGLossless (imageFrame, pixelData) {\n // check to make sure codec is loaded\n if (typeof jpeg === 'undefined' ||\n typeof jpeg.lossless === 'undefined' ||\n typeof jpeg.lossless.Decoder === 'undefined') {\n throw 'No JPEG Lossless decoder loaded';\n }\n\n const byteOutput = imageFrame.bitsAllocated <= 8 ? 1 : 2;\n // console.time('jpeglossless');\n const buffer = pixelData.buffer;\n const decoder = new jpeg.lossless.Decoder();\n const decompressedData = decoder.decode(buffer, pixelData.byteOffset, pixelData.length, byteOutput);\n // console.timeEnd('jpeglossless');\n\n if (imageFrame.pixelRepresentation === 0) {\n if (imageFrame.bitsAllocated === 16) {\n imageFrame.pixelData = new Uint16Array(decompressedData.buffer);\n\n return imageFrame;\n }\n // untested!\n imageFrame.pixelData = new Uint8Array(decompressedData.buffer);\n\n return imageFrame;\n\n }\n imageFrame.pixelData = new Int16Array(decompressedData.buffer);\n\n return imageFrame;\n\n}\n\nexport default decodeJPEGLossless;\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeJPEGLossless.js","export default '0.15.1';\n\n\n\n// WEBPACK FOOTER //\n// ./version.js"],"sourceRoot":""} \ No newline at end of file diff --git a/Packages/ohif-cornerstone/public/js/cornerstoneWADOImageLoaderWebWorker.min.js.map b/Packages/ohif-cornerstone/public/js/cornerstoneWADOImageLoaderWebWorker.min.js.map deleted file mode 100644 index 84d37269cf2..00000000000 --- a/Packages/ohif-cornerstone/public/js/cornerstoneWADOImageLoaderWebWorker.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition?5ca6","webpack:///cornerstoneWADOImageLoaderWebWorker.min.js","webpack:///webpack/bootstrap 495a94f4f47c0672c4cf?5a9b","webpack:///./version.js?a0dd","webpack:///./webWorker/decodeTask/decoders/decodeJPEG2000.js","webpack:///./webWorker/decodeTask/decoders/decodeJPEGLS.js","webpack:///./webWorker/decodeTask/decodeTask.js","webpack:///./webWorker/webWorker.js","webpack:///./webWorker/decodeTask/decodeImageFrame.js","webpack:///./webWorker/decodeTask/decoders/decodeBigEndian.js","webpack:///./webWorker/decodeTask/decoders/decodeJPEGBaseline.js","webpack:///./webWorker/decodeTask/decoders/decodeJPEGLossless.js","webpack:///./webWorker/decodeTask/decoders/decodeLittleEndian.js","webpack:///./webWorker/decodeTask/decoders/decodeRLE.js","webpack:///./webWorker/decodeTask/getMinMax.js","webpack:///./webWorker/index.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","3","default","33","decodeJpx","imageFrame","pixelData","jpxImage","JpxImage","parse","tileCount","tiles","length","columns","width","rows","height","items","decodeOpenJPEG","data","bytesPerPixel","signed","dataPtr","openJPEG","_malloc","writeArrayToMemory","imagePtrPtr","imageSizePtr","imageSizeXPtr","imageSizeYPtr","imageSizeCompPtr","t0","Date","now","ccall","console","log","_free","getValue","imagePtr","image","sx","sy","nbChannels","perf_timetodecode","undefined","src32","Int32Array","HEAP32","buffer","Uint8Array","from","Int16Array","Uint16Array","t1","decodeOpenJpeg2000","bitsAllocated","pixelRepresentation","photometricInterpretation","initializeJPEG2000","decodeConfig","usePDFJS","OpenJPEG","_jp2_decode","decodeJPEG2000","options","34","jpegLSDecode","isSigned","charLS","widthPtr","heightPtr","bitsPerSamplePtr","stridePtr","allowedLossyErrorPtr","componentsPtr","interleaveModePtr","result","bitsPerSample","stride","components","allowedLossyError","interleaveMode","set","HEAP8","HEAP16","initializeJPEGLS","CharLS","_jpegls_decode","decodeJPEGLS","38","_interopRequireDefault","obj","loadCodecs","config","codecsLoaded","self","importScripts","decodeTask","codecsPath","initializeCodecsOnStartup","_decodeJPEG","_decodeJPEGLS","decodeTaskInitialize","loadCodecsOnStartup","calculateMinMax","minMax","_getMinMax2","strict","smallestPixelValue","min","warn","largestPixelValue","max","decodeTaskHandler","doneCallback","_decodeImageFrame2","transferSyntax","_getMinMax","_decodeImageFrame","taskType","handler","initialize","39","initialized","webWorkerTaskPaths","keys","taskHandlers","forEach","key","taskConfiguration","postMessage","status","workerIndex","registerTaskHandler","taskHandler","loadWebWorkerTask","sourcePath","onmessage","msg","transferList","54","decodeImageFrame","start","getTime","_decodeLittleEndian2","_decodeBigEndian2","_decodeRLE2","_decodeJPEGBaseline2","_decodeJPEGLossless2","_decodeJPEGLS2","_decodeJPEG2","end","decodeTimeInMS","_decodeLittleEndian","_decodeBigEndian","_decodeRLE","_decodeJPEGBaseline","_decodeJPEGLossless","55","swap16","val","decodeBigEndian","arrayBuffer","offset","byteOffset","slice","56","decodeJPEGBaseline","JpegImage","jpeg","colorTransform","getData","getData16","57","decodeJPEGLossless","lossless","Decoder","byteOutput","decoder","decompressedData","decode","58","decodeLittleEndian","59","decodeRLE","planarConfiguration","decode8Planar","decode8","decode16","frameData","frameSize","outFrame","ArrayBuffer","samplesPerPixel","header","DataView","Int8Array","out","outIndex","numSegments","getInt32","inIndex","maxIndex","endOfSegment","j","highByte","60","getMinMax","storedPixelData","storedPixel","numPixels","index","Math","61","version","_version","_webWorker","_decodeTask","_decodeTask2"],"mappings":";CAAA,SAAAA,EAAAC,GACA,gBAAAC,UAAA,gBAAAC,QACAA,OAAAD,QAAAD,IACA,kBAAAG,gBAAAC,IACAD,OAAA,yCAAAH,GACA,gBAAAC,SACAA,QAAA,oCAAAD,IAEAD,EAAA,oCAAAC,KACCK,KAAA,WACD,MCCgB,UAAUC,GCP1B,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAP,OAGA,IAAAC,GAAAO,EAAAD,IACAE,EAAAF,EACAG,GAAA,EACAV,WAUA,OANAK,GAAAE,GAAAI,KAAAV,EAAAD,QAAAC,IAAAD,QAAAM,GAGAL,EAAAS,GAAA,EAGAT,EAAAD,QAvBA,GAAAQ,KA+DA,OAnCAF,GAAAM,EAAAP,EAGAC,EAAAO,EAAAL,EAGAF,EAAAG,EAAA,SAAAK,GAA2C,MAAAA,IAG3CR,EAAAS,EAAA,SAAAf,EAAAgB,EAAAC,GACAX,EAAAY,EAAAlB,EAAAgB,IACAG,OAAAC,eAAApB,EAAAgB,GACAK,cAAA,EACAC,YAAA,EACAC,IAAAN,KAMAX,EAAAkB,EAAA,SAAAvB,GACA,GAAAgB,GAAAhB,KAAAwB,WACA,WAA2B,MAAAxB,GAAA,SAC3B,WAAiC,MAAAA,GAEjC,OADAK,GAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAQ,EAAAC,GAAsD,MAAAR,QAAAS,UAAAC,eAAAlB,KAAAe,EAAAC,IAGtDrB,EAAAwB,EAAA,GAGAxB,IAAAyB,EAAA,MDiBMC,EACA,SAAU/B,EAAQD,EAASM,GAEjC,YAGAa,QAAOC,eAAepB,EAAS,cAC7Bc,OAAO,IAETd,EAAQiC,QE1FO,UF8FTC,GACA,SAAUjC,EAAQD,EAASM,GAEjC,YG/FA,SAAS6B,GAAWC,EAAYC,GAE9B,GAAMC,GAAW,GAAIC,SAErBD,GAASE,MAAMH,EAEf,IAAMI,GAAYH,EAASI,MAAMC,MAEjC,IAAkB,IAAdF,EACF,iDAAkDA,EAAlD,sBAOF,OAJAL,GAAWQ,QAAUN,EAASO,MAC9BT,EAAWU,KAAOR,EAASS,OAC3BX,EAAWC,UAAYC,EAASI,MAAM,GAAGM,MAElCZ,EAKT,QAASa,GAAgBC,EAAMC,EAAeC,GAC5C,GAAMC,GAAUC,EAASC,QAAQL,EAAKP,OAEtCW,GAASE,mBAAmBN,EAAMG,EAGlC,IAAMI,GAAcH,EAASC,QAAQ,GAC/BG,EAAeJ,EAASC,QAAQ,GAChCI,EAAgBL,EAASC,QAAQ,GACjCK,EAAgBN,EAASC,QAAQ,GACjCM,EAAmBP,EAASC,QAAQ,GAEpCO,EAAKC,KAAKC,KAKhB,IAAY,IAJAV,EAASW,MAAM,aAAc,UAAW,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,WAC7GZ,EAASH,EAAKP,OAAQc,EAAaC,EAAcC,EAAeC,EAAeC,IAYhF,MARAK,SAAQC,IAAI,iCACZb,EAASc,MAAMf,GACfC,EAASc,MAAMd,EAASe,SAASZ,EAAa,MAC9CH,EAASc,MAAMT,GACfL,EAASc,MAAMR,GACfN,EAASc,MAAMV,OACfJ,GAASc,MAAMP,EAKjB,IAAMS,GAAWhB,EAASe,SAASZ,EAAa,KAE1Cc,GACJ5B,OAAQW,EAASe,SAASX,EAAc,OACxCc,GAAIlB,EAASe,SAASV,EAAe,OACrCc,GAAInB,EAASe,SAAST,EAAe,OACrCc,WAAYpB,EAASe,SAASR,EAAkB,OAChDc,sBAAmBC,GACnBvC,cAAWuC,IAIPjC,EAAS4B,EAAMC,GAAKD,EAAME,GAAKF,EAAMG,WACrCG,EAAQ,GAAIC,YAAWxB,EAASyB,OAAOC,OAAQV,EAAU3B,EAE/D,IAAsB,IAAlBQ,EACF,GAAI8B,WAAWC,KACbX,EAAMlC,UAAY4C,WAAWC,KAAKL,OAC7B,CACLN,EAAMlC,UAAY,GAAI4C,YAAWtC,EACjC,KAAK,GAAIlC,GAAI,EAAGA,EAAIkC,EAAQlC,IAC1B8D,EAAMlC,UAAU5B,GAAKoE,EAAMpE,OAG1B,IAAI2C,EACT,GAAI+B,WAAWD,KACbX,EAAMlC,UAAY8C,WAAWD,KAAKL,OAC7B,CACLN,EAAMlC,UAAY,GAAI8C,YAAWxC,EACjC,KAAK,GAAIlC,GAAI,EAAGA,EAAIkC,EAAQlC,IAC1B8D,EAAMlC,UAAU5B,GAAKoE,EAAMpE,OAG1B,IAAI2E,YAAYF,KACrBX,EAAMlC,UAAY+C,YAAYF,KAAKL,OAC9B,CACLN,EAAMlC,UAAY,GAAI+C,aAAYzC,EAClC,KAAK,GAAIlC,GAAI,EAAGA,EAAIkC,EAAQlC,IAC1B8D,EAAMlC,UAAU5B,GAAKoE,EAAMpE,GAI/B,GAAM4E,GAAKtB,KAAKC,KAahB,OAXAO,GAAMI,kBAAoBU,EAAKvB,EAG/BR,EAASc,MAAMf,GACfC,EAASc,MAAMX,GACfH,EAASc,MAAME,GACfhB,EAASc,MAAMV,GACfJ,EAASc,MAAMT,GACfL,EAASc,MAAMR,GACfN,EAASc,MAAMP,GAERU,EAGT,QAASe,GAAoBlD,EAAYC,GACvC,GAAMc,GAAgBf,EAAWmD,eAAiB,EAAI,EAAI,EACpDnC,EAA4C,IAAnChB,EAAWoD,oBAEpBjB,EAAQtB,EAAeZ,EAAWc,EAAeC,EASvD,OAPAhB,GAAWQ,QAAU2B,EAAMC,GAC3BpC,EAAWU,KAAOyB,EAAME,GACxBrC,EAAWC,UAAYkC,EAAMlC,UACzBkC,EAAMG,WAAa,IACrBtC,EAAWqD,0BAA4B,OAGlCrD,EAGT,QAASsD,GAAoBC,GAE3B,IAAKA,EAAaC,UACQ,mBAAbC,UACT,KAAM,6BAIV,MAAKvC,IACHA,EAAWuC,aACOvC,EAASwC,aACzB,KAAM,gCAKZ,QAASC,GAAgB3D,EAAYC,EAAWsD,EAAcK,GAK5D,MAJAA,GAAUA,MAEVN,EAAmBC,GAEfK,EAAQJ,UAAYD,EAAaC,SAG5BzD,EAAUC,EAAYC,GAKxBiD,EAAmBlD,EAAYC,GHvDxClB,OAAOC,eAAepB,EAAS,cAC7Bc,OAAO,GGhFT,IAAIwC,SH+OJtD,GAAQiC,QGtGO8D,EHuGf/F,EGtGS0F,sBH0GHO,GACA,SAAUhG,EAAQD,EAASM,GAEjC,YIxQA,SAAS4F,GAAchD,EAAMiD,GAG3B,GAAM9C,GAAU+C,EAAO7C,QAAQL,EAAKP,OAEpCyD,GAAO5C,mBAAmBN,EAAMG,EAGhC,IAAMI,GAAc2C,EAAO7C,QAAQ,GAC7BG,EAAe0C,EAAO7C,QAAQ,GAC9B8C,EAAWD,EAAO7C,QAAQ,GAC1B+C,EAAYF,EAAO7C,QAAQ,GAC3BgD,EAAmBH,EAAO7C,QAAQ,GAClCiD,EAAYJ,EAAO7C,QAAQ,GAC3BkD,EAAuBL,EAAO7C,QAAQ,GACtCmD,EAAgBN,EAAO7C,QAAQ,GAC/BoD,EAAoBP,EAAO7C,QAAQ,GAGnCqD,EAASR,EAAOnC,MACpB,gBACA,UACC,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,WACpGZ,EAASH,EAAKP,OAAQc,EAAaC,EAAc2C,EAAUC,EAAWC,EAAkBC,EAAWE,EAAeD,EAAsBE,IAIrIpC,GACJqC,SACA/D,MAAOuD,EAAO/B,SAASgC,EAAU,OACjCtD,OAAQqD,EAAO/B,SAASiC,EAAW,OACnCO,cAAeT,EAAO/B,SAASkC,EAAkB,OACjDO,OAAQV,EAAO/B,SAASmC,EAAW,OACnCO,WAAYX,EAAO/B,SAASqC,EAAe,OAC3CM,kBAAmBZ,EAAO/B,SAASoC,EAAsB,OACzDQ,eAAgBb,EAAO/B,SAASsC,EAAmB,OACnDtE,cAAWuC,IAIPN,EAAW8B,EAAO/B,SAASZ,EAAa,IAyB9C,OAvBIc,GAAMsC,eAAiB,GACzBtC,EAAMlC,UAAY,GAAI4C,YAAWV,EAAM1B,MAAQ0B,EAAMxB,OAASwB,EAAMwC,YACpExC,EAAMlC,UAAU6E,IAAI,GAAIjC,YAAWmB,EAAOe,MAAMnC,OAAQV,EAAUC,EAAMlC,UAAUM,UACzEwD,GACT5B,EAAMlC,UAAY,GAAI8C,YAAWZ,EAAM1B,MAAQ0B,EAAMxB,OAASwB,EAAMwC,YACpExC,EAAMlC,UAAU6E,IAAI,GAAI/B,YAAWiB,EAAOgB,OAAOpC,OAAQV,EAAUC,EAAMlC,UAAUM,WAEnF4B,EAAMlC,UAAY,GAAI+C,aAAYb,EAAM1B,MAAQ0B,EAAMxB,OAASwB,EAAMwC,YACrExC,EAAMlC,UAAU6E,IAAI,GAAI9B,aAAYgB,EAAOgB,OAAOpC,OAAQV,EAAUC,EAAMlC,UAAUM,UAItFyD,EAAOhC,MAAMf,GACb+C,EAAOhC,MAAME,GACb8B,EAAOhC,MAAMX,GACb2C,EAAOhC,MAAMV,GACb0C,EAAOhC,MAAMiC,GACbD,EAAOhC,MAAMkC,GACbF,EAAOhC,MAAMmC,GACbH,EAAOhC,MAAMoC,GACbJ,EAAOhC,MAAMsC,GACbN,EAAOhC,MAAMuC,GAENpC,EAGT,QAAS8C,KAEP,GAAsB,mBAAXC,QACT,KAAM,2BAKR,MAAKlB,IACHA,EAASkB,WACOlB,EAAOmB,gBACrB,KAAM,+BAMZ,QAASC,GAAcpF,EAAYC,GACjCgF,GAEA,IAAM9C,GAAQ2B,EAAa7D,EAA8C,IAAnCD,EAAWoD,oBAIjD,IAAqB,IAAjBjB,EAAMqC,QAAiC,IAAjBrC,EAAMqC,OAC9B,2DAA4DrC,EAAMqC,OAAlE,GAOF,OAJAxE,GAAWQ,QAAU2B,EAAM1B,MAC3BT,EAAWU,KAAOyB,EAAMxB,OACxBX,EAAWC,UAAYkC,EAAMlC,UAEtBD,EJuKTjB,OAAOC,eAAepB,EAAS,cAC7Bc,OAAO,GI9QT,IAAIsF,SJqXJpG,GAAQiC,QI5QOuF,EJ6QfxH,EI5QSqH,oBJgRHI,GACA,SAAUxH,EAAQD,EAASM,GAEjC,YAmBA,SAASoH,GAAuBC,GAAO,MAAOA,IAAOA,EAAIlG,WAAakG,GAAQ1F,QAAS0F,GKnYvF,QAASC,GAAYC,GAEfC,IAMJC,KAAKC,cAAcH,EAAOI,WAAWC,YACrCJ,GAAe,EAIXD,EAAOI,WAAWE,6BAEpB,EAAAC,EAAA1C,oBAAmBmC,EAAOI,aAC1B,EAAAI,EAAAhB,kBAAiBQ,EAAOI,cAQ5B,QAASK,GAAsBT,GAC7BlC,EAAekC,EACXA,EAAOI,WAAWM,qBACpBX,EAAWC,GAIf,QAASW,GAAiBpG,GACxB,GAAMqG,IAAS,EAAAC,EAAAzG,SAAUG,EAAWC,YAEG,IAAnCsD,EAAasC,WAAWU,QACtBvG,EAAWwG,qBAAuBH,EAAOI,KAC3C3E,QAAQ4E,KAAK,8FAGX1G,EAAW2G,oBAAsBN,EAAOO,KAC1C9E,QAAQ4E,KAAK,+FAGf1G,EAAWwG,mBAAqBH,EAAOI,IACvCzG,EAAW2G,kBAAoBN,EAAOO,KAO1C,QAASC,GAAmB/F,EAAMgG,GAEhCtB,EAAWjC,EAEX,IAAMvD,GAAac,EAAKA,KAAKd,WAIvBC,EAAY,GAAI4C,YAAW/B,EAAKA,KAAKb,YAE3C,EAAA8G,EAAAlH,SACEG,EACAc,EAAKA,KAAKkG,eACV/G,EACAsD,EAAasC,WACb/E,EAAKA,KAAK8C,SAEZwC,EAAgBpG,GAIhBA,EAAWC,UAAYD,EAAWC,UAAU2C,OAI5CkE,EAAa9G,GAAaA,EAAWC,YLuSvClB,OAAOC,eAAepB,EAAS,cAC7Bc,OAAO,GKnYT,IAAAsH,GAAA9H,EAAA,IACA+H,EAAA/H,EAAA,IACA+I,EAAA/I,EAAA,IL0YIoI,EAAchB,EAAuB2B,GKzYzCC,EAAAhJ,EAAA,IL6YI6I,EAAqBzB,EAAuB4B,GK1Y5CxB,GAAe,EAGfnC,QL+dJ3F,GAAQiC,SKzYNsH,SAAU,aACVC,QAASP,EACTQ,WAAYnB,IL+YRoB,GACA,SAAUzJ,EAAQD,EAASM,GAEjC,YMteA,SAASmJ,GAAYvG,GAGnB,IAAIyG,EAAJ,CAQA,GAHA9B,EAAS3E,EAAK2E,OAGV3E,EAAK2E,OAAO+B,mBACd,IAAK,GAAInJ,GAAI,EAAGA,EAAIyC,EAAK2E,OAAO+B,mBAAmBjH,OAAQlC,IACzDsH,KAAKC,cAAc9E,EAAK2E,OAAO+B,mBAAmBnJ,GAKtDU,QAAO0I,KAAKC,GAAcC,QAAQ,SAAUC,GAC1CF,EAAaE,GAAKP,WAAW5B,EAAOoC,qBAItClC,KAAKmC,aACHX,SAAU,aACVY,OAAQ,UACRvD,UAEAwD,YAAalH,EAAKkH,cAGpBT,GAAc,GAOT,QAASU,GAAqBC,GACnC,GAAIR,EAAaQ,EAAYf,UAG3B,MAFArF,SAAQC,IAAI,+CAAgDmG,EAAYf,SAAU,MAE3E,CAETO,GAAaQ,EAAYf,UAAYe,EACjCX,GACFW,EAAYb,WAAW5B,EAAOoC,mBAQlC,QAASM,GAAmBrH,GAC1B2E,EAAS3E,EAAK2E,OACdE,KAAKC,cAAc9E,EAAKsH,YNib1BrJ,OAAOC,eAAepB,EAAS,cAC7Bc,OAAO,IAETd,EMtcgBqK,qBAlDhB,IAAMP,MAGFH,GAAc,EAGd9B,QAqEJE,MAAK0C,UAAY,SAAUC,GAIzB,MAA0B,eAAtBA,EAAIxH,KAAKqG,aACXE,GAAWiB,EAAIxH,MAMS,sBAAtBwH,EAAIxH,KAAKqG,aACXgB,GAAkBG,EAAIxH,MAMpB4G,EAAaY,EAAIxH,KAAKqG,cACxBO,GAAaY,EAAIxH,KAAKqG,UAAUC,QAAQkB,EAAIxH,KAAM,SAAU0D,EAAQ+D,GAClE5C,KAAKmC,aACHX,SAAUmB,EAAIxH,KAAKqG,SACnBY,OAAQ,UACRvD,SACAwD,YAAaM,EAAIxH,KAAKkH,aACrBO,MAOPzG,QAAQC,IAAI,uBAAwBuG,EAAIxH,KAAKqG,UAC7CrF,QAAQC,IAAI2F,OACZ/B,MAAKmC,aACHX,SAAUmB,EAAIxH,KAAKqG,SACnBY,OAAQ,sCACRC,YAAaM,EAAIxH,KAAKkH,iBN+fpBQ,GACA,SAAU3K,EAAQD,EAASM,GAEjC,YAmCA,SAASoH,GAAuBC,GAAO,MAAOA,IAAOA,EAAIlG,WAAakG,GAAQ1F,QAAS0F,GO9oBvF,QAASkD,GAAkBzI,EAAYgH,EAAgB/G,EAAWsD,EAAcK,GAC9E,GAAM8E,IAAQ,GAAI/G,OAAOgH,SAEzB,IAAuB,sBAAnB3B,EAEFhH,GAAa,EAAA4I,EAAA/I,SAAmBG,EAAYC,OACvC,IAAuB,wBAAnB+G,EAEThH,GAAa,EAAA4I,EAAA/I,SAAmBG,EAAYC,OACvC,IAAuB,wBAAnB+G,EAEThH,GAAa,EAAA6I,EAAAhJ,SAAgBG,EAAYC,OACpC,IAAuB,2BAAnB+G,EAEThH,GAAa,EAAA4I,EAAA/I,SAAmBG,EAAYC,OACvC,IAAuB,wBAAnB+G,EAEThH,GAAa,EAAA8I,EAAAjJ,SAAUG,EAAYC,OAC9B,IAAuB,2BAAnB+G,EAEThH,GAAa,EAAA+I,EAAAlJ,SAAmBG,EAAYC,OACvC,IAAuB,2BAAnB+G,EAEThH,GAAa,EAAA+I,EAAAlJ,SAAmBG,EAAYC,OACvC,IAAuB,2BAAnB+G,EAEThH,GAAa,EAAAgJ,EAAAnJ,SAAmBG,EAAYC,OACvC,IAAuB,2BAAnB+G,EAEThH,GAAa,EAAAgJ,EAAAnJ,SAAmBG,EAAYC,OACvC,IAAuB,2BAAnB+G,EAEThH,GAAa,EAAAiJ,EAAApJ,SAAaG,EAAYC,OACjC,IAAuB,2BAAnB+G,EAEThH,GAAa,EAAAiJ,EAAApJ,SAAaG,EAAYC,OACjC,IAAuB,2BAAnB+G,EAEThH,GAAa,EAAAkJ,EAAArJ,SAAeG,EAAYC,EAAWsD,EAAcK,OAC5D,IAAuB,2BAAnBoD,EAQT,KAJIlF,UAAWA,QAAQC,KACrBD,QAAQC,IAAR,8DAA0EiF,GAG5E,kCAAwCA,CANxChH,IAAa,EAAAkJ,EAAArJ,SAAeG,EAAYC,EAAWsD,EAAcK,GAsBnE,GAAMuF,IAAM,GAAIxH,OAAOgH,SAIvB,OAFA3I,GAAWoJ,eAAiBD,EAAMT,EAE3B1I,EP2iBTjB,OAAOC,eAAepB,EAAS,cAC7Bc,OAAO,GOvnBT,IAAA2K,GAAAnL,EAAA,IP4nBI0K,EAAuBtD,EAAuB+D,GO3nBlDC,EAAApL,EAAA,IP+nBI2K,EAAoBvD,EAAuBgE,GO9nB/CC,EAAArL,EAAA,IPkoBI4K,EAAcxD,EAAuBiE,GOjoBzCC,EAAAtL,EAAA,IPqoBI6K,EAAuBzD,EAAuBkE,GOpoBlDC,EAAAvL,EAAA,IPwoBI8K,EAAuB1D,EAAuBmE,GOvoBlDxD,EAAA/H,EAAA,IP2oBI+K,EAAiB3D,EAAuBW,GO1oB5CD,EAAA9H,EAAA,IP8oBIgL,EAAe5D,EAAuBU,EA0E1CpI,GAAQiC,QOhpBO4I,GPopBTiB,GACA,SAAU7L,EAAQD,EAASM,GAEjC,YQpuBA,SAASyL,GAAQC,GACf,OAAe,IAANA,IAAe,EACpBA,GAAO,EAAK,IAIlB,QAASC,GAAiB7J,EAAYC,GACpC,GAAiC,KAA7BD,EAAWmD,cAAsB,CACnC,GAAI2G,GAAc7J,EAAU2C,OACxBmH,EAAS9J,EAAU+J,WACjBzJ,EAASN,EAAUM,MAIrBwJ,GAAS,IACXD,EAAcA,EAAYG,MAAMF,GAChCA,EAAS,GAG4B,IAAnC/J,EAAWoD,oBACbpD,EAAWC,UAAY,GAAI+C,aAAY8G,EAAaC,EAAQxJ,EAAS,GAErEP,EAAWC,UAAY,GAAI8C,YAAW+G,EAAaC,EAAQxJ,EAAS,EAGtE,KAAK,GAAIlC,GAAI,EAAGA,EAAI2B,EAAWC,UAAUM,OAAQlC,IAC/C2B,EAAWC,UAAU5B,GAAKsL,EAAO3J,EAAWC,UAAU5B,QAGlB,KAA7B2B,EAAWmD,gBACpBnD,EAAWC,UAAYA,EAGzB,OAAOD,GRssBTjB,OAAOC,eAAepB,EAAS,cAC7Bc,OAAO,IAoCTd,EAAQiC,QQxuBOgK,GR4uBTK,GACA,SAAUrM,EAAQD,EAASM,GAEjC,YSlxBA,SAASiM,GAAoBnK,EAAYC,GAEvC,GAAyB,mBAAdmK,WACT,KAAM,iCAER,IAAMC,GAAO,GAAID,UAQjB,OANAC,GAAKjK,MAAMH,GAIXoK,EAAKC,gBAAiB,EAEW,IAA7BtK,EAAWmD,eACbnD,EAAWC,UAAYoK,EAAKE,QAAQvK,EAAWQ,QAASR,EAAWU,MAE5DV,GAC+B,KAA7BA,EAAWmD,eACpBnD,EAAWC,UAAYoK,EAAKG,UAAUxK,EAAWQ,QAASR,EAAWU,MAE9DV,OAHF,GTowBTjB,OAAOC,eAAepB,EAAS,cAC7Bc,OAAO,IA4BTd,EAAQiC,QS1xBOsK,GT8xBTM,GACA,SAAU5M,EAAQD,EAASM,GAEjC,YUzzBA,SAASwM,GAAoB1K,EAAYC,GAEvC,GAAoB,mBAAToK,WACgB,KAAlBA,KAAKM,cACqB,KAA1BN,KAAKM,SAASC,QACrB,KAAM,iCAGR,IAAMC,GAAa7K,EAAWmD,eAAiB,EAAI,EAAI,EAEjDP,EAAS3C,EAAU2C,OACnBkI,EAAU,GAAIT,MAAKM,SAASC,QAC5BG,EAAmBD,EAAQE,OAAOpI,EAAQ3C,EAAU+J,WAAY/J,EAAUM,OAAQsK,EAGxF,OAAuC,KAAnC7K,EAAWoD,oBACoB,KAA7BpD,EAAWmD,eACbnD,EAAWC,UAAY,GAAI+C,aAAY+H,EAAiBnI,QAEjD5C,IAGTA,EAAWC,UAAY,GAAI4C,YAAWkI,EAAiBnI,QAEhD5C,IAGTA,EAAWC,UAAY,GAAI8C,YAAWgI,EAAiBnI,QAEhD5C,GV+xBTjB,OAAOC,eAAepB,EAAS,cAC7Bc,OAAO,IAiCTd,EAAQiC,QU7zBO6K,GVi0BTO,GACA,SAAUpN,EAAQD,EAASM,GAEjC,YWv2BA,SAASgN,GAAoBlL,EAAYC,GACvC,GAAiC,KAA7BD,EAAWmD,cAAsB,CACnC,GAAI2G,GAAc7J,EAAU2C,OACxBmH,EAAS9J,EAAU+J,WACjBzJ,EAASN,EAAUM,MAIrBwJ,GAAS,IACXD,EAAcA,EAAYG,MAAMF,GAChCA,EAAS,GAG4B,IAAnC/J,EAAWoD,oBACbpD,EAAWC,UAAY,GAAI+C,aAAY8G,EAAaC,EAAQxJ,EAAS,GAErEP,EAAWC,UAAY,GAAI8C,YAAW+G,EAAaC,EAAQxJ,EAAS,OAEhC,KAA7BP,EAAWmD,gBACpBnD,EAAWC,UAAYA,EAGzB,OAAOD,GXo1BTjB,OAAOC,eAAepB,EAAS,cAC7Bc,OAAO,IA2BTd,EAAQiC,QW72BOqL,GXi3BTC,GACA,SAAUtN,EAAQD,EAASM,GAEjC,YY74BA,SAASkN,GAAWpL,EAAYC,GAE9B,GAAiC,IAA7BD,EAAWmD,cACb,MAAInD,GAAWqL,oBACNC,EAActL,EAAYC,GAG5BsL,EAAQvL,EAAYC,EACtB,IAAiC,KAA7BD,EAAWmD,cACpB,MAAOqI,GAASxL,EAAYC,EAE9B,MAAM,mCAIR,QAASsL,GAASvL,EAAYC,GAW5B,IAAK,GAVCwL,GAAYxL,EACZyL,EAAY1L,EAAWU,KAAOV,EAAWQ,QACzCmL,EAAW,GAAIC,aAAYF,EAAY1L,EAAW6L,iBAClDC,EAAS,GAAIC,UAASN,EAAU7I,OAAQ6I,EAAUzB,YAClDlJ,EAAO,GAAIkL,WAAUP,EAAU7I,OAAQ6I,EAAUzB,YACjDiC,EAAM,GAAID,WAAUL,GAEtBO,EAAW,EACTC,EAAcL,EAAOM,SAAS,GAAG,GAE9BzM,EAAI,EAAGA,EAAIwM,IAAexM,EAAG,CACpCuM,EAAWvM,CAEX,IAAI0M,GAAUP,EAAOM,SAAmB,GAATzM,EAAI,IAAQ,GACvC2M,EAAWR,EAAOM,SAAmB,GAATzM,EAAI,IAAQ,EAE3B,KAAb2M,IACFA,EAAWb,EAAUlL,OAKvB,KAFA,GAAMgM,GAAeb,EAAYS,EAE1BE,EAAUC,GAAU,CACzB,GAAMlN,GAAI0B,EAAKuL,IAEf,IAAIjN,GAAK,GAAKA,GAAK,IAEjB,IAAK,GAAIf,GAAI,EAAGA,EAAIe,EAAI,GAAK8M,EAAWK,IAAgBlO,EACtD4N,EAAIC,GAAYpL,EAAKuL,KACrBH,GAAYlM,EAAW6L,oBAEpB,IAAIzM,IAAM,GAAKA,IAAM,IAI1B,IAAK,GAHCV,GAAQoC,EAAKuL,KAGVG,EAAI,EAAGA,EAAS,EAAJpN,GAAS8M,EAAWK,IAAgBC,EACvDP,EAAIC,GAAYxN,EAChBwN,GAAYlM,EAAW6L,iBAS/B,MAFA7L,GAAWC,UAAY,GAAI4C,YAAW8I,GAE/B3L,EAGT,QAASsL,GAAetL,EAAYC,GAWlC,IAAK,GAVCwL,GAAYxL,EACZyL,EAAY1L,EAAWU,KAAOV,EAAWQ,QACzCmL,EAAW,GAAIC,aAAYF,EAAY1L,EAAW6L,iBAClDC,EAAS,GAAIC,UAASN,EAAU7I,OAAQ6I,EAAUzB,YAClDlJ,EAAO,GAAIkL,WAAUP,EAAU7I,OAAQ6I,EAAUzB,YACjDiC,EAAM,GAAID,WAAUL,GAEtBO,EAAW,EACTC,EAAcL,EAAOM,SAAS,GAAG,GAE9BzM,EAAI,EAAGA,EAAIwM,IAAexM,EAAG,CACpCuM,EAAWvM,EAAI+L,CAEf,IAAIW,GAAUP,EAAOM,SAAmB,GAATzM,EAAI,IAAQ,GACvC2M,EAAWR,EAAOM,SAAmB,GAATzM,EAAI,IAAQ,EAE3B,KAAb2M,IACFA,EAAWb,EAAUlL,OAKvB,KAFA,GAAMgM,GAAeb,EAAYS,EAE1BE,EAAUC,GAAU,CACzB,GAAMlN,GAAI0B,EAAKuL,IAEf,IAAIjN,GAAK,GAAKA,GAAK,IAEjB,IAAK,GAAIf,GAAI,EAAGA,EAAIe,EAAI,GAAK8M,EAAWK,IAAgBlO,EACtD4N,EAAIC,GAAYpL,EAAKuL,KACrBH,QAEG,IAAI9M,IAAM,GAAKA,IAAM,IAI1B,IAAK,GAHCV,GAAQoC,EAAKuL,KAGVG,EAAI,EAAGA,EAAS,EAAJpN,GAAS8M,EAAWK,IAAgBC,EACvDP,EAAIC,GAAYxN,EAChBwN,KASR,MAFAlM,GAAWC,UAAY,GAAI4C,YAAW8I,GAE/B3L,EAGT,QAASwL,GAAUxL,EAAYC,GAW7B,IAAK,GAVCwL,GAAYxL,EACZyL,EAAY1L,EAAWU,KAAOV,EAAWQ,QACzCmL,EAAW,GAAIC,aAAYF,EAAY1L,EAAW6L,gBAAkB,GAEpEC,EAAS,GAAIC,UAASN,EAAU7I,OAAQ6I,EAAUzB,YAClDlJ,EAAO,GAAIkL,WAAUP,EAAU7I,OAAQ6I,EAAUzB,YACjDiC,EAAM,GAAID,WAAUL,GAEpBQ,EAAcL,EAAOM,SAAS,GAAG,GAE9BzM,EAAI,EAAGA,EAAIwM,IAAexM,EAAG,CACpC,GAAIuM,GAAW,EACTO,EAAkB,IAAN9M,EAAU,EAAI,EAE5B0M,EAAUP,EAAOM,SAAmB,GAATzM,EAAI,IAAQ,GACvC2M,EAAWR,EAAOM,SAAmB,GAATzM,EAAI,IAAQ,EAM5C,KAJiB,IAAb2M,IACFA,EAAWb,EAAUlL,QAGhB8L,EAAUC,GAAU,CACzB,GAAMlN,GAAI0B,EAAKuL,IAEf,IAAIjN,GAAK,GAAKA,GAAK,IACjB,IAAK,GAAIf,GAAI,EAAGA,EAAIe,EAAI,GAAK8M,EAAWR,IAAarN,EACnD4N,EAAgB,EAAXC,EAAgBO,GAAY3L,EAAKuL,KACtCH,QAEG,IAAI9M,IAAM,GAAKA,IAAM,IAG1B,IAAK,GAFCV,GAAQoC,EAAKuL,KAEVG,EAAI,EAAGA,EAAS,EAAJpN,GAAS8M,EAAWR,IAAac,EACpDP,EAAgB,EAAXC,EAAgBO,GAAY/N,EACjCwN,KAaR,MANuC,KAAnClM,EAAWoD,oBACbpD,EAAWC,UAAY,GAAI+C,aAAY2I,GAEvC3L,EAAWC,UAAY,GAAI8C,YAAW4I,GAGjC3L,EZ6uBTjB,OAAOC,eAAepB,EAAS,cAC7Bc,OAAO,IAoKTd,EAAQiC,QY/4BOuL,GZm5BTsB,GACA,SAAU7O,EAAQD,EAASM,GAEjC,Ya5jCA,SAASyO,GAAWC,GASlB,IAAK,GALDnG,GAAMmG,EAAgB,GACtBhG,EAAMgG,EAAgB,GACtBC,SACEC,EAAYF,EAAgBrM,OAEzBwM,EAAQ,EAAGA,EAAQD,EAAWC,IACrCF,EAAcD,EAAgBG,GAC9BtG,EAAMuG,KAAKvG,IAAIA,EAAKoG,GACpBjG,EAAMoG,KAAKpG,IAAIA,EAAKiG,EAGtB,QACEpG,MACAG,Ob8iCJ7H,OAAOC,eAAepB,EAAS,cAC7Bc,OAAO,IAuBTd,EAAQiC,QalkCO8M,GbskCTM,GACA,SAAUpP,EAAQD,EAASM,GAEjC,YAuBA,SAASoH,GAAuBC,GAAO,MAAOA,IAAOA,EAAIlG,WAAakG,GAAQ1F,QAAS0F,GApBvFxG,OAAOC,eAAepB,EAAS,cAC7Bc,OAAO,IAETd,EAAQsP,QAAUtP,EAAQqK,wBAAsBzF,EAEhD,IAAI2K,GAAWjP,EAAoB,EAEnCa,QAAOC,eAAepB,EAAS,WAC7BsB,YAAY,EACZC,IAAK,WACH,MAAOmG,GAAuB6H,GcpmCzBtN,UAPT,IAAAuN,GAAAlP,EAAA,IACAmP,EAAAnP,EAAA,IdknCIoP,EAAehI,EAAuB+H,Ic/mC1C,EAAAD,EAAAnF,qBAAAqF,EAAAzN,SdsnCAjC,EcpnCSqK,oBdonCqBmF,EAAWnF","file":"cornerstoneWADOImageLoaderWebWorker.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"cornerstoneWADOImageLoaderWebWorker\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"cornerstoneWADOImageLoaderWebWorker\"] = factory();\n\telse\n\t\troot[\"cornerstoneWADOImageLoaderWebWorker\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","/*! cornerstone-wado-image-loader - 0.14.7 - 2017-09-15 | (c) 2016 Chris Hafey | https://github.com/chafey/cornerstoneWADOImageLoader */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"cornerstoneWADOImageLoaderWebWorker\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"cornerstoneWADOImageLoaderWebWorker\"] = factory();\n\telse\n\t\troot[\"cornerstoneWADOImageLoaderWebWorker\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 61);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 3:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = '0.14.7';\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nfunction decodeJpx(imageFrame, pixelData) {\n\n var jpxImage = new JpxImage();\n\n jpxImage.parse(pixelData);\n\n var tileCount = jpxImage.tiles.length;\n\n if (tileCount !== 1) {\n throw 'JPEG2000 decoder returned a tileCount of ' + tileCount + ', when 1 is expected';\n }\n\n imageFrame.columns = jpxImage.width;\n imageFrame.rows = jpxImage.height;\n imageFrame.pixelData = jpxImage.tiles[0].items;\n\n return imageFrame;\n}\n\nvar openJPEG = void 0;\n\nfunction decodeOpenJPEG(data, bytesPerPixel, signed) {\n var dataPtr = openJPEG._malloc(data.length);\n\n openJPEG.writeArrayToMemory(data, dataPtr);\n\n // create param outpout\n var imagePtrPtr = openJPEG._malloc(4);\n var imageSizePtr = openJPEG._malloc(4);\n var imageSizeXPtr = openJPEG._malloc(4);\n var imageSizeYPtr = openJPEG._malloc(4);\n var imageSizeCompPtr = openJPEG._malloc(4);\n\n var t0 = Date.now();\n var ret = openJPEG.ccall('jp2_decode', 'number', ['number', 'number', 'number', 'number', 'number', 'number', 'number'], [dataPtr, data.length, imagePtrPtr, imageSizePtr, imageSizeXPtr, imageSizeYPtr, imageSizeCompPtr]);\n // add num vomp..etc\n\n if (ret !== 0) {\n console.log('[opj_decode] decoding failed!');\n openJPEG._free(dataPtr);\n openJPEG._free(openJPEG.getValue(imagePtrPtr, '*'));\n openJPEG._free(imageSizeXPtr);\n openJPEG._free(imageSizeYPtr);\n openJPEG._free(imageSizePtr);\n openJPEG._free(imageSizeCompPtr);\n\n return undefined;\n }\n\n var imagePtr = openJPEG.getValue(imagePtrPtr, '*');\n\n var image = {\n length: openJPEG.getValue(imageSizePtr, 'i32'),\n sx: openJPEG.getValue(imageSizeXPtr, 'i32'),\n sy: openJPEG.getValue(imageSizeYPtr, 'i32'),\n nbChannels: openJPEG.getValue(imageSizeCompPtr, 'i32'), // hard coded for now\n perf_timetodecode: undefined,\n pixelData: undefined\n };\n\n // Copy the data from the EMSCRIPTEN heap into the correct type array\n var length = image.sx * image.sy * image.nbChannels;\n var src32 = new Int32Array(openJPEG.HEAP32.buffer, imagePtr, length);\n\n if (bytesPerPixel === 1) {\n if (Uint8Array.from) {\n image.pixelData = Uint8Array.from(src32);\n } else {\n image.pixelData = new Uint8Array(length);\n for (var i = 0; i < length; i++) {\n image.pixelData[i] = src32[i];\n }\n }\n } else if (signed) {\n if (Int16Array.from) {\n image.pixelData = Int16Array.from(src32);\n } else {\n image.pixelData = new Int16Array(length);\n for (var _i = 0; _i < length; _i++) {\n image.pixelData[_i] = src32[_i];\n }\n }\n } else if (Uint16Array.from) {\n image.pixelData = Uint16Array.from(src32);\n } else {\n image.pixelData = new Uint16Array(length);\n for (var _i2 = 0; _i2 < length; _i2++) {\n image.pixelData[_i2] = src32[_i2];\n }\n }\n\n var t1 = Date.now();\n\n image.perf_timetodecode = t1 - t0;\n\n // free\n openJPEG._free(dataPtr);\n openJPEG._free(imagePtrPtr);\n openJPEG._free(imagePtr);\n openJPEG._free(imageSizePtr);\n openJPEG._free(imageSizeXPtr);\n openJPEG._free(imageSizeYPtr);\n openJPEG._free(imageSizeCompPtr);\n\n return image;\n}\n\nfunction decodeOpenJpeg2000(imageFrame, pixelData) {\n var bytesPerPixel = imageFrame.bitsAllocated <= 8 ? 1 : 2;\n var signed = imageFrame.pixelRepresentation === 1;\n\n var image = decodeOpenJPEG(pixelData, bytesPerPixel, signed);\n\n imageFrame.columns = image.sx;\n imageFrame.rows = image.sy;\n imageFrame.pixelData = image.pixelData;\n if (image.nbChannels > 1) {\n imageFrame.photometricInterpretation = 'RGB';\n }\n\n return imageFrame;\n}\n\nfunction initializeJPEG2000(decodeConfig) {\n // check to make sure codec is loaded\n if (!decodeConfig.usePDFJS) {\n if (typeof OpenJPEG === 'undefined') {\n throw 'OpenJPEG decoder not loaded';\n }\n }\n\n if (!openJPEG) {\n openJPEG = OpenJPEG();\n if (!openJPEG || !openJPEG._jp2_decode) {\n throw 'OpenJPEG failed to initialize';\n }\n }\n}\n\nfunction decodeJPEG2000(imageFrame, pixelData, decodeConfig, options) {\n options = options || {};\n\n initializeJPEG2000(decodeConfig);\n\n if (options.usePDFJS || decodeConfig.usePDFJS) {\n // OHIF image-JPEG2000 https://github.com/OHIF/image-JPEG2000\n // console.log('PDFJS')\n return decodeJpx(imageFrame, pixelData);\n }\n\n // OpenJPEG2000 https://github.com/jpambrun/openjpeg\n // console.log('OpenJPEG')\n return decodeOpenJpeg2000(imageFrame, pixelData);\n}\n\nexports.default = decodeJPEG2000;\nexports.initializeJPEG2000 = initializeJPEG2000;\n\n/***/ }),\n\n/***/ 34:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar charLS = void 0;\n\nfunction jpegLSDecode(data, isSigned) {\n\n // prepare input parameters\n var dataPtr = charLS._malloc(data.length);\n\n charLS.writeArrayToMemory(data, dataPtr);\n\n // prepare output parameters\n var imagePtrPtr = charLS._malloc(4);\n var imageSizePtr = charLS._malloc(4);\n var widthPtr = charLS._malloc(4);\n var heightPtr = charLS._malloc(4);\n var bitsPerSamplePtr = charLS._malloc(4);\n var stridePtr = charLS._malloc(4);\n var allowedLossyErrorPtr = charLS._malloc(4);\n var componentsPtr = charLS._malloc(4);\n var interleaveModePtr = charLS._malloc(4);\n\n // Decode the image\n var result = charLS.ccall('jpegls_decode', 'number', ['number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number'], [dataPtr, data.length, imagePtrPtr, imageSizePtr, widthPtr, heightPtr, bitsPerSamplePtr, stridePtr, componentsPtr, allowedLossyErrorPtr, interleaveModePtr]);\n\n // Extract result values into object\n var image = {\n result: result,\n width: charLS.getValue(widthPtr, 'i32'),\n height: charLS.getValue(heightPtr, 'i32'),\n bitsPerSample: charLS.getValue(bitsPerSamplePtr, 'i32'),\n stride: charLS.getValue(stridePtr, 'i32'),\n components: charLS.getValue(componentsPtr, 'i32'),\n allowedLossyError: charLS.getValue(allowedLossyErrorPtr, 'i32'),\n interleaveMode: charLS.getValue(interleaveModePtr, 'i32'),\n pixelData: undefined\n };\n\n // Copy image from emscripten heap into appropriate array buffer type\n var imagePtr = charLS.getValue(imagePtrPtr, '*');\n\n if (image.bitsPerSample <= 8) {\n image.pixelData = new Uint8Array(image.width * image.height * image.components);\n image.pixelData.set(new Uint8Array(charLS.HEAP8.buffer, imagePtr, image.pixelData.length));\n } else if (isSigned) {\n image.pixelData = new Int16Array(image.width * image.height * image.components);\n image.pixelData.set(new Int16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length));\n } else {\n image.pixelData = new Uint16Array(image.width * image.height * image.components);\n image.pixelData.set(new Uint16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length));\n }\n\n // free memory and return image object\n charLS._free(dataPtr);\n charLS._free(imagePtr);\n charLS._free(imagePtrPtr);\n charLS._free(imageSizePtr);\n charLS._free(widthPtr);\n charLS._free(heightPtr);\n charLS._free(bitsPerSamplePtr);\n charLS._free(stridePtr);\n charLS._free(componentsPtr);\n charLS._free(interleaveModePtr);\n\n return image;\n}\n\nfunction initializeJPEGLS() {\n // check to make sure codec is loaded\n if (typeof CharLS === 'undefined') {\n throw 'No JPEG-LS decoder loaded';\n }\n\n // Try to initialize CharLS\n // CharLS https://github.com/chafey/charls\n if (!charLS) {\n charLS = CharLS();\n if (!charLS || !charLS._jpegls_decode) {\n throw 'JPEG-LS failed to initialize';\n }\n }\n}\n\nfunction decodeJPEGLS(imageFrame, pixelData) {\n initializeJPEGLS();\n\n var image = jpegLSDecode(pixelData, imageFrame.pixelRepresentation === 1);\n // console.log(image);\n\n // throw error if not success or too much data\n if (image.result !== 0 && image.result !== 6) {\n throw 'JPEG-LS decoder failed to decode frame (error code ' + image.result + ')';\n }\n\n imageFrame.columns = image.width;\n imageFrame.rows = image.height;\n imageFrame.pixelData = image.pixelData;\n\n return imageFrame;\n}\n\nexports.default = decodeJPEGLS;\nexports.initializeJPEGLS = initializeJPEGLS;\n\n/***/ }),\n\n/***/ 38:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _decodeJPEG = __webpack_require__(33);\n\nvar _decodeJPEGLS = __webpack_require__(34);\n\nvar _getMinMax = __webpack_require__(60);\n\nvar _getMinMax2 = _interopRequireDefault(_getMinMax);\n\nvar _decodeImageFrame = __webpack_require__(54);\n\nvar _decodeImageFrame2 = _interopRequireDefault(_decodeImageFrame);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// flag to ensure codecs are loaded only once\nvar codecsLoaded = false;\n\n// the configuration object for the decodeTask\nvar decodeConfig = void 0;\n\n/**\n * Function to control loading and initializing the codecs\n * @param config\n */\nfunction loadCodecs(config) {\n // prevent loading codecs more than once\n if (codecsLoaded) {\n return;\n }\n\n // Load the codecs\n // console.time('loadCodecs');\n self.importScripts(config.decodeTask.codecsPath);\n codecsLoaded = true;\n // console.timeEnd('loadCodecs');\n\n // Initialize the codecs\n if (config.decodeTask.initializeCodecsOnStartup) {\n // console.time('initializeCodecs');\n (0, _decodeJPEG.initializeJPEG2000)(config.decodeTask);\n (0, _decodeJPEGLS.initializeJPEGLS)(config.decodeTask);\n // console.timeEnd('initializeCodecs');\n }\n}\n\n/**\n * Task initialization function\n */\nfunction decodeTaskInitialize(config) {\n decodeConfig = config;\n if (config.decodeTask.loadCodecsOnStartup) {\n loadCodecs(config);\n }\n}\n\nfunction calculateMinMax(imageFrame) {\n var minMax = (0, _getMinMax2.default)(imageFrame.pixelData);\n\n if (decodeConfig.decodeTask.strict === true) {\n if (imageFrame.smallestPixelValue !== minMax.min) {\n console.warn('Image smallestPixelValue tag is incorrect. Rendering performance will suffer considerably.');\n }\n\n if (imageFrame.largestPixelValue !== minMax.max) {\n console.warn('Image largestPixelValue tag is incorrect. Rendering performance will suffer considerably.');\n }\n } else {\n imageFrame.smallestPixelValue = minMax.min;\n imageFrame.largestPixelValue = minMax.max;\n }\n}\n\n/**\n * Task handler function\n */\nfunction decodeTaskHandler(data, doneCallback) {\n // Load the codecs if they aren't already loaded\n loadCodecs(decodeConfig);\n\n var imageFrame = data.data.imageFrame;\n\n // convert pixel data from ArrayBuffer to Uint8Array since web workers support passing ArrayBuffers but\n // not typed arrays\n var pixelData = new Uint8Array(data.data.pixelData);\n\n (0, _decodeImageFrame2.default)(imageFrame, data.data.transferSyntax, pixelData, decodeConfig.decodeTask, data.data.options);\n\n calculateMinMax(imageFrame);\n\n // convert from TypedArray to ArrayBuffer since web workers support passing ArrayBuffers but not\n // typed arrays\n imageFrame.pixelData = imageFrame.pixelData.buffer;\n\n // invoke the callback with our result and pass the pixelData in the transferList to move it to\n // UI thread without making a copy\n doneCallback(imageFrame, [imageFrame.pixelData]);\n}\n\nexports.default = {\n taskType: 'decodeTask',\n handler: decodeTaskHandler,\n initialize: decodeTaskInitialize\n};\n\n/***/ }),\n\n/***/ 39:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.registerTaskHandler = registerTaskHandler;\n// an object of task handlers\nvar taskHandlers = {};\n\n// Flag to ensure web worker is only initialized once\nvar initialized = false;\n\n// the configuration object passed in when the web worker manager is initialized\nvar config = void 0;\n\n/**\n * Initialization function that loads additional web workers and initializes them\n * @param data\n */\nfunction initialize(data) {\n // console.log('web worker initialize ', data.workerIndex);\n // prevent initialization from happening more than once\n if (initialized) {\n return;\n }\n\n // save the config data\n config = data.config;\n\n // load any additional web worker tasks\n if (data.config.webWorkerTaskPaths) {\n for (var i = 0; i < data.config.webWorkerTaskPaths.length; i++) {\n self.importScripts(data.config.webWorkerTaskPaths[i]);\n }\n }\n\n // initialize each task handler\n Object.keys(taskHandlers).forEach(function (key) {\n taskHandlers[key].initialize(config.taskConfiguration);\n });\n\n // tell main ui thread that we have completed initialization\n self.postMessage({\n taskType: 'initialize',\n status: 'success',\n result: {},\n workerIndex: data.workerIndex\n });\n\n initialized = true;\n}\n\n/**\n * Function exposed to web worker tasks to register themselves\n * @param taskHandler\n */\nfunction registerTaskHandler(taskHandler) {\n if (taskHandlers[taskHandler.taskType]) {\n console.log('attempt to register duplicate task handler \"', taskHandler.taskType, '\"');\n\n return false;\n }\n taskHandlers[taskHandler.taskType] = taskHandler;\n if (initialized) {\n taskHandler.initialize(config.taskConfiguration);\n }\n}\n\n/**\n * Function to load a new web worker task with updated configuration\n * @param data\n */\nfunction loadWebWorkerTask(data) {\n config = data.config;\n self.importScripts(data.sourcePath);\n}\n\n/**\n * Web worker message handler - dispatches messages to the registered task handlers\n * @param msg\n */\nself.onmessage = function (msg) {\n // console.log('web worker onmessage', msg.data);\n\n // handle initialize message\n if (msg.data.taskType === 'initialize') {\n initialize(msg.data);\n\n return;\n }\n\n // handle loadWebWorkerTask message\n if (msg.data.taskType === 'loadWebWorkerTask') {\n loadWebWorkerTask(msg.data);\n\n return;\n }\n\n // dispatch the message if there is a handler registered for it\n if (taskHandlers[msg.data.taskType]) {\n taskHandlers[msg.data.taskType].handler(msg.data, function (result, transferList) {\n self.postMessage({\n taskType: msg.data.taskType,\n status: 'success',\n result: result,\n workerIndex: msg.data.workerIndex\n }, transferList);\n });\n\n return;\n }\n\n // not task handler registered - send a failure message back to ui thread\n console.log('no task handler for ', msg.data.taskType);\n console.log(taskHandlers);\n self.postMessage({\n taskType: msg.data.taskType,\n status: 'failed - no task handler registered',\n workerIndex: msg.data.workerIndex\n });\n};\n\n/***/ }),\n\n/***/ 54:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _decodeLittleEndian = __webpack_require__(58);\n\nvar _decodeLittleEndian2 = _interopRequireDefault(_decodeLittleEndian);\n\nvar _decodeBigEndian = __webpack_require__(55);\n\nvar _decodeBigEndian2 = _interopRequireDefault(_decodeBigEndian);\n\nvar _decodeRLE = __webpack_require__(59);\n\nvar _decodeRLE2 = _interopRequireDefault(_decodeRLE);\n\nvar _decodeJPEGBaseline = __webpack_require__(56);\n\nvar _decodeJPEGBaseline2 = _interopRequireDefault(_decodeJPEGBaseline);\n\nvar _decodeJPEGLossless = __webpack_require__(57);\n\nvar _decodeJPEGLossless2 = _interopRequireDefault(_decodeJPEGLossless);\n\nvar _decodeJPEGLS = __webpack_require__(34);\n\nvar _decodeJPEGLS2 = _interopRequireDefault(_decodeJPEGLS);\n\nvar _decodeJPEG = __webpack_require__(33);\n\nvar _decodeJPEG2 = _interopRequireDefault(_decodeJPEG);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction decodeImageFrame(imageFrame, transferSyntax, pixelData, decodeConfig, options) {\n var start = new Date().getTime();\n\n if (transferSyntax === '1.2.840.10008.1.2') {\n // Implicit VR Little Endian\n imageFrame = (0, _decodeLittleEndian2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.1') {\n // Explicit VR Little Endian\n imageFrame = (0, _decodeLittleEndian2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.2') {\n // Explicit VR Big Endian (retired)\n imageFrame = (0, _decodeBigEndian2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.1.99') {\n // Deflate transfer syntax (deflated by dicomParser)\n imageFrame = (0, _decodeLittleEndian2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.5') {\n // RLE Lossless\n imageFrame = (0, _decodeRLE2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.50') {\n // JPEG Baseline lossy process 1 (8 bit)\n imageFrame = (0, _decodeJPEGBaseline2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.51') {\n // JPEG Baseline lossy process 2 & 4 (12 bit)\n imageFrame = (0, _decodeJPEGBaseline2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.57') {\n // JPEG Lossless, Nonhierarchical (Processes 14)\n imageFrame = (0, _decodeJPEGLossless2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.70') {\n // JPEG Lossless, Nonhierarchical (Processes 14 [Selection 1])\n imageFrame = (0, _decodeJPEGLossless2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.80') {\n // JPEG-LS Lossless Image Compression\n imageFrame = (0, _decodeJPEGLS2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.81') {\n // JPEG-LS Lossy (Near-Lossless) Image Compression\n imageFrame = (0, _decodeJPEGLS2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.90') {\n // JPEG 2000 Lossless\n imageFrame = (0, _decodeJPEG2.default)(imageFrame, pixelData, decodeConfig, options);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.91') {\n // JPEG 2000 Lossy\n imageFrame = (0, _decodeJPEG2.default)(imageFrame, pixelData, decodeConfig, options);\n } else {\n if (console && console.log) {\n console.log('Image cannot be decoded due to Unsupported transfer syntax ' + transferSyntax);\n }\n\n throw 'no decoder for transfer syntax ' + transferSyntax;\n }\n\n /* Don't know if these work...\n // JPEG 2000 Part 2 Multicomponent Image Compression (Lossless Only)\n else if(transferSyntax === \"1.2.840.10008.1.2.4.92\")\n {\n return decodeJPEG2000(dataSet, frame);\n }\n // JPEG 2000 Part 2 Multicomponent Image Compression\n else if(transferSyntax === \"1.2.840.10008.1.2.4.93\")\n {\n return decodeJPEG2000(dataSet, frame);\n }\n */\n\n var end = new Date().getTime();\n\n imageFrame.decodeTimeInMS = end - start;\n\n return imageFrame;\n}\n\nexports.default = decodeImageFrame;\n\n/***/ }),\n\n/***/ 55:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* eslint no-bitwise: 0 */\nfunction swap16(val) {\n return (val & 0xFF) << 8 | val >> 8 & 0xFF;\n}\n\nfunction decodeBigEndian(imageFrame, pixelData) {\n if (imageFrame.bitsAllocated === 16) {\n var arrayBuffer = pixelData.buffer;\n var offset = pixelData.byteOffset;\n var length = pixelData.length;\n // if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array\n // buffers on it\n\n if (offset % 2) {\n arrayBuffer = arrayBuffer.slice(offset);\n offset = 0;\n }\n\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2);\n } else {\n imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2);\n }\n // Do the byte swap\n for (var i = 0; i < imageFrame.pixelData.length; i++) {\n imageFrame.pixelData[i] = swap16(imageFrame.pixelData[i]);\n }\n } else if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = pixelData;\n }\n\n return imageFrame;\n}\n\nexports.default = decodeBigEndian;\n\n/***/ }),\n\n/***/ 56:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nfunction decodeJPEGBaseline(imageFrame, pixelData) {\n // check to make sure codec is loaded\n if (typeof JpegImage === 'undefined') {\n throw 'No JPEG Baseline decoder loaded';\n }\n var jpeg = new JpegImage();\n\n jpeg.parse(pixelData);\n\n // Do not use the internal jpeg.js color transformation,\n // since we will handle this afterwards\n jpeg.colorTransform = false;\n\n if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = jpeg.getData(imageFrame.columns, imageFrame.rows);\n\n return imageFrame;\n } else if (imageFrame.bitsAllocated === 16) {\n imageFrame.pixelData = jpeg.getData16(imageFrame.columns, imageFrame.rows);\n\n return imageFrame;\n }\n}\n\nexports.default = decodeJPEGBaseline;\n\n/***/ }),\n\n/***/ 57:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nfunction decodeJPEGLossless(imageFrame, pixelData) {\n // check to make sure codec is loaded\n if (typeof jpeg === 'undefined' || typeof jpeg.lossless === 'undefined' || typeof jpeg.lossless.Decoder === 'undefined') {\n throw 'No JPEG Lossless decoder loaded';\n }\n\n var byteOutput = imageFrame.bitsAllocated <= 8 ? 1 : 2;\n // console.time('jpeglossless');\n var buffer = pixelData.buffer;\n var decoder = new jpeg.lossless.Decoder();\n var decompressedData = decoder.decode(buffer, pixelData.byteOffset, pixelData.length, byteOutput);\n // console.timeEnd('jpeglossless');\n\n if (imageFrame.pixelRepresentation === 0) {\n if (imageFrame.bitsAllocated === 16) {\n imageFrame.pixelData = new Uint16Array(decompressedData.buffer);\n\n return imageFrame;\n }\n // untested!\n imageFrame.pixelData = new Uint8Array(decompressedData.buffer);\n\n return imageFrame;\n }\n imageFrame.pixelData = new Int16Array(decompressedData.buffer);\n\n return imageFrame;\n}\n\nexports.default = decodeJPEGLossless;\n\n/***/ }),\n\n/***/ 58:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction decodeLittleEndian(imageFrame, pixelData) {\n if (imageFrame.bitsAllocated === 16) {\n var arrayBuffer = pixelData.buffer;\n var offset = pixelData.byteOffset;\n var length = pixelData.length;\n // if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array\n // buffers on it\n\n if (offset % 2) {\n arrayBuffer = arrayBuffer.slice(offset);\n offset = 0;\n }\n\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2);\n } else {\n imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2);\n }\n } else if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = pixelData;\n }\n\n return imageFrame;\n}\n\nexports.default = decodeLittleEndian;\n\n/***/ }),\n\n/***/ 59:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction decodeRLE(imageFrame, pixelData) {\n\n if (imageFrame.bitsAllocated === 8) {\n if (imageFrame.planarConfiguration) {\n return decode8Planar(imageFrame, pixelData);\n }\n\n return decode8(imageFrame, pixelData);\n } else if (imageFrame.bitsAllocated === 16) {\n return decode16(imageFrame, pixelData);\n }\n throw 'unsupported pixel format for RLE';\n}\n\nfunction decode8(imageFrame, pixelData) {\n var frameData = pixelData;\n var frameSize = imageFrame.rows * imageFrame.columns;\n var outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel);\n var header = new DataView(frameData.buffer, frameData.byteOffset);\n var data = new Int8Array(frameData.buffer, frameData.byteOffset);\n var out = new Int8Array(outFrame);\n\n var outIndex = 0;\n var numSegments = header.getInt32(0, true);\n\n for (var s = 0; s < numSegments; ++s) {\n outIndex = s;\n\n var inIndex = header.getInt32((s + 1) * 4, true);\n var maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n var endOfSegment = frameSize * numSegments;\n\n while (inIndex < maxIndex) {\n var n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n // copy n bytes\n for (var i = 0; i < n + 1 && outIndex < endOfSegment; ++i) {\n out[outIndex] = data[inIndex++];\n outIndex += imageFrame.samplesPerPixel;\n }\n } else if (n <= -1 && n >= -127) {\n var value = data[inIndex++];\n // run of n bytes\n\n for (var j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) {\n out[outIndex] = value;\n outIndex += imageFrame.samplesPerPixel;\n }\n } /* else if (n === -128) {\n } // do nothing */\n }\n }\n imageFrame.pixelData = new Uint8Array(outFrame);\n\n return imageFrame;\n}\n\nfunction decode8Planar(imageFrame, pixelData) {\n var frameData = pixelData;\n var frameSize = imageFrame.rows * imageFrame.columns;\n var outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel);\n var header = new DataView(frameData.buffer, frameData.byteOffset);\n var data = new Int8Array(frameData.buffer, frameData.byteOffset);\n var out = new Int8Array(outFrame);\n\n var outIndex = 0;\n var numSegments = header.getInt32(0, true);\n\n for (var s = 0; s < numSegments; ++s) {\n outIndex = s * frameSize;\n\n var inIndex = header.getInt32((s + 1) * 4, true);\n var maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n var endOfSegment = frameSize * numSegments;\n\n while (inIndex < maxIndex) {\n var n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n // copy n bytes\n for (var i = 0; i < n + 1 && outIndex < endOfSegment; ++i) {\n out[outIndex] = data[inIndex++];\n outIndex++;\n }\n } else if (n <= -1 && n >= -127) {\n var value = data[inIndex++];\n // run of n bytes\n\n for (var j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) {\n out[outIndex] = value;\n outIndex++;\n }\n } /* else if (n === -128) {\n } // do nothing */\n }\n }\n imageFrame.pixelData = new Uint8Array(outFrame);\n\n return imageFrame;\n}\n\nfunction decode16(imageFrame, pixelData) {\n var frameData = pixelData;\n var frameSize = imageFrame.rows * imageFrame.columns;\n var outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel * 2);\n\n var header = new DataView(frameData.buffer, frameData.byteOffset);\n var data = new Int8Array(frameData.buffer, frameData.byteOffset);\n var out = new Int8Array(outFrame);\n\n var numSegments = header.getInt32(0, true);\n\n for (var s = 0; s < numSegments; ++s) {\n var outIndex = 0;\n var highByte = s === 0 ? 1 : 0;\n\n var inIndex = header.getInt32((s + 1) * 4, true);\n var maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n while (inIndex < maxIndex) {\n var n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n for (var i = 0; i < n + 1 && outIndex < frameSize; ++i) {\n out[outIndex * 2 + highByte] = data[inIndex++];\n outIndex++;\n }\n } else if (n <= -1 && n >= -127) {\n var value = data[inIndex++];\n\n for (var j = 0; j < -n + 1 && outIndex < frameSize; ++j) {\n out[outIndex * 2 + highByte] = value;\n outIndex++;\n }\n } /* else if (n === -128) {\n } // do nothing */\n }\n }\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(outFrame);\n } else {\n imageFrame.pixelData = new Int16Array(outFrame);\n }\n\n return imageFrame;\n}\n\nexports.default = decodeRLE;\n\n/***/ }),\n\n/***/ 60:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction getMinMax(storedPixelData) {\n // we always calculate the min max values since they are not always\n // present in DICOM and we don't want to trust them anyway as cornerstone\n // depends on us providing reliable values for these\n var min = storedPixelData[0];\n var max = storedPixelData[0];\n var storedPixel = void 0;\n var numPixels = storedPixelData.length;\n\n for (var index = 1; index < numPixels; index++) {\n storedPixel = storedPixelData[index];\n min = Math.min(min, storedPixel);\n max = Math.max(max, storedPixel);\n }\n\n return {\n min: min,\n max: max\n };\n}\n\nexports.default = getMinMax;\n\n/***/ }),\n\n/***/ 61:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.version = exports.registerTaskHandler = undefined;\n\nvar _version = __webpack_require__(3);\n\nObject.defineProperty(exports, 'version', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_version).default;\n }\n});\n\nvar _webWorker = __webpack_require__(39);\n\nvar _decodeTask = __webpack_require__(38);\n\nvar _decodeTask2 = _interopRequireDefault(_decodeTask);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// register our task\n(0, _webWorker.registerTaskHandler)(_decodeTask2.default);\n\nexports.registerTaskHandler = _webWorker.registerTaskHandler;\n\n/***/ })\n\n/******/ });\n});\n\n\n// WEBPACK FOOTER //\n// cornerstoneWADOImageLoaderWebWorker.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 61);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 495a94f4f47c0672c4cf","export default '0.14.7';\n\n\n\n// WEBPACK FOOTER //\n// ./version.js","\n\nfunction decodeJpx (imageFrame, pixelData) {\n\n const jpxImage = new JpxImage();\n\n jpxImage.parse(pixelData);\n\n const tileCount = jpxImage.tiles.length;\n\n if (tileCount !== 1) {\n throw `JPEG2000 decoder returned a tileCount of ${tileCount}, when 1 is expected`;\n }\n\n imageFrame.columns = jpxImage.width;\n imageFrame.rows = jpxImage.height;\n imageFrame.pixelData = jpxImage.tiles[0].items;\n\n return imageFrame;\n}\n\nlet openJPEG;\n\nfunction decodeOpenJPEG (data, bytesPerPixel, signed) {\n const dataPtr = openJPEG._malloc(data.length);\n\n openJPEG.writeArrayToMemory(data, dataPtr);\n\n // create param outpout\n const imagePtrPtr = openJPEG._malloc(4);\n const imageSizePtr = openJPEG._malloc(4);\n const imageSizeXPtr = openJPEG._malloc(4);\n const imageSizeYPtr = openJPEG._malloc(4);\n const imageSizeCompPtr = openJPEG._malloc(4);\n\n const t0 = Date.now();\n const ret = openJPEG.ccall('jp2_decode', 'number', ['number', 'number', 'number', 'number', 'number', 'number', 'number'],\n [dataPtr, data.length, imagePtrPtr, imageSizePtr, imageSizeXPtr, imageSizeYPtr, imageSizeCompPtr]);\n // add num vomp..etc\n\n if (ret !== 0) {\n console.log('[opj_decode] decoding failed!');\n openJPEG._free(dataPtr);\n openJPEG._free(openJPEG.getValue(imagePtrPtr, '*'));\n openJPEG._free(imageSizeXPtr);\n openJPEG._free(imageSizeYPtr);\n openJPEG._free(imageSizePtr);\n openJPEG._free(imageSizeCompPtr);\n\n return undefined;\n }\n\n const imagePtr = openJPEG.getValue(imagePtrPtr, '*');\n\n const image = {\n length: openJPEG.getValue(imageSizePtr, 'i32'),\n sx: openJPEG.getValue(imageSizeXPtr, 'i32'),\n sy: openJPEG.getValue(imageSizeYPtr, 'i32'),\n nbChannels: openJPEG.getValue(imageSizeCompPtr, 'i32'), // hard coded for now\n perf_timetodecode: undefined,\n pixelData: undefined\n };\n\n // Copy the data from the EMSCRIPTEN heap into the correct type array\n const length = image.sx * image.sy * image.nbChannels;\n const src32 = new Int32Array(openJPEG.HEAP32.buffer, imagePtr, length);\n\n if (bytesPerPixel === 1) {\n if (Uint8Array.from) {\n image.pixelData = Uint8Array.from(src32);\n } else {\n image.pixelData = new Uint8Array(length);\n for (let i = 0; i < length; i++) {\n image.pixelData[i] = src32[i];\n }\n }\n } else if (signed) {\n if (Int16Array.from) {\n image.pixelData = Int16Array.from(src32);\n } else {\n image.pixelData = new Int16Array(length);\n for (let i = 0; i < length; i++) {\n image.pixelData[i] = src32[i];\n }\n }\n } else if (Uint16Array.from) {\n image.pixelData = Uint16Array.from(src32);\n } else {\n image.pixelData = new Uint16Array(length);\n for (let i = 0; i < length; i++) {\n image.pixelData[i] = src32[i];\n }\n }\n\n const t1 = Date.now();\n\n image.perf_timetodecode = t1 - t0;\n\n // free\n openJPEG._free(dataPtr);\n openJPEG._free(imagePtrPtr);\n openJPEG._free(imagePtr);\n openJPEG._free(imageSizePtr);\n openJPEG._free(imageSizeXPtr);\n openJPEG._free(imageSizeYPtr);\n openJPEG._free(imageSizeCompPtr);\n\n return image;\n}\n\nfunction decodeOpenJpeg2000 (imageFrame, pixelData) {\n const bytesPerPixel = imageFrame.bitsAllocated <= 8 ? 1 : 2;\n const signed = imageFrame.pixelRepresentation === 1;\n\n const image = decodeOpenJPEG(pixelData, bytesPerPixel, signed);\n\n imageFrame.columns = image.sx;\n imageFrame.rows = image.sy;\n imageFrame.pixelData = image.pixelData;\n if (image.nbChannels > 1) {\n imageFrame.photometricInterpretation = 'RGB';\n }\n\n return imageFrame;\n}\n\nfunction initializeJPEG2000 (decodeConfig) {\n // check to make sure codec is loaded\n if (!decodeConfig.usePDFJS) {\n if (typeof OpenJPEG === 'undefined') {\n throw 'OpenJPEG decoder not loaded';\n }\n }\n\n if (!openJPEG) {\n openJPEG = OpenJPEG();\n if (!openJPEG || !openJPEG._jp2_decode) {\n throw 'OpenJPEG failed to initialize';\n }\n }\n}\n\nfunction decodeJPEG2000 (imageFrame, pixelData, decodeConfig, options) {\n options = options || {};\n\n initializeJPEG2000(decodeConfig);\n\n if (options.usePDFJS || decodeConfig.usePDFJS) {\n // OHIF image-JPEG2000 https://github.com/OHIF/image-JPEG2000\n // console.log('PDFJS')\n return decodeJpx(imageFrame, pixelData);\n }\n\n // OpenJPEG2000 https://github.com/jpambrun/openjpeg\n // console.log('OpenJPEG')\n return decodeOpenJpeg2000(imageFrame, pixelData);\n}\n\nexport default decodeJPEG2000;\nexport { initializeJPEG2000 };\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeJPEG2000.js","\n\nlet charLS;\n\nfunction jpegLSDecode (data, isSigned) {\n\n // prepare input parameters\n const dataPtr = charLS._malloc(data.length);\n\n charLS.writeArrayToMemory(data, dataPtr);\n\n // prepare output parameters\n const imagePtrPtr = charLS._malloc(4);\n const imageSizePtr = charLS._malloc(4);\n const widthPtr = charLS._malloc(4);\n const heightPtr = charLS._malloc(4);\n const bitsPerSamplePtr = charLS._malloc(4);\n const stridePtr = charLS._malloc(4);\n const allowedLossyErrorPtr = charLS._malloc(4);\n const componentsPtr = charLS._malloc(4);\n const interleaveModePtr = charLS._malloc(4);\n\n // Decode the image\n const result = charLS.ccall(\n 'jpegls_decode',\n 'number',\n ['number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number'],\n [dataPtr, data.length, imagePtrPtr, imageSizePtr, widthPtr, heightPtr, bitsPerSamplePtr, stridePtr, componentsPtr, allowedLossyErrorPtr, interleaveModePtr]\n );\n\n // Extract result values into object\n const image = {\n result,\n width: charLS.getValue(widthPtr, 'i32'),\n height: charLS.getValue(heightPtr, 'i32'),\n bitsPerSample: charLS.getValue(bitsPerSamplePtr, 'i32'),\n stride: charLS.getValue(stridePtr, 'i32'),\n components: charLS.getValue(componentsPtr, 'i32'),\n allowedLossyError: charLS.getValue(allowedLossyErrorPtr, 'i32'),\n interleaveMode: charLS.getValue(interleaveModePtr, 'i32'),\n pixelData: undefined\n };\n\n // Copy image from emscripten heap into appropriate array buffer type\n const imagePtr = charLS.getValue(imagePtrPtr, '*');\n\n if (image.bitsPerSample <= 8) {\n image.pixelData = new Uint8Array(image.width * image.height * image.components);\n image.pixelData.set(new Uint8Array(charLS.HEAP8.buffer, imagePtr, image.pixelData.length));\n } else if (isSigned) {\n image.pixelData = new Int16Array(image.width * image.height * image.components);\n image.pixelData.set(new Int16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length));\n } else {\n image.pixelData = new Uint16Array(image.width * image.height * image.components);\n image.pixelData.set(new Uint16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length));\n }\n\n // free memory and return image object\n charLS._free(dataPtr);\n charLS._free(imagePtr);\n charLS._free(imagePtrPtr);\n charLS._free(imageSizePtr);\n charLS._free(widthPtr);\n charLS._free(heightPtr);\n charLS._free(bitsPerSamplePtr);\n charLS._free(stridePtr);\n charLS._free(componentsPtr);\n charLS._free(interleaveModePtr);\n\n return image;\n}\n\nfunction initializeJPEGLS () {\n // check to make sure codec is loaded\n if (typeof CharLS === 'undefined') {\n throw 'No JPEG-LS decoder loaded';\n }\n\n // Try to initialize CharLS\n // CharLS https://github.com/chafey/charls\n if (!charLS) {\n charLS = CharLS();\n if (!charLS || !charLS._jpegls_decode) {\n throw 'JPEG-LS failed to initialize';\n }\n }\n\n}\n\nfunction decodeJPEGLS (imageFrame, pixelData) {\n initializeJPEGLS();\n\n const image = jpegLSDecode(pixelData, imageFrame.pixelRepresentation === 1);\n // console.log(image);\n\n // throw error if not success or too much data\n if (image.result !== 0 && image.result !== 6) {\n throw `JPEG-LS decoder failed to decode frame (error code ${image.result})`;\n }\n\n imageFrame.columns = image.width;\n imageFrame.rows = image.height;\n imageFrame.pixelData = image.pixelData;\n\n return imageFrame;\n}\n\nexport default decodeJPEGLS;\nexport { initializeJPEGLS };\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeJPEGLS.js","import { initializeJPEG2000 } from './decoders/decodeJPEG2000.js';\nimport { initializeJPEGLS } from './decoders/decodeJPEGLS.js';\nimport getMinMax from './getMinMax.js';\nimport decodeImageFrame from './decodeImageFrame.js';\n\n// flag to ensure codecs are loaded only once\nlet codecsLoaded = false;\n\n// the configuration object for the decodeTask\nlet decodeConfig;\n\n/**\n * Function to control loading and initializing the codecs\n * @param config\n */\nfunction loadCodecs (config) {\n // prevent loading codecs more than once\n if (codecsLoaded) {\n return;\n }\n\n // Load the codecs\n // console.time('loadCodecs');\n self.importScripts(config.decodeTask.codecsPath);\n codecsLoaded = true;\n // console.timeEnd('loadCodecs');\n\n // Initialize the codecs\n if (config.decodeTask.initializeCodecsOnStartup) {\n // console.time('initializeCodecs');\n initializeJPEG2000(config.decodeTask);\n initializeJPEGLS(config.decodeTask);\n // console.timeEnd('initializeCodecs');\n }\n}\n\n/**\n * Task initialization function\n */\nfunction decodeTaskInitialize (config) {\n decodeConfig = config;\n if (config.decodeTask.loadCodecsOnStartup) {\n loadCodecs(config);\n }\n}\n\nfunction calculateMinMax (imageFrame) {\n const minMax = getMinMax(imageFrame.pixelData);\n\n if (decodeConfig.decodeTask.strict === true) {\n if (imageFrame.smallestPixelValue !== minMax.min) {\n console.warn('Image smallestPixelValue tag is incorrect. Rendering performance will suffer considerably.');\n }\n\n if (imageFrame.largestPixelValue !== minMax.max) {\n console.warn('Image largestPixelValue tag is incorrect. Rendering performance will suffer considerably.');\n }\n } else {\n imageFrame.smallestPixelValue = minMax.min;\n imageFrame.largestPixelValue = minMax.max;\n }\n}\n\n/**\n * Task handler function\n */\nfunction decodeTaskHandler (data, doneCallback) {\n // Load the codecs if they aren't already loaded\n loadCodecs(decodeConfig);\n\n const imageFrame = data.data.imageFrame;\n\n // convert pixel data from ArrayBuffer to Uint8Array since web workers support passing ArrayBuffers but\n // not typed arrays\n const pixelData = new Uint8Array(data.data.pixelData);\n\n decodeImageFrame(\n imageFrame,\n data.data.transferSyntax,\n pixelData,\n decodeConfig.decodeTask,\n data.data.options);\n\n calculateMinMax(imageFrame);\n\n // convert from TypedArray to ArrayBuffer since web workers support passing ArrayBuffers but not\n // typed arrays\n imageFrame.pixelData = imageFrame.pixelData.buffer;\n\n // invoke the callback with our result and pass the pixelData in the transferList to move it to\n // UI thread without making a copy\n doneCallback(imageFrame, [imageFrame.pixelData]);\n}\n\nexport default {\n taskType: 'decodeTask',\n handler: decodeTaskHandler,\n initialize: decodeTaskInitialize\n};\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decodeTask.js","// an object of task handlers\nconst taskHandlers = {};\n\n// Flag to ensure web worker is only initialized once\nlet initialized = false;\n\n// the configuration object passed in when the web worker manager is initialized\nlet config;\n\n/**\n * Initialization function that loads additional web workers and initializes them\n * @param data\n */\nfunction initialize (data) {\n // console.log('web worker initialize ', data.workerIndex);\n // prevent initialization from happening more than once\n if (initialized) {\n return;\n }\n\n // save the config data\n config = data.config;\n\n // load any additional web worker tasks\n if (data.config.webWorkerTaskPaths) {\n for (let i = 0; i < data.config.webWorkerTaskPaths.length; i++) {\n self.importScripts(data.config.webWorkerTaskPaths[i]);\n }\n }\n\n // initialize each task handler\n Object.keys(taskHandlers).forEach(function (key) {\n taskHandlers[key].initialize(config.taskConfiguration);\n });\n\n // tell main ui thread that we have completed initialization\n self.postMessage({\n taskType: 'initialize',\n status: 'success',\n result: {\n },\n workerIndex: data.workerIndex\n });\n\n initialized = true;\n}\n\n/**\n * Function exposed to web worker tasks to register themselves\n * @param taskHandler\n */\nexport function registerTaskHandler (taskHandler) {\n if (taskHandlers[taskHandler.taskType]) {\n console.log('attempt to register duplicate task handler \"', taskHandler.taskType, '\"');\n\n return false;\n }\n taskHandlers[taskHandler.taskType] = taskHandler;\n if (initialized) {\n taskHandler.initialize(config.taskConfiguration);\n }\n}\n\n/**\n * Function to load a new web worker task with updated configuration\n * @param data\n */\nfunction loadWebWorkerTask (data) {\n config = data.config;\n self.importScripts(data.sourcePath);\n}\n\n/**\n * Web worker message handler - dispatches messages to the registered task handlers\n * @param msg\n */\nself.onmessage = function (msg) {\n // console.log('web worker onmessage', msg.data);\n\n // handle initialize message\n if (msg.data.taskType === 'initialize') {\n initialize(msg.data);\n\n return;\n }\n\n // handle loadWebWorkerTask message\n if (msg.data.taskType === 'loadWebWorkerTask') {\n loadWebWorkerTask(msg.data);\n\n return;\n }\n\n // dispatch the message if there is a handler registered for it\n if (taskHandlers[msg.data.taskType]) {\n taskHandlers[msg.data.taskType].handler(msg.data, function (result, transferList) {\n self.postMessage({\n taskType: msg.data.taskType,\n status: 'success',\n result,\n workerIndex: msg.data.workerIndex\n }, transferList);\n });\n\n return;\n }\n\n // not task handler registered - send a failure message back to ui thread\n console.log('no task handler for ', msg.data.taskType);\n console.log(taskHandlers);\n self.postMessage({\n taskType: msg.data.taskType,\n status: 'failed - no task handler registered',\n workerIndex: msg.data.workerIndex\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/webWorker.js","import decodeLittleEndian from './decoders/decodeLittleEndian.js';\nimport decodeBigEndian from './decoders/decodeBigEndian.js';\nimport decodeRLE from './decoders/decodeRLE.js';\nimport decodeJPEGBaseline from './decoders/decodeJPEGBaseline.js';\nimport decodeJPEGLossless from './decoders/decodeJPEGLossless.js';\nimport decodeJPEGLS from './decoders/decodeJPEGLS.js';\nimport decodeJPEG2000 from './decoders/decodeJPEG2000.js';\n\nfunction decodeImageFrame (imageFrame, transferSyntax, pixelData, decodeConfig, options) {\n const start = new Date().getTime();\n\n if (transferSyntax === '1.2.840.10008.1.2') {\n // Implicit VR Little Endian\n imageFrame = decodeLittleEndian(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.1') {\n // Explicit VR Little Endian\n imageFrame = decodeLittleEndian(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.2') {\n // Explicit VR Big Endian (retired)\n imageFrame = decodeBigEndian(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.1.99') {\n // Deflate transfer syntax (deflated by dicomParser)\n imageFrame = decodeLittleEndian(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.5') {\n // RLE Lossless\n imageFrame = decodeRLE(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.50') {\n // JPEG Baseline lossy process 1 (8 bit)\n imageFrame = decodeJPEGBaseline(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.51') {\n // JPEG Baseline lossy process 2 & 4 (12 bit)\n imageFrame = decodeJPEGBaseline(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.57') {\n // JPEG Lossless, Nonhierarchical (Processes 14)\n imageFrame = decodeJPEGLossless(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.70') {\n // JPEG Lossless, Nonhierarchical (Processes 14 [Selection 1])\n imageFrame = decodeJPEGLossless(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.80') {\n // JPEG-LS Lossless Image Compression\n imageFrame = decodeJPEGLS(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.81') {\n // JPEG-LS Lossy (Near-Lossless) Image Compression\n imageFrame = decodeJPEGLS(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.90') {\n // JPEG 2000 Lossless\n imageFrame = decodeJPEG2000(imageFrame, pixelData, decodeConfig, options);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.91') {\n // JPEG 2000 Lossy\n imageFrame = decodeJPEG2000(imageFrame, pixelData, decodeConfig, options);\n } else {\n if (console && console.log) {\n console.log(`Image cannot be decoded due to Unsupported transfer syntax ${transferSyntax}`);\n }\n\n throw `no decoder for transfer syntax ${transferSyntax}`;\n }\n\n /* Don't know if these work...\n // JPEG 2000 Part 2 Multicomponent Image Compression (Lossless Only)\n else if(transferSyntax === \"1.2.840.10008.1.2.4.92\")\n {\n return decodeJPEG2000(dataSet, frame);\n }\n // JPEG 2000 Part 2 Multicomponent Image Compression\n else if(transferSyntax === \"1.2.840.10008.1.2.4.93\")\n {\n return decodeJPEG2000(dataSet, frame);\n }\n */\n\n const end = new Date().getTime();\n\n imageFrame.decodeTimeInMS = end - start;\n\n return imageFrame;\n}\n\nexport default decodeImageFrame;\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decodeImageFrame.js","/* eslint no-bitwise: 0 */\nfunction swap16 (val) {\n return ((val & 0xFF) << 8) |\n ((val >> 8) & 0xFF);\n}\n\n\nfunction decodeBigEndian (imageFrame, pixelData) {\n if (imageFrame.bitsAllocated === 16) {\n let arrayBuffer = pixelData.buffer;\n let offset = pixelData.byteOffset;\n const length = pixelData.length;\n // if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array\n // buffers on it\n\n if (offset % 2) {\n arrayBuffer = arrayBuffer.slice(offset);\n offset = 0;\n }\n\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2);\n } else {\n imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2);\n }\n // Do the byte swap\n for (let i = 0; i < imageFrame.pixelData.length; i++) {\n imageFrame.pixelData[i] = swap16(imageFrame.pixelData[i]);\n }\n\n } else if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = pixelData;\n }\n\n return imageFrame;\n}\n\nexport default decodeBigEndian;\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeBigEndian.js","\n\nfunction decodeJPEGBaseline (imageFrame, pixelData) {\n // check to make sure codec is loaded\n if (typeof JpegImage === 'undefined') {\n throw 'No JPEG Baseline decoder loaded';\n }\n const jpeg = new JpegImage();\n\n jpeg.parse(pixelData);\n\n // Do not use the internal jpeg.js color transformation,\n // since we will handle this afterwards\n jpeg.colorTransform = false;\n\n if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = jpeg.getData(imageFrame.columns, imageFrame.rows);\n\n return imageFrame;\n } else if (imageFrame.bitsAllocated === 16) {\n imageFrame.pixelData = jpeg.getData16(imageFrame.columns, imageFrame.rows);\n\n return imageFrame;\n }\n}\n\nexport default decodeJPEGBaseline;\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeJPEGBaseline.js","\n\nfunction decodeJPEGLossless (imageFrame, pixelData) {\n // check to make sure codec is loaded\n if (typeof jpeg === 'undefined' ||\n typeof jpeg.lossless === 'undefined' ||\n typeof jpeg.lossless.Decoder === 'undefined') {\n throw 'No JPEG Lossless decoder loaded';\n }\n\n const byteOutput = imageFrame.bitsAllocated <= 8 ? 1 : 2;\n // console.time('jpeglossless');\n const buffer = pixelData.buffer;\n const decoder = new jpeg.lossless.Decoder();\n const decompressedData = decoder.decode(buffer, pixelData.byteOffset, pixelData.length, byteOutput);\n // console.timeEnd('jpeglossless');\n\n if (imageFrame.pixelRepresentation === 0) {\n if (imageFrame.bitsAllocated === 16) {\n imageFrame.pixelData = new Uint16Array(decompressedData.buffer);\n\n return imageFrame;\n }\n // untested!\n imageFrame.pixelData = new Uint8Array(decompressedData.buffer);\n\n return imageFrame;\n\n }\n imageFrame.pixelData = new Int16Array(decompressedData.buffer);\n\n return imageFrame;\n\n}\n\nexport default decodeJPEGLossless;\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeJPEGLossless.js","function decodeLittleEndian (imageFrame, pixelData) {\n if (imageFrame.bitsAllocated === 16) {\n let arrayBuffer = pixelData.buffer;\n let offset = pixelData.byteOffset;\n const length = pixelData.length;\n // if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array\n // buffers on it\n\n if (offset % 2) {\n arrayBuffer = arrayBuffer.slice(offset);\n offset = 0;\n }\n\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2);\n } else {\n imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2);\n }\n } else if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = pixelData;\n }\n\n return imageFrame;\n}\n\nexport default decodeLittleEndian;\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeLittleEndian.js","function decodeRLE (imageFrame, pixelData) {\n\n if (imageFrame.bitsAllocated === 8) {\n if (imageFrame.planarConfiguration) {\n return decode8Planar(imageFrame, pixelData);\n }\n\n return decode8(imageFrame, pixelData);\n } else if (imageFrame.bitsAllocated === 16) {\n return decode16(imageFrame, pixelData);\n }\n throw 'unsupported pixel format for RLE';\n\n}\n\nfunction decode8 (imageFrame, pixelData) {\n const frameData = pixelData;\n const frameSize = imageFrame.rows * imageFrame.columns;\n const outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel);\n const header = new DataView(frameData.buffer, frameData.byteOffset);\n const data = new Int8Array(frameData.buffer, frameData.byteOffset);\n const out = new Int8Array(outFrame);\n\n let outIndex = 0;\n const numSegments = header.getInt32(0, true);\n\n for (let s = 0; s < numSegments; ++s) {\n outIndex = s;\n\n let inIndex = header.getInt32((s + 1) * 4, true);\n let maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n const endOfSegment = frameSize * numSegments;\n\n while (inIndex < maxIndex) {\n const n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n // copy n bytes\n for (let i = 0; i < n + 1 && outIndex < endOfSegment; ++i) {\n out[outIndex] = data[inIndex++];\n outIndex += imageFrame.samplesPerPixel;\n }\n } else if (n <= -1 && n >= -127) {\n const value = data[inIndex++];\n // run of n bytes\n\n for (let j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) {\n out[outIndex] = value;\n outIndex += imageFrame.samplesPerPixel;\n }\n }/* else if (n === -128) {\n\n } // do nothing */\n }\n }\n imageFrame.pixelData = new Uint8Array(outFrame);\n\n return imageFrame;\n}\n\nfunction decode8Planar (imageFrame, pixelData) {\n const frameData = pixelData;\n const frameSize = imageFrame.rows * imageFrame.columns;\n const outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel);\n const header = new DataView(frameData.buffer, frameData.byteOffset);\n const data = new Int8Array(frameData.buffer, frameData.byteOffset);\n const out = new Int8Array(outFrame);\n\n let outIndex = 0;\n const numSegments = header.getInt32(0, true);\n\n for (let s = 0; s < numSegments; ++s) {\n outIndex = s * frameSize;\n\n let inIndex = header.getInt32((s + 1) * 4, true);\n let maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n const endOfSegment = frameSize * numSegments;\n\n while (inIndex < maxIndex) {\n const n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n // copy n bytes\n for (let i = 0; i < n + 1 && outIndex < endOfSegment; ++i) {\n out[outIndex] = data[inIndex++];\n outIndex++;\n }\n } else if (n <= -1 && n >= -127) {\n const value = data[inIndex++];\n // run of n bytes\n\n for (let j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) {\n out[outIndex] = value;\n outIndex++;\n }\n }/* else if (n === -128) {\n\n } // do nothing */\n }\n }\n imageFrame.pixelData = new Uint8Array(outFrame);\n\n return imageFrame;\n}\n\nfunction decode16 (imageFrame, pixelData) {\n const frameData = pixelData;\n const frameSize = imageFrame.rows * imageFrame.columns;\n const outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel * 2);\n\n const header = new DataView(frameData.buffer, frameData.byteOffset);\n const data = new Int8Array(frameData.buffer, frameData.byteOffset);\n const out = new Int8Array(outFrame);\n\n const numSegments = header.getInt32(0, true);\n\n for (let s = 0; s < numSegments; ++s) {\n let outIndex = 0;\n const highByte = (s === 0 ? 1 : 0);\n\n let inIndex = header.getInt32((s + 1) * 4, true);\n let maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n while (inIndex < maxIndex) {\n const n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n for (let i = 0; i < n + 1 && outIndex < frameSize; ++i) {\n out[(outIndex * 2) + highByte] = data[inIndex++];\n outIndex++;\n }\n } else if (n <= -1 && n >= -127) {\n const value = data[inIndex++];\n\n for (let j = 0; j < -n + 1 && outIndex < frameSize; ++j) {\n out[(outIndex * 2) + highByte] = value;\n outIndex++;\n }\n }/* else if (n === -128) {\n\n } // do nothing */\n }\n }\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(outFrame);\n } else {\n imageFrame.pixelData = new Int16Array(outFrame);\n }\n\n return imageFrame;\n}\n\nexport default decodeRLE;\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeRLE.js","function getMinMax (storedPixelData) {\n // we always calculate the min max values since they are not always\n // present in DICOM and we don't want to trust them anyway as cornerstone\n // depends on us providing reliable values for these\n let min = storedPixelData[0];\n let max = storedPixelData[0];\n let storedPixel;\n const numPixels = storedPixelData.length;\n\n for (let index = 1; index < numPixels; index++) {\n storedPixel = storedPixelData[index];\n min = Math.min(min, storedPixel);\n max = Math.max(max, storedPixel);\n }\n\n return {\n min,\n max\n };\n}\n\nexport default getMinMax;\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/getMinMax.js","import { registerTaskHandler } from './webWorker.js';\nimport decodeTask from './decodeTask/decodeTask.js';\n\n// register our task\nregisterTaskHandler(decodeTask);\n\nexport { registerTaskHandler };\nexport { default as version } from '../version.js';\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/index.js"],"sourceRoot":""} \ No newline at end of file